如下所示:
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
以上这篇tensorflow更改变量的值实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。