tf.argmax(input,axis)根据axis取值的不同返回每行或者每列最大值的索引。
比较每一列的元素,将每一列最大元素所在的索引记录下来,最后输出每一列最大元素所在的索引数组。
test[0] = array([1, 2, 3])
test[1] = array([2, 3, 4])
test[2] = array([5, 4, 3])
test[3] = array([8, 7, 2])
# output : [3, 3, 1]
将每一行最大元素所在的索引记录下来,最后返回每一行最大元素所在的索引数组。
test[0] = array([1, 2, 3]) #2
test[1] = array([2, 3, 4]) #2
test[2] = array([5, 4, 3]) #0
test[3] = array([8, 7, 2]) #0
参数:
dtype:数据类型。常用的是tf.float32,tf.float64等数值类型
shape:数据形状。默认是None,就是一维值,也可以是多维(比如[2,3], [None, 3]表示列是3,行不定)
name:名称
(原文链接:https://blog.csdn.net/kdongyi/article/details/82343712)
Tensorflow的设计理念称之为计算流图,在编写程序时,首先构筑整个系统的graph,代码并不会直接生效,这一点和python的其他数值计算库(如Numpy等)不同,graph为静态的,类似于docker中的镜像。然后,在实际的运行时,启动一个session,程序才会真正的运行。这样做的好处就是:避免反复地切换底层程序实际运行的上下文,tensorflow帮你优化整个系统的代码。 所以placeholder()函数是在神经网络构建graph的时候在模型中的占位,此时并没有把要输入的数据传入模型,它只会分配必要的内存。等建立session,在会话中,运行模型的时候通过feed_dict()函数向占位符喂入数据。
参数:
x: 一个类型为:half, float32, float64, uint8, int8, uint16, int16, int32, int64, complex64, complex128的张量
y: 一个类型跟张量x相同的张量
返回值:
x * y element-wise.
参数:
a: 一个类型为 float16, float32, float64, int32, complex64, complex128 且张量秩 > 1 的张量
b: 一个类型跟张量a相同的张量。
transpose_a: 如果为真, a则在进行乘法计算前进行转置
transpose_b: 如果为真, b则在进行乘法计算前进行转置
adjoint_a: 如果为真, a则在进行乘法计算前进行共轭和转置
adjoint_b: 如果为真, b则在进行乘法计算前进行共轭和转置
a_is_sparse: 如果为真, a会被处理为稀疏矩阵
b_is_sparse: 如果为真, b会被处理为稀疏矩阵
name: 操作的名字(可选参数)
返回值:
一个跟张量a和张量b类型一样的张量且最内部矩阵是a和b中的相应矩阵的乘积
将 x 的数据格式转化成 dtype. 例如,原来 x 的数据格式是 bool,那么将其转化成 float 以后,就能够将其转化成 0 和 1 的序列。反之也可以.
a = tf.Variable([0,0,0,1,1])
b = tf.cast(a,dtype=tf.bool)
sess = tf.Session()
sess.run(tf.initialize_all_variables())
print(sess.run(b))
>>>[ False False False True True]