标签:out 数学计算 分布 tdd 分类器 矩阵 oba truncated 直接
tf.pow()
tf.sqrt()
tf.add()
tf.add_n()
tf.subtract() :减法
tf.matmul() :矩阵乘法
tf.reduce_sum() :求和
tf.reduce_mean():求均值,直接给源码定义中的注释
For example: ```python # ‘x‘ is [[1., 1.] # [2., 2.]] tf.reduce_mean(x) ==> 1.5 tf.reduce_mean(x, 0) ==> [1.5, 1.5] tf.reduce_mean(x, 1) ==> [1., 2.] ``` reduction_indices: The old (deprecated) name for axis.
tf.cast():
bool->数字
re = tf.cast([True,False],tf.float32) sess = tf.Session() sess.run(re) # Out[6]: # array([ 1., 0.], dtype=float32)
tf.argmax:
(list,维度)
re = tf.argmax([[0,0.5]],1) sess.run(re) # Out[20]: # array([1])
tf.squeeze():
数据降维,只裁剪等于1的维度
不指定维度则裁剪所有长度为1的维度
import tensorflow as tf arr = tf.Variable(tf.truncated_normal([3,4,1,6,1], stddev=0.1)) sess = tf.Session() sess.run(tf.global_variables_initializer()) sess.run(arr).shape # Out[12]: # (3, 4, 1, 6, 1) sess.run(tf.squeeze(arr,[2,])).shape # Out[17]: # (3, 4, 6, 1) sess.run(tf.squeeze(arr,[2,4])).shape # Out[16]: # (3, 4, 6) sess.run(tf.squeeze(arr)).shape # Out[19]: # (3, 4, 6)
tf.nn.softmax()分类器:
把数组最后一维转化为概率分布
import tensorflow as tf sess.run(tf.nn.softmax([1.,2.,3.,4.])) # Out[12]: # array([ 0.0320586 , 0.08714432, 0.23688281, 0.64391422], dtype=float32) sess.run(tf.nn.softmax([1.,1.,1.,1.])) # Out[13]: # array([ 0.25, 0.25, 0.25, 0.25], dtype=float32) sess.run(tf.nn.softmax([[1.,1.,1.,1.],[7.,1.,1.,1.]])) # Out[16]: # array([[ 0.25 , 0.25 , 0.25 , 0.25 ], # [ 0.99261862, 0.00246046, 0.00246046, 0.00246046]], dtype=float32)
tf.concat([t1,t2,t3...],dim):
矩阵拼接,注意在1.x版本之前和之后dim和[t]的顺序是改变了的
这个函数乍看之下不好理解合成方向,实际把合成张量转化为np数组查看shape后就很好理解了:
import tensorflow as tf import numpy as np t1 = np.asarray([[1, 2, 3], [4, 5, 6]]) t2 = np.asarray([[7, 8, 9], [10, 11, 12]]) print(t1.shape) # (2, 3) # 第零维度合成就是扩展数字2的大小 re = tf.concat([t1, t2],0) sess = tf.Session() sess.run(re) # array([[ 1, 2, 3], # [ 4, 5, 6], # [ 7, 8, 9], # [10, 11, 12]]) # 第一维度合成就是扩展数字3的大小 re = tf.concat([t1, t2],1) sess = tf.Session() sess.run(re) # array([[ 1, 2, 3, 7, 8, 9], # [ 4, 5, 6, 10, 11, 12]]) t1 = np.zeros([2,3,3]) t2 = np.ones([2,3,3]) print(t1,‘\n\n‘,t2) re = tf.concat([t1, t2],2) sess = tf.Session() sess.run(re) # 第二维度合成就是扩展末尾的数字3的大小 # array([[[ 0., 0., 0., 1., 1., 1.], # [ 0., 0., 0., 1., 1., 1.], # [ 0., 0., 0., 1., 1., 1.]], # [[ 0., 0., 0., 1., 1., 1.], # [ 0., 0., 0., 1., 1., 1.], # [ 0., 0., 0., 1., 1., 1.]]])
作为参考合成神经网络输出的时候在深度方向(inception_v3)是数字3,[batch,heigh,width,depth]。
标签:out 数学计算 分布 tdd 分类器 矩阵 oba truncated 直接
原文地址:http://www.cnblogs.com/hellcat/p/7436197.html