tf.Variable:
TensorFlow中的变量特指深度学习机制中,控制输入到输出映射的可以变化的数据,这些变化数据随着训练迭代的进行,不断地改变数值,不断优化,使输出的结果越来越接近于正确的结果。
Variable() 构造器需要一个初始值,可以是任意类型和shape 的Tensor
初始值定义了变量的type和shape。构造完成之后,变量的type和shape 是固定的。可以使用assign 方法来修改变量的值。
如果你想修改变量的shape,你必须使用assign 操作,并且 validate_shape=False
所有操作承载的Tensor 类传递给variables. 所以你可以仅仅通过对变量执行算术来对图中添加节点。
代码:
import tensorflow as tf
state = tf.Variable(0, name='counter')
print(state.name)
one = tf.constant(1)
new_value = tf.add(state, one)
update = tf.assign(state, new_value)
init = tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init)
for _ in range(3):
sess.run(update)
print(sess.run(state))
结果:
counter_2:0
1
2
3
占位符:用于传入外部数据。
tf.placeholder(dtype, shape=None, name=None)
返回类型:Tensor
TensorFlow中加载图片的维度为[batch, height, width, channels]
故placeholder的shape可写为[None, None, None, 3]
data = tf.placeholder(tf.float32, shape=[None, None, None, 3])
feed的数据以字典的形式传入
feed_dict = {data:images}
np:
matrix = numpy.array([ ])
matrix.sum(axis = 0) # 1:各行求和 0:各列求和
np.random.randint(0,10,size=(4,3))
结果:[[5 1 4]
[3 5 6]
[6 8 8]
[4 5 9]]