对TensorFlow的assign赋值用法详解


Posted in Python onJuly 30, 2018

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())

以上这篇对TensorFlow的assign赋值用法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python模块搜索概念介绍及模块安装方法介绍
Jun 03 Python
说一说Python logging
Apr 15 Python
centos6.7安装python2.7.11的具体方法
Jan 16 Python
学生信息管理系统python版
Oct 17 Python
python实现基于信息增益的决策树归纳
Dec 18 Python
python IDLE 背景以及字体大小的修改方法
Jul 12 Python
pyinstaller打包程序exe踩过的坑
Nov 19 Python
Python+OpenCV图像处理——打印图片属性、设置存储路径、调用摄像头
Oct 22 Python
pandas 按日期范围筛选数据的实现
Feb 20 Python
python爬虫用request库处理cookie的实例讲解
Feb 20 Python
Python四款GUI图形界面库介绍
Jun 05 Python
移除Selenium中window.navigator.webdriver值
Jun 10 Python
Python双向循环链表实现方法分析
Jul 30 #Python
tensorflow更改变量的值实例
Jul 30 #Python
Python使用分布式锁的代码演示示例
Jul 30 #Python
利用Python如何批量修改数据库执行Sql文件
Jul 29 #Python
利用Python如何批量更新服务器文件
Jul 29 #Python
python高阶爬虫实战分析
Jul 29 #Python
python3.5基于TCP实现文件传输
Mar 20 #Python
You might like
PHP 和 XML: 使用expat函数(三)
2006/10/09 PHP
与文件上传有关的php配置参数总结
2013/06/14 PHP
phpStudy2016 配置多个域名期间遇到的问题小结
2017/10/19 PHP
在laravel5.2中实现点击用户头像更改头像的方法
2019/10/14 PHP
js showModalDialog参数的使用详解
2014/01/07 Javascript
一个JavaScript的求爱小特效
2014/05/09 Javascript
js获取日期:昨天今天和明天、后天
2014/06/11 Javascript
js监听鼠标事件控制textarea输入字符串的个数
2014/09/29 Javascript
JS动态修改iframe高度和宽度的方法
2015/04/01 Javascript
如何使用jQuery技术开发ios风格的页面导航菜单
2015/07/29 Javascript
jsonp跨域请求数据实现手机号码查询实例分析
2015/12/12 Javascript
node.js cookie-parser 中间件介绍
2016/06/06 Javascript
Javascript之Math对象详解
2016/06/07 Javascript
jquery实现瀑布流效果 jquery下拉加载新数据
2016/12/12 Javascript
bootstrap table实现单击单元格可编辑功能
2017/03/28 Javascript
jQuery实现广告条滚动效果
2017/08/22 jQuery
vue2.x select2 指令封装详解
2017/10/12 Javascript
使用Layui搭建后台管理界面的操作方法
2019/09/20 Javascript
Mac 上切换Python多版本
2017/06/17 Python
python方法生成txt标签文件的实例代码
2018/05/10 Python
Python 移动光标位置的方法
2019/01/20 Python
对python读取zip压缩文件里面的csv数据实例详解
2019/02/08 Python
TensorFlow命名空间和TensorBoard图节点实例
2020/01/23 Python
python 写一个文件分发小程序
2020/12/05 Python
生物技术专业毕业生求职信范文
2013/12/14 职场文书
住房公积金接收函
2014/01/09 职场文书
校园达人秀策划书
2014/01/12 职场文书
餐饮营销方案
2014/02/23 职场文书
给市场的环保建议书
2014/05/14 职场文书
工商管理专业毕业生求职信
2014/05/26 职场文书
违反单位工作制度检讨书
2014/10/25 职场文书
公务员政审材料范文
2014/12/23 职场文书
幼儿园亲子活动感想
2015/08/07 职场文书
2016年大学生实习单位评语
2015/12/01 职场文书
详解JavaScript中的执行上下文及调用堆栈
2021/04/29 Javascript
上个世纪50年代的可穿戴技术:无线电帽子
2022/02/18 无线电