1.  tf.split(3, group, input)  # 拆分函数
    3 表示的是在第三个维度上, group表示拆分的次数, input 表示输入的值

import tensorflow as tf
import numpy as np x = [[1, 2], [3, 4]]
Y = tf.split(axis=1, num_or_size_splits=2, value=x) sess = tf.Session()
for y in Y:
print(sess.run(y))

2.  tf.concat(3, input) # 串接函数
    3 表示的是在第三个维度上, input表示的是输入,输入一般都是列表

import tensorflow as tf

x = [[1, 2], [3, 4]]
y = tf.concat(x, axis=0) sess = tf.Session()
print(sess.run(y))

3. tf.squeeze(input, squeeze_dims=[1, 2]) # 表示的是去除列数为1的维度, squeeze_dim 指定维度

import tensorflow as tf
import numpy as np x = [[1, 2]]
print(np.array(x).shape)
y = tf.squeeze(x, axis=[0]) sess = tf.Session() print(sess.run(y))

4. tf.less_equal(a, b)  a 可以是一个列表, b表示需要比较的数,如果比b大返回false,否者返回True

import tensorflow as tf
import numpy as np raw_gt = [1, 2, 3, 4] y = tf.where(tf.less_equal(raw_gt, 2)) sess = tf.Session() print(sess.run(y))

5.tf.where(input)   # 返回是真的序号,通过tf.where找出小于等于2的数的序号

import tensorflow as tf
import numpy as np raw_gt = [1, 2, 3, 4] y = tf.where(tf.less_equal(raw_gt, 2)) sess = tf.Session()
print(sess.run(y))

6. tf.gather   # 根据序列号对数据进行取值,输入的是input, index

import tensorflow as tf
import numpy as np raw_gt = [3, 4, 5, 6] y = tf.gather(raw_gt, [[0], [1]]) sess = tf.Session()
print(sess.run(y))

7. tf.cast(input, tf.float32)  # 主要目的是进行数值类型转换

import tensorflow as tf
import numpy as np raw_gt = [3.0, 4.0, 5.0, 6.0] y = tf.cast(raw_gt, tf.int32) sess = tf.Session()
print(sess.run(y))

8. tf.expand_dims(input, axis=1) # 进行矩阵维度的扩增

import tensorflow as tf
import numpy as np raw_gt = [3.0, 4.0, 5.0, 6.0] y = tf.expand_dims(raw_gt, axis=1) sess = tf.Session()
print(sess.run(tf.shape(y)))

9. tf.argmax(input, axis=1)  根据维度找出这个维度下的最大值的序号, axis=0 表示找出每一行中的最大值, axis=1,表示找出每一列的最大值

import tensorflow as tf
import numpy as np raw_gt = [[3.0, 4.0], [5.0, 3]] y = tf.argmax(raw_gt, axis=1) sess = tf.Session()
print(sess.run(y))

1o. tf.reshape(input, shape)  # tf.reshape主要用于数据的shape重新组合

import tensorflow as tf
import numpy as np a = [[1, 2], [3, 4]]
y = tf.reshape(a, [-1, 4]) sess = tf.Session()
print(sess.run(y))

11. tf.stack(input, axis)   # 进行数据的拼接,为了去除一个维度

import tensorflow as tf
distort_left_right_random = tf.random_uniform([1], 0, 1.0, dtype=tf.float32)[0]
mirror = tf.less(tf.stack([1.0, 0.8, 1.0]), 0.5)
sess = tf.Session()
print(sess.run(mirror))
mirror = tf.boolean_mask([0, 1, 2], mirror) sess = tf.Session()
print(sess.run(mirror))

12.tf.less(a, b)  # 如果a小于b返回True

13.tf.boolean_mask # 找出数据中是True的位置

mirror = tf.boolean_mask([0, 1, 2], [True, False, False])

sess = tf.Session()
print(sess.run(mirror))

13 tf.slice # 根据给出的起始位置进行数据的抽取

# tf.slice
# import tensorflow as tf
# import numpy as np
# x=[[1,2,3],[4,5,6]]
# y=np.arange(24).reshape([2,3,4])
# z=tf.constant([[[1,2,3],[4,5,6]], [[7,8,9],[10,11,12]], [[13,14,15],[16,17,18]]])
# sess=tf.Session()
# begin_x=[1,0] #第一个1,决定了从x的第二行[4,5,6]开始,第二个0,决定了从[4,5,6] 中的4开始抽取
# size_x=[1,2] # 第一个1决定了,从第二行以起始位置抽取1行,也就是只抽取[4,5,6] 这一行,在这一行中从4开始抽取2个元素
# out=tf.slice(x,begin_x,size_x)
# print(sess.run(out))

14 .tf.reduce_sum(input) 表示将所有的进行相加

15 .tf.gfile.MakeDirs(train_dir)  # 根据train_dir创建文件夹

import tensorflow as tf

train_dir = 'make/'
tf.gfile.MakeDirs(train_dir)

16. tf.gfile.IsDirectory(train_dir)   # 判断是否是文件夹

if tf.gfile.IsDirectory(train_dir):
print('')
else:
print('')

17.tf.transpose(input, [1, 0]) # 表示将第一维的大小与第二维度进行调换

import tensorflow as tf
import numpy as np x = [[1, 2, 3, 4], [1, 2, 4, 3]]
print(np.shape(x))
sess = tf.Session()
# 进行维度的变化,perm表示将第一二维度转换为第一个维度
print(sess.run(tf.transpose(x, perm=[1, 0])))

