对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中super关键字用法实例分析
May 28 Python
python爬虫的工作原理
Mar 05 Python
关于python的list相关知识(推荐)
Aug 30 Python
python针对不定分隔符切割提取字符串的方法
Oct 26 Python
OpenCV 边缘检测
Jul 10 Python
seek引发的python文件读写的问题及解决
Jul 26 Python
python tkinter图形界面代码统计工具
Sep 18 Python
浅析PEP570新语法: 只接受位置参数
Oct 15 Python
深入了解如何基于Python读写Kafka
Dec 31 Python
python随机模块random的22种函数(小结)
May 15 Python
解决Django响应JsonResponse返回json格式数据报错问题
Aug 09 Python
python邮件中附加文字、html、图片、附件实现方法
Jan 04 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 文件扩展名 获取函数
2009/06/03 PHP
怎么在Windows系统中搭建php环境
2013/08/31 PHP
smarty实现多级分类的方法
2014/12/05 PHP
适合PHP初学者阅读的4本经典书籍
2016/09/23 PHP
由php中字符offset特征造成的绕过漏洞详解
2017/07/07 PHP
PHP 99乘法表的几种实现代码
2020/10/13 PHP
Dojo 学习笔记入门篇 First Dojo Example
2009/11/15 Javascript
javascript中的float运算精度实例分析
2010/08/21 Javascript
nullJavascript中创建对象的五种方法实例
2013/05/07 Javascript
让图片跳跃起来  javascript图片轮播特效
2016/02/16 Javascript
Bootstrap中表单控件状态(验证状态)
2016/08/04 Javascript
jQuery的图片轮播插件PgwSlideshow使用详解
2016/08/11 Javascript
微信小程序如何像vue一样在动态绑定类名
2018/04/17 Javascript
layer.prompt使文本框为空的情况下也能点击确定的方法
2019/09/24 Javascript
JS原型和原型链原理与用法实例详解
2020/02/05 Javascript
原生js实现照片墙效果
2020/10/13 Javascript
vue3弹出层V3Popup实例详解
2021/01/04 Vue.js
详解js创建对象的几种方式和对象方法
2021/03/01 Javascript
pip 错误unused-command-line-argument-hard-error-in-future解决办法
2014/06/01 Python
python友情链接检查方法
2015/07/08 Python
python访问抓取网页常用命令总结
2017/04/11 Python
python中virtualenvwrapper安装与使用
2018/05/20 Python
pytorch cnn 识别手写的字实现自建图片数据
2018/05/20 Python
Python面向对象程序设计之静态方法、类方法、属性方法原理与用法分析
2020/03/23 Python
PUMA官方商城:世界领先的运动品牌之一
2016/11/16 全球购物
美国眼镜网站:EyeBuyDirect
2017/04/13 全球购物
Trina Turk官网:美国时装和泳装品牌
2018/06/10 全球购物
2014年人力资源工作总结
2014/11/19 职场文书
2015年女生节活动总结
2015/02/27 职场文书
2015年毕业生个人自荐书
2015/03/24 职场文书
上下班时间调整通知
2015/04/23 职场文书
男生贾里读书笔记
2015/06/30 职场文书
自荐信大全
2019/03/21 职场文书
Goland使用Go Modules创建/管理项目的操作
2021/05/06 Golang
Win11如何修改dns?Win11修改dns图文教程
2022/01/18 数码科技
利用Sharding-Jdbc进行分库分表的操作代码
2022/01/22 Java/Android