tensorflow更改变量的值实例

如下所示:

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

以上是 tensorflow更改变量的值实例 的全部内容, 来源链接: utcz.com/z/324224.html

回到顶部