TensorFlow之变量和常量的运用

原出处:变量和常量

在 Tensorflow 中,定义了某字符串是变量,它才是变量,这一点是与 Python 所不同的。

定义语法: state = tf.Variable(),如下:其中,0指变量初值为0,counter为变量名。定义常量中1值该常量为1。assign把后面new_value中的值赋给了state。

import tensorflow as tf

state = tf.Variable(0, name='counter')

# 定义常量 one
one = tf.constant(1)

# 定义加法步骤 (注: 此步并没有直接计算)
new_value = tf.add(state, one)

# 将 State 更新成 new_value
update = tf.assign(state, new_value)

如果在 Tensorflow 中设定了变量,那么初始化变量是最重要的!!所以定义了变量以后, 一定要定义

 init = tf.initialize_all_variables() 用来初始化.

到这里变量还是没有被激活,需要再在 sess 里, sess.run(init) , 激活 init 这一步.(sess指向init模块并执行该模块),其中range(3)指执行三次for语句。

# 如果定义 Variable, 就一定要 initialize
# init = tf.initialize_all_variables() # tf 马上就要废弃这种写法
init = tf.global_variables_initializer()  # 替换成这样就好
 
# 使用 Session
with tf.Session() as sess:
    sess.run(init)
    for _ in range(3):
        sess.run(update)
        print(sess.run(state)

 注意:直接 print(state) 不起作用!!

一定要把 sess 的指针指向 state 再进行 print 才能得到想要的结果!

猜你喜欢

转载自blog.csdn.net/weixin_40849273/article/details/81136983
今日推荐