时间:2021-08-03 08:57:46 | 栏目:Python代码 | 点击:次
如下所示:
from __future__ import print_function,division import tensorflow as tf #create a Variable w=tf.Variable(initial_value=[[1,2],[3,4]],dtype=tf.float32) x=tf.Variable(initial_value=[[1,1],[1,1]],dtype=tf.float32,validate_shape=False) init_op=tf.global_variables_initializer() update=tf.assign(x,[[1,2],[1,2]]) with tf.Session() as session: session.run(init_op) session.run(update) x=session.run(x) print(x)
实验结果:
[[ 1. 2.] [ 1. 2.]]
tensorflow使用assign(variable,new_value)来更改变量的值,但是真正作用在garph中,必须要调用gpu或者cpu运行这个更新过程。
session.run(update)
tensorflow不支持直接对变量进行赋值更改
from __future__ import print_function,division import tensorflow as tf #create a Variable x=tf.Variable(initial_value=[[1,1],[1,1]],dtype=tf.float32,validate_shape=False) x=[[1,3],[2,4]] init_op=tf.global_variables_initializer() update=tf.assign(x,[[1,2],[1,2]]) with tf.Session() as session: session.run(init_op) session.run(update) print(session.run(x))
error:
"C:\Program Files\Anaconda3\python.exe" D:/pycharmprogram/tensorflow_learn/assign_learn/assign_learn.py Traceback (most recent call last): File "D:/pycharmprogram/tensorflow_learn/assign_learn/assign_learn.py", line 8, in <module> update=tf.assign(x,[[1,2],[1,2]]) File "C:\Program Files\Anaconda3\lib\site-packages\tensorflow\python\ops\state_ops.py", line 271, in assign if ref.dtype._is_ref_dtype: AttributeError: 'list' object has no attribute 'dtype' Process finished with exit code 1