tensorflow之变量初始化(tf.Variable)使用详解


Posted in Python onFebruary 06, 2020

默认本系列的的读者已经初步熟悉tensorflow。

我们通过tf.Variable构造一个variable添加进图中,Variable()构造函数需要变量的初始值(是一个任意类型、任意形状的tensor),这个初始值指定variable的类型和形状。通过Variable()构造函数后,此variable的类型和形状固定不能修改了,但值可以用assign方法修改。

如果想修改variable的shape,可以使用一个assign op,令validate_shape=False.

通过Variable()生成的variables就是一个tensor,可以作为graph中其他op的输入。另外,Tensor类重载的所有操作符都被转载到此variables中,所以可以通过对变量调用方法,将节点添加到图形中。

import tensorflow as tf

#创造variable.<initial-value>指定这个variable的type和shape
w = tf.Variable(<initial-value>, name=<optional-name>)

# 接着就可以把这个variable当做tensor运用在graph中.
y = tf.matmul(w, ...another variable or tensor...)

z = tf.sigmoid(w + y)

# 通过`assign()`和相关方法给这个w赋值
w.assign(w + 1.0)
w.assign_add(1.0)

一个graph启动之前所有的variables必须都要赋值,实际上,变量初始化操作op只是一个赋值op,是将variables的初始值赋给variables自身。

# 在session中启动graph.
with tf.Session() as sess:
 # variable初始化.
 sess.run(w.initializer)
 # ...现在可以运行使用'w'的op...

给variables初始化最简单的方法就是global_variables_initializer(),可以直接初始化所有variables:

# 初始化所有variables 的op
init_op = tf.global_variables_initializer()

# 在session中启动graph.
with tf.Session() as sess:
 # 启动这个op
 sess.run(init_op)
 # ...现在可以运行使用variables的op...

但有时一个变量的初始化依赖于其他变量的初始化,但是为了确保初始化顺序不能错,可以使用initialized_value()。

以上这篇tensorflow之变量初始化(tf.Variable)使用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python+django实现文件上传
Jan 17 Python
Python的Django框架中forms表单类的使用方法详解
Jun 21 Python
python获取当前用户的主目录路径方法(推荐)
Jan 12 Python
python中的闭包函数
Feb 09 Python
python+ffmpeg视频并发直播压力测试
Mar 06 Python
python使用rpc框架gRPC的方法
Aug 24 Python
python实现扫描局域网指定网段ip的方法
Apr 16 Python
自适应线性神经网络Adaline的python实现详解
Sep 30 Python
python创建ArcGIS shape文件的实现
Dec 06 Python
Python3 assert断言实现原理解析
Mar 02 Python
Python使用Excel将数据写入多个sheet
May 16 Python
PyCharm Ctrl+Shift+F 失灵的简单有效解决操作
Jan 15 Python
使用TensorFlow搭建一个全连接神经网络教程
Feb 06 #Python
详解python 降级到3.6终极解决方案
Feb 06 #Python
PyCharm如何导入python项目的方法
Feb 06 #Python
tensorflow 环境变量设置方式
Feb 06 #Python
快速查找Python安装路径方法
Feb 06 #Python
运行tensorflow python程序,限制对GPU和CPU的占用操作
Feb 06 #Python
如何在django中添加日志功能
Feb 06 #Python
You might like
PHP页面间参数传递的四种方法详解
2013/06/09 PHP
Discuz7.2版的faq.php SQL注入漏洞分析
2014/08/06 PHP
php返回当前日期或者指定日期是周几
2015/05/21 PHP
IE中直接运行显示当前网页中的图片 推荐
2006/08/31 Javascript
Jquery乱码的一次解决过程 图解教程
2010/02/20 Javascript
javascript 静态对象和构造函数的使用和公私问题
2010/03/02 Javascript
JavaScript 判断日期格式是否正确的实现代码
2011/07/04 Javascript
面向对象设计模式的核心法则
2013/11/10 Javascript
js控制淡入淡出示例代码
2013/11/12 Javascript
js实现单行文本向上滚动效果实例代码
2013/11/28 Javascript
javascript中验证大写字母、数字和中文
2014/01/15 Javascript
JavaScript中的null和undefined区别介绍
2015/01/01 Javascript
Javascript中For In语句用法实例
2015/05/14 Javascript
基于jquery实现左右按钮点击的图片切换效果
2021/01/27 Javascript
常见JS验证脚本汇总
2015/12/01 Javascript
浅谈vue项目重构技术要点和总结
2018/01/23 Javascript
详解用Node.js写一个简单的命令行工具
2018/03/01 Javascript
nodejs使用async模块同步执行的方法
2019/03/02 NodeJs
教你30秒发布一个TypeScript包到NPM的方法步骤
2019/07/22 Javascript
no-vnc和node.js实现web远程桌面的完整步骤
2019/08/11 Javascript
总结Python编程中三条常用的技巧
2015/05/11 Python
Python制作钉钉加密/解密工具
2016/12/07 Python
Python开发网站目录扫描器的实现
2019/02/21 Python
python机器学习实现决策树
2019/11/11 Python
Python远程开发环境部署与调试过程图解
2019/12/09 Python
Django如何使用jwt获取用户信息
2020/04/21 Python
python 删除excel表格重复行,数据预处理操作
2020/07/06 Python
Python延迟绑定问题原理及解决方案
2020/08/04 Python
Pytorch - TORCH.NN.INIT 参数初始化的操作
2021/02/27 Python
美国男士和女士奢侈品折扣手表购物网站:Certified Watch Store
2018/06/13 全球购物
在Ajax应用中信息是如何在浏览器和服务器之间传递的
2016/05/31 面试题
财政专业求职信范文
2014/02/19 职场文书
《跨越海峡的生命桥》教学反思
2014/02/24 职场文书
房屋转让协议书范本
2014/04/11 职场文书
经贸专业毕业生求职信范文
2014/05/01 职场文书
中学生社会实践活动总结
2014/07/03 职场文书