TensforFlow中常用函数总结

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)==>列拼接
原文地址:https://www.cnblogs.com/gzr2018/p/12730605.html