Tensorflow问题-tf.assign与=赋值的区别
程序员文章站
2022-03-22 19:09:56
...
- tf.assign与=似乎都是赋值,那么二者的区别到底是什么呢?有些解释涉及到新建节点啊,引用什么的更深层次的区别,这里就以简单的例子说明下二者实际的区别方便各位理解。
# 一
a = tf.Variable(0,name='a')
init = tf.global_variables_initializer()
add_op = tf.assign(a,tf.add(a,1))
# 每次run add_op,便会执行一次对a值+1并赋值到a节点,因此每次run(add_op)后再sess.run(a)值相应的也会发生变化
sess.run(init)
for epoch in range(5):
print(sess.run(add_op))
print(sess.run(a))
结果:
1
1
2
2
3
3
4
4
5
5
# 二
a = tf.Variable(0,name='a')
init = tf.global_variables_initializer()
a = a+1
# a+1为创建的新的节点并将该地址赋予变量a上,因此a目前对应的值为0+1=1,但是多次run(a)并不会改变,因为没有具体的运算符
sess.run(init)
for epoch in range(5):
print(sess.run(a))
结果:
1
1
1
1
1
推荐阅读
-
sqlserver存储过程中SELECT 与 SET 对变量赋值的区别
-
php foreach 使用&(与运算符)引用赋值要注意的问题_php技巧
-
sqlserver存储过程中SELECT 与 SET 对变量赋值的区别
-
sqlserver存储过程中SELECT 与 SET 对变量赋值的区别
-
php 传值赋值与引用赋值的区别
-
tensorflow: variable的值与variable.read_value()的值区别详解
-
解决3080显卡tensorflow与pytorch在cuda11.1的安装问题
-
tensorflow与numpy的版本兼容性问题的解决
-
php foreach 使用&(与运算符)引用赋值要注意的问题
-
简单了解Python字典copy与赋值的区别