对TensorFlow的assign赋值用法详解
作者:mustar_2017 发布时间:2023-03-18 22:52:56
标签:TensorFlow,assign,赋值
TensorFlow修改变量值后,需要重新赋值,assign用起来有点小技巧,就是需要需要弄个操作子,运行一下。
下面这么用是不行的
import tensorflow as tf
import numpy as np
x = tf.Variable(0)
init = tf.initialize_all_variables()
sess = tf.InteractiveSession()
sess.run(init)
print(x.eval())
x.assign(1)
print(x.eval())
正确用法
1.
import tensorflow as tf
x = tf.Variable(0)
y = tf.assign(x, 1)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
print sess.run(x)
print sess.run(y)
print sess.run(x)
2.
In [212]: w = tf.Variable(12)
In [213]: w_new = w.assign(34)
In [214]: with tf.Session() as sess:
...: sess.run(w_new)
...: print(w_new.eval())
# output
34
3.
import tensorflow as tf
x = tf.Variable(0)
sess = tf.Session()
sess.run(tf.global_variables_initializer())
print(sess.run(x)) # Prints 0.
x.load(1, sess)
print(sess.run(x)) # Prints 1.
我的方法
import numpy as np #这是Python的一种开源的数值计算扩展,非常强大
import tensorflow as tf #导入tensorflow
##构造数据##
x_data=np.random.rand(100).astype(np.float32) #随机生成100个类型为float32的值
y_data=x_data*0.1+0.3 #定义方程式y=x_data*A+B
##-------##
##建立TensorFlow神经计算结构##
weight=tf.Variable(tf.random_uniform([1],-1.0,1.0))
biases=tf.Variable(tf.zeros([1]))
y=weight*x_data+biases
w1=weight*2
loss=tf.reduce_mean(tf.square(y-y_data)) #判断与正确值的差距
optimizer=tf.train.GradientDescentOptimizer(0.5) #根据差距进行反向传播修正参数
train=optimizer.minimize(loss) #建立训练器
init=tf.global_variables_initializer() #初始化TensorFlow训练结构
#sess=tf.Session() #建立TensorFlow训练会话
sess = tf.InteractiveSession()
sess.run(init) #将训练结构装载到会话中
print('weight',weight.eval())
for step in range(400): #循环训练400次
sess.run(train) #使用训练器根据训练结构进行训练
if step%20==0: #每20次打印一次训练结果
print(step,sess.run(weight),sess.run(biases)) #训练次数,A值,B值
print(sess.run(loss))
print('weight new',weight.eval())
#wop=weight.assign([3])
#wop.eval()
weight.load([1],sess)
print('w1',w1.eval())
来源:https://blog.csdn.net/mustar_2017/article/details/79336679
0
投稿
猜你喜欢
- 之前看到过很多头条,说哪国某人坚持了多少年自学使用excel画画,效果十分惊艳。 对于他们的耐心我十分敬佩。 但是作为一个程序员,自然也得挑
- by yemoo有时在编写网页代码时发现,img底部莫名奇妙多出大约3px的空白,无论怎么调节css都不可以,今天再次遇到此问题,网上看了一
- 学习目标根据原型设计编译自动化数据生成器,熟悉wxPython的基本用法。界面原型设计界面原型设计分析输入参数:最大长度最小长度组成规则多少
- 本文实例讲述了Python数据结构与算法之完全树与最小堆。分享给大家供大家参考,具体如下:# 完全树 最小堆class CompleteTr
- 今天来介绍pandas中一个很有用的函数groupby,其实和hive中的groupby的效果是一样的,区别在于两种语言的写法问题。grou
- 之前捣鼓树莓派时,要求做一个番茄钟,但最后就只是搞成一个与树莓派没啥关系的py程序,虽然简陋,但就此记录一下自学的成果。程序实现番茄工作法:
- 本文实例讲述了Python面向对象编程基础。分享给大家供大家参考,具体如下:1、类的定义Python中类的定义与对象的初始化如下,pytho
- 在python列表中,如果我们想要删除一个或者连续几个元素,可以使用del()方法,在numpy数组,如果想要删除元素,可以使用numpy.
- 在asp编程中,我们常常使用trim(rtrim ,ltrim)函数去掉一些数据的开头和结尾的空格,笔者最近写了一个asp聊天室,看到下面的
- asp函数代码 代码如下:<% Function RemoveHTML(str) Dim objRegExp, Match,strHT
- Python获取当前时间_获取格式化时间:Python获取当前时间:使用 time.time( ) 获取到距离1970年1月1日的秒数(浮点
- 本文实例为大家分享了Python密码强弱判断的具体代码,供大家参考,具体内容如下程序说明:通过获取用户输入,判断密码长度是否大于8,同时判断
- 如下所示:import pydicom import matplotlib.pyplot as plt import scipy.misc
- 要防止同一用户同时登陆,首页应该记录在线用户的信息(这里与用户名为例),然后判断正在登陆的用户里面是否已存在。在这里使用一个cache存放已
- 项目使用Pyqt作为UI框架,使用相机线程捕捉image,并在QGraphicsView中显示,遇到以下问题:1、采集的数据为nparray
- Python类的继承在OOP(ObjectOrientedProgramming)程序设计中,当我们定义一个class的时候,可以从某个现有
- 如何修改数据库名(db_name)及实例名(Instance_name or Service_name) Nid是Oracle从9iR2开始
- 本文实例讲述了PHP实现ASCII码与字符串相互转换的方法。分享给大家供大家参考,具体如下:<?phpclass ascii { &n
- 最近一个小项目需要一个星级评分的效果,所以去淘宝偷了一个,但是还得加载YUI很不爽,还是自己动手写一个吧~HTML: <!-
- 在绝大多数查询中,MySQL使用哪种校对规则进行比较是很显然的。例如,在下列情况中,校对规则明显的是“列x的列校对规则”:SELECT&nb