tf.reduce_xxx函数
如tf.reduce_mean( ),tf.reduce_sum( )等,沿着tensor的某一维度,计算元素的平均值,总和等。
参数:
reduce_xxx(input_tensor,axis=None,keep_dims=False,name=None, reduction_indices=None)
input_tensor:需要降维的tensor。
axis:axis=none, 求全部元素的xxx;axis=0, 按列降维,求每列xxx;axis=1,按行降维,求每行xxx。
keep_dims:表示是否保留原始数据的维度,False相当于执行完后原始数据就会少一个维度。
name:自定义操作的名称。
reduction_indices:axis的旧名,已停用。
padding的两种方式:SAME和VALID
SAME:全0填充
VALID:不使用全0填充
tf.reshape(tensor,shape,name=None)
shape参数中的-1表示根据数组元素总数,自动计算出剩余的维度,shape参数只能有一个-1,当shape参数为[-1]
时,表示将该数组完全平铺开来
tf.reshape(image, [227, 227, 3])
tf.assign赋值函数
操作方法:
# 第一种
var = tf.get_variable('weights', trainable=False)
session.run(var.assign(1))
# 第二种
var = tf.get_variable('weights', trainable=False)
session.run(tf.assign(var,2))
查看参数变化
# scope_name_var形式如'conv1/weights'
def get_weight(scope_name_var):
var_list = [var for var in tf.global_variables() if scope_name_var in var.name]
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
print(sess.run(var_list [0]))
tf.concat连接张量
注意下面报错是因为该函数不能将向量(shape只有一个维度)连接在一起
a = tf.Variable(tf.random_normal(shape=(1, 3)))
b = tf.tile(a, multiples=[1, 2])
c = tf.concat(values=(a, b), axis=1)
# aa = tf.Variable(tf.constant([1, 2, 3]))
# bb = tf.Variable(tf.constant([4, 5, 6]))
# cc = tf.concat(values=(aa, bb), axis=1)
# ValueError: Shape must be at least rank 2 but is rank 1 for 'concat_1' (op: 'ConcatV2') with input shapes: [3], [3], [] and with computed input tensors: input[2] = <1>.
aa = tf.Variable(tf.constant([[1, 2, 3]]))
bb = tf.Variable(tf.constant([[4, 5, 6]]))
cc = tf.concat(values=(aa, bb), axis=0)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
print(a.eval())
print(b.eval())
print(c.eval())
print('a:', a.get_shape().as_list())
print('b:', b.get_shape().as_list())
print('c:', c.get_shape().as_list())
print(cc.eval())
[[-0.55588114 1.23502767 -0.30317709]]
[[-0.55588114 1.23502767 -0.30317709 -0.55588114 1.23502767 -0.30317709]]
[[-0.55588114 1.23502767 -0.30317709 -0.55588114 1.23502767 -0.30317709
-0.55588114 1.23502767 -0.30317709]]
a: [1, 3]
b: [1, 6]
c: [1, 9]
[[1 2 3]
[4 5 6]]
持续更新中……