TensforFlow中常用函数总结
对于函数用法,最好使用官方文档,https://tensorflow.google.cn会给出各个版本函数的使用说明。
tf.nn.bias_add(value,bias,name = None):
一个叫bias的向量加到一个叫value的矩阵上,是向量与矩阵的每一行进行相加,得到的结果和value矩阵大小相同。
import tensorflow as tf
a=tf.constant([[1,1],[2,2],[3,3]],dtype=tf.float32)
b=tf.constant([1,-1],dtype=tf.float32)
c=tf.constant([1],dtype=tf.float32)
with tf.Session() as sess:
print('bias_add:')
print(sess.run(tf.nn.bias_add(a, b)))
#执行下面语句错误
#print(sess.run(tf.nn.bias_add(a, c)))
输出:
bias_add:
[[ 2. 0.]
[ 3. 1.]
[ 4. 2.]]
tf.add( x,y, name=None):
最常见的是,一个叫x的矩阵和一个叫y的数相加,就是y分别与x的每个数相加,得到的结果和x大小相同。
tf.add_n(inputs,name=None)
函数是实现一个列表的元素的相加。就是输入的对象是一个列表,列表里的元素可以是向量,矩阵等,但没有广播功能
tf.squeeze(input,axis=None,name=None,squeeze_dims=None)
该函数返回一个张量,这个张量是将原始input中所有维度为1的那些维都删掉的结果。axis可以用来指定要删掉的为1的维度,此处要注意指定的维度必须确保其是1,否则会报错
tf.expand_dims
tf.expand_dims(
input,
axis=None,
name=None,
dim=None
)
input是输入张量。
axis是指定扩大输入张量形状的维度索引值。
dim等同于轴,一般不推荐使用。
函数的功能是在给定一个input时,在axis轴处给input增加一个维度。
tf.palceholder
tf.palceholder用于传入真实的训练样本/测试/真实特征/待处理特征,仅占位,不必给出初值,用seee.run的feed_dict参数以字典形式喂入。
x = tf.palaceholder(tf.float32,shape=[BATCH_SIZE,IMAGE_PIXELS])
...
....
sees.run(求分类评估值的节点,feed_dict{x: })
tf.shape(tensor,[n行,m列]/[-1,m列])
使用-1表示行跟随m列自动计算。
tf.split(切谁,怎么切,在哪个维度)
# value is a tensor with shape [5,30]
split0,split1,split2 = tf.split(value, [4,5,11], 1)
tf.shape(split0) ==> [5,4]
tf.shape(split1) ==> [5,5]
split0,split1,split2 = tf.split(value, num_or_size_split=3, axis=1)
tf.shape(split0) ==> [5,10] #平均
tf.concat(值,维度)
tf.concant(t1,t2,0)==>行拼接
tf.concant(t1,t2,1)==>列拼接