tensorflow 基本函数(1.tf.split, 2.tf.concat,3.tf.squeeze, 4.tf.less_equal, 5.tf.where, 6.tf.gather, 7.tf.cast, 8.tf.expand_dims, 9.tf.argmax, 10.tf.reshape, 11.tf.stack, 12tf.less, 13.tf.boolean_mask的更多相关文章

  1. 深度学习原理与框架-Alexnet(迁移学习代码) 1.sys.argv[1:](控制台输入的参数获取第二个参数开始) 2.tf.split(对数据进行切分操作) 3.tf.concat(对数据进行合并操作) 4.tf.variable_scope(指定w的使用范围) 5.tf.get_variable(构造和获得参数) 6.np.load(加载.npy文件)

    1. sys.argv[1:]  # 在控制台进行参数的输入时,只使用第二个参数以后的数据 参数说明:控制台的输入:python test.py what, 使用sys.argv[1:],那么将获得w ...

  2. tf.split函数的用法(tensorflow1.13.0)

    tf.split(input, num_split, dimension): dimension指输入张量的哪一个维度,如果是0就表示对第0维度进行切割:num_split就是切割的数量,如果是2就表 ...

  3. tensorflow 的tf.split函数的用法

    将张量进行切分 tf.split( value, num_or_size_splits, axis=0, num=None, name='split' ) value: 待切分的张量 num_or_s ...

  4. tf.split

    tf.split(dimension, num_split, input):dimension的意思就是输入张量的哪一个维度,如果是0就表示对第0维度进行切割.num_split就是切割的数量,如果是 ...

  5. 【转载】 tf.split函数的用法

    原文地址: https://blog.csdn.net/uestc_c2_403/article/details/73350457 由于tensorflow 版本更新问题   用法略有修改 ----- ...

  6. tf.split( )和tf.unstack( )

    import tensorflow as tf A = [[1, 2, 3], [4, 5, 6]] a0 = tf.split(A, num_or_size_splits=3, axis=1)#不改 ...

  7. Tensorflow | 基本函数介绍 简单详细的教程。 有用, 很棒

     http://blog.csdn.net/xxzhangx/article/details/54606040 Tensorflow | 基本函数介绍 2017-01-18 23:04 1404人阅读 ...

  8. D3_book 11.2 stack

    <!-- book :interactive data visualization for the web 11.2 stack 一个堆叠图的例子 --> <!DOCTYPE htm ...

  9. GTAC 2015将于11月10号和11号召开

    今年的GTAC注册已经结束,将会在11月10号和11号在Google马萨诸塞州剑桥办公室召开.大家可以关注https://developers.google.com/google-test-autom ...

随机推荐

  1. c++运算符优先级表

    优先级 操作符 描述 例子 结合性 1 () [] -> . :: ++ -- 调节优先级的括号操作符 数组下标访问操作符 通过指向对象的指针访问成员的操作符 通过对象本身访问成员的操作符 作用 ...

  2. UVA-1612 Guess (贪心)

    题目大意:考试共有三道题,n个人,每个人对每道题的可能得分已知,现在已知考后排名情况,问排名合不合理. 题目分析:贪心.贪心策略:每处理一个排名,都让他的得分尽量高. # include<ios ...

  3. axis2 webservice jar包使用情况(转)

    原文地址:axis2 webservice jar包使用情况 今天使用axis2webservice,整理了下jar包,方便以后时候. axis2 webservice 服务端jar包: --> ...

  4. 动态创建OATipBean

    动态创建OATipBean. 动态创建的OATipBean无法直接设置提示内容,需要添加一个静态文本. 参考User Guide示例如下. If you need to create a tip pr ...

  5. Type Script在Visual Studio 2013中的问题汇总(持续更新…)

    TypeScript在vs2012下的问题 TypeScript对VS2012支持度比较低,建议升级为VS2013版本以上. 在VS2013中无法创建TypeScript项目 VS2013默认不支持T ...

  6. 如何优化tomcat配置优化

    tomcat默认参数是为开发环境制定,而非适合生产环境,尤其是内存和线程的配置,默认都很低,容易成为性能瓶颈. tomcat内存优化 linux修改TOMCAT_HOME/bin/catalina.s ...

  7. sqlite常用语法详细介绍

    1.SQL语句的预编译:将语句转为数据流,执行语句前检查语句的语法,但不能知道语句是否能查出结果.此方法有返回值  预编译成功则返回SQLITE_OK----0否则返回SQLITE_ERROR---- ...

  8. Jmeter-线程组执行顺序控制

    线程组按顺序来执行,大概思路, 1.需要控制线程组内的操作在满足某一条件才执行,那么就需要使用if或者while: 2.要使用if或者while都需要一个变量,而这个变量要在两个或多个线程组内使用,那 ...

  9. 20155318 2016-2017-2 《Java程序设计》第八学习总结

    20155318 2016-2017-2 <Java程序设计>第八学习总结 教材学习内容总结 学习目标 了解NIO 会使用Channel.Buffer与NIO2 会使用日志API.国际化 ...

  10. 用eclipse来运行带参数的命令行程序,配置命令行程序的参数

    以上从网上找了点资料:右键点主类名 --> 运行--> 打开运行对话框--> Main(主类)--> 右边Arguments(参数) 点他以后然后在下面Program argu ...