tensorflow更改变量的值实例

yipeiwu_com6年前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

以上这篇tensorflow更改变量的值实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python 字典dict使用介绍

Python字典的创建 方法一: >>> blank_dict = {} >>> product_dict = {'MAC':8000,'Ipho...

python读取中文txt文本的方法

对于python2.7 字符串在Python2.7内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码成unicode,...

Python中numpy模块常见用法demo实例小结

本文实例总结了Python中numpy模块常见用法。分享给大家供大家参考,具体如下: import numpy as np arr = np.array([[1,2,3],...

python学习必备知识汇总

一、变量 1.变量 •指在程序执行过程中,可变的量; •定义一个变量,就会伴随有3个特征,分别是内存ID、数据类型和变量值。 •其他语言运行完之前,一...

pytorch打印网络结构的实例

pytorch打印网络结构的实例

最简单的方法当然可以直接print(net),但是这样网络比较复杂的时候效果不太好,看着比较乱;以前使用caffe的时候有一个网站可以在线生成网络框图,tensorflow可以用tens...