学习笔记5:TensorFlow编程语法--常量与变量



常量:

在运行过程中值不会改变的单元,在TensorFlow中无须进行初始化操作创建语句:constant_name = tf.constant(value)




变量:

在运行过程中值会改变的单元,在TensorFlow中须进行初始化操作创建语句:name_variable = tf.Variable(value, name)

个别变量初始化:init_op = name_variable.initializer()

所有变量初始化:init_op = tf.global_variables_initializer()

import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()     # 解决方案:注释tf的引用,换为兼容模式。
node1 = tf.Variable(3.0, tf.float32, name='node1')
node2 = tf.Variable(4.0, tf.float32, name='node2')
result = tf.add(node1, node2)

sess = tf.Session()

# 变量初始化/所有变量初始化
init = tf.global_variables_initializer()
sess.run(init)  # 必须执行一遍,才算初始化

print(sess.run(result))



变量赋值:

与传统编程语言不同,TensorFlow中的变量定义后,一般无需人工赋值,系统会根据算法模型,训练优化过程中自动调整变量对应的数值

后面再机器学习模型训练时会更能体会,比如权重Weight变量w,经过多次迭代,会自动调整。

特殊情况需要人工更新的,可用变量赋值语句:update_op = tf.assign(variable_to_be_updated, new_value)

# 变量赋值运算
value = tf.Variable(0, name = "value")
one = tf.constant(1)
new_value = tf.add(value, one)
update_value = tf.assign(value, new_value)  # tf.assign把new_value的值赋给value

init1 = tf.global_variables_initializer()
with tf.Session() as sess:
    sess.run(init1)
    for i in range(10):
        sess.run(update_value)
        print(sess.run(value))

你可能感兴趣的:(学习总结,tensorflow,深度学习,人工智能)