注解:
- 普通的张量,随便定义的一个tensor,是不能被训练的
import tensorflow as tf a=tf.constant([1,2,3,4,5,6]) var=tf.Variable(tf.random_normal([2,3],mean=0.0,stddev=1.0)) print(a) print(var)
运行结果:
Tensor("Const:0", shape=(6,), dtype=int32)
<tf.Variable 'Variable:0' shape=(2, 3) dtype=float32_ref>
注解:
- 定义的a是一个普通的张量
- 定义的var是一个tensorflow变量
import tensorflow as tf a=tf.constant([1,2,3,4,5,6]) var=tf.Variable(tf.random_normal([2,3],mean=0.0,stddev=1.0)) with tf.Session() as sess: print(sess.run(a)) print(sess.run(var))
运行结果:
[1 2 3 4 5 6]
tensorflow.python.framework.errors_impl.FailedPreconditionError: Attempting to use uninitialized value Variable
[[{{node _retval_Variable_0_0}}]]
注解:
- 当定义一个tensorflow变量后,在运行的时候,一定要初始化,不然会报错。
-
with tf.Session() as sess:这一小段是做具体的事情的。
import tensorflow as tf a=tf.constant([1,2,3,4,5,6]) var=tf.Variable(tf.random_normal([2,3],mean=0.0,stddev=1.0)) #必须做一步显示的初始化op init_op=tf.global_variables_initializer() with tf.Session() as sess: #必须运行初始化的op sess.run(init_op) print(sess.run(a)) print("--------------") print(sess.run(var))
运行结果:
[1 2 3 4 5 6]
--------------
[[ 0.5671067 0.0183021 0.44286743]
[-0.32170987 0.36949733 -1.4345255 ]]
注解:
- 变量op能够持久化保存,普通张量op是不行的
- 当定义一个变量op的时候,一定要在会话当中去运行初始化