import tensorflow as tf
#Create some variables
v1=tf.get_variable("v1",shape=[3],initializer=tf.zeros_initializer)
v2=tf.get_variable("v2",shape=[5],initializer=tf.zeros_initializer)
inc_v1=v1.assign(v1+1)
dec_v2=v2.assign(v2-1)
v1=tf.Print(v1,[v1])
m=v1+1
#Add an op to initializer the variables.
init_op=tf.global_variables_initializer()
#add ops to sava and restore all the variables.
saver=tf.train.Saver()
with tf.Session() as sess:
sess.run(init_op)
print(v1.eval())
print(v2.eval())
print(m.eval())
#inc_v1.op.run()
print(inc_v1.eval())
dec_v2.op.run()
print(dec_v2.eval())
save_path=saver.save(sess,"/tmp/model.ckpt")
print("Model saved in path: %s"%save_path)
输出:
PS C:\TensorFlowRepo> python tf_1.py
[0 0 0][0. 0. 0.]
[0. 0. 0. 0. 0.]
[0 0 0]
[1. 1. 1.]
[1. 1. 1.]
[-2. -2. -2. -2. -2.]
Model saved in path: /tmp/model.ckpt
inc_v1=v1.assign(v1+1),将v1加1,再赋值给v1;
sess.run(init_op)与inc_v1.op.run()一起相当于运行了两遍,v1为[1.1.1];v2为[-2.-2.-2.-2.-2];(TensorFlow uses numpy arrays to represent tensor values.)