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代理抓取并验证使用多线程实现
May 03 Python
python smtplib模块发送SSL/TLS安全邮件实例
Apr 08 Python
理解Python垃圾回收机制
Feb 12 Python
Python常见字符串操作函数小结【split()、join()、strip()】
Feb 02 Python
python得到单词模式的示例
Oct 15 Python
Python发送邮件测试报告操作实例详解
Dec 08 Python
Python标准库使用OrderedDict类的实例讲解
Feb 14 Python
python中列表的切片与修改知识点总结
Jul 23 Python
基于python实现雪花算法过程详解
Nov 16 Python
利用Python制作动态排名图的实现代码
Apr 09 Python
Python参数传递及收集机制原理解析
Jun 05 Python
Python3自带工具2to3.py 转换 Python2.x 代码到Python3的操作
Mar 03 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中extract()函数的定义和用法
2012/08/17 PHP
基于php的微信公众平台开发入门实例
2015/04/15 PHP
php显示时间常用方法小结
2015/06/05 PHP
php微信公众平台配置接口开发程序
2016/09/22 PHP
php基于websocket搭建简易聊天室实践
2016/10/24 PHP
PHP count()函数讲解
2019/02/03 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
2020/04/04 PHP
索趣科技的答案
2007/02/07 Javascript
ajax页面无刷新 IE下遭遇Ajax缓存导致数据不更新的问题
2012/12/11 Javascript
window.location.href中url中数据量太大时的解决方法
2013/12/23 Javascript
javascript中AJAX用法实例分析
2015/01/30 Javascript
js完美解决IE6不支持position:fixed的bug
2015/04/24 Javascript
JQuery插件jcarousellite的参数中文说明
2015/05/11 Javascript
微信小程序左右滑动切换页面详解及实例代码
2017/02/28 Javascript
jackson解析json字符串,首字母大写会自动转为小写的方法
2017/12/22 Javascript
vue2.0项目实现路由跳转的方法详解
2018/06/21 Javascript
Vue项目中使用better-scroll实现一个轮播图自动播放功能
2018/12/03 Javascript
Vue 事件处理操作实例详解
2019/03/05 Javascript
微信小程序文章详情页跳转案例详解
2019/07/09 Javascript
Vue Router的手写实现方法实现
2020/03/02 Javascript
如何在JS文件中获取Vue组件
2020/09/16 Javascript
Node 使用express-http-proxy 做api网关的实现
2020/10/15 Javascript
[01:15:00]LGD vs Mineski Supermajor 胜者组 BO3 第一场 6.5
2018/06/06 DOTA
[04:59]DOTA2-DPC中国联赛 正赛 Ehome vs iG 选手采访
2021/03/11 DOTA
python使用fork实现守护进程的方法
2017/11/16 Python
Python基于matplotlib实现绘制三维图形功能示例
2018/01/18 Python
Tensorflow使用tfrecord输入数据格式
2018/06/19 Python
pymongo中聚合查询的使用方法
2019/03/22 Python
python实现日志按天分割
2019/07/22 Python
win10系统下python3安装及pip换源和使用教程
2020/01/06 Python
使用python3 实现插入数据到mysql
2020/03/02 Python
python单例模式的应用场景实例讲解
2021/02/24 Python
canvas与html5实现视频截图功能示例
2016/12/15 HTML / CSS
教师节促销活动方案
2014/02/14 职场文书
市场营销工作计划书
2014/05/06 职场文书
2015年中职班主任工作总结
2015/05/25 职场文书