原文:官网

一个Variable变量通过run()保存流程图中的状态;创建一个变量,即创建一个Variable类的实例加入graph中

Variable()构造器要求变量有初始化值,初始化值给出了Tensor的类型和形状。变量创建以后,变量的type和shape都被固定,变量的值可以通过assign方法改变。

如果想改变变量的shape,通过使用assign方法,并且设置validate_shape = False

可以通过其他变量初始化现有的变量,并且变量之间的算术运算也能再现有的graph中加入新节点。

流程如下:
import tensorflow as tf
#创建变量
w = tf.Variable(, name=)
# 用变量构建graph
y = tf.matmul(w, …another variable or tensor…)
#操作符被重载
z = tf.sigmoid(w + y)
# 通过assign() 或者related method给变量赋新值。
w.assign(w + 1.0)
w.assign_add(1.0)

当我们启动graph的时候,运行各个操作(ops)用到了图里的变量值,那变量必须在这之前被明确的初始化。可以运行variable的initializer ,从文件恢复(restoring)变量,或者赋值(assigne)操作给变量赋值。

例子:

在一个会话里启动图。

with tf.Session() as sess:# Run the variable initializer.sess.run(w.initializer)

..现在可以用使用操作w的运算符了(ops)…**

The most common initialization pattern is to use the convenience function global_variables_initializer() to add an Op to the graph that initializes all the variables. You then run that Op after launching the graph.
最常使用的初始化模式是用global_variables_initializer()添加一个op到已有的图中,这个操作会初始化图中所有的变量,

添加一个op作为全局变量初始化操作符。

init_op = tf.global_variables_initializer()

在会话(session)里启动图。

with tf.Session() as sess:# 运行可以初始化全局变量的这个操作符。sess.run(init_op)...现在可以运行任意的变量了...

当需要用其他变量初始化现有变量时,用其他变量的initialized_value()方法,这保证变量正确的被初始化。


全部的变量都自动被收集到创建得图上。默认的构造器添加新变量到collection GraphKeys.GLOBAL_VARIABLES中。可以用global_variables()函数得到collection全局的上下文


在构建一个机器学习模型的时候,经常需要区别哪些变量是该模型控制的可训练的参数,哪些变量是全局变量用来计数训练步骤等,因此所有的变量构造器支持一个trainable=的参数。如果设为True,这个新变量添加到collection GraphKeys.TRAINABLE_VARIABLES中,表示是模型控制的可训练参数。可以用trainable_variables()函数得到collection可训练的上下文。

各种优化器类使用此collection优化变量的默认列表

tensorflow API:tf.Variable相关推荐

  1. Tensorflow教程: tf.Variable() 和tf.get_variable()

    七月 上海 | 高性能计算之GPU CUDA培训 7月27-29日三天密集式学习  快速带你入门阅读全文> 正文共364个字,预计阅读时间8分钟. 一.简介 tf.Variable() 1tf. ...

  2. 啥是符号式API,命令式API:TF 2.0两种搭建都支持,该怎么选?

    原作 Josh Gordon  栗子 编译  量子位 出品 | 公众号 QbitAI TensorFlow 2.0有一个很友好的地方,就是提供了多种不同的抽象方式,可以根据自己的需求来选择.这些API ...

  3. 记录 之 tensorflow函数:tf.data.Dataset.from_tensor_slices

    tf.data.Dataset.from_tensor_slices(),是常见的数据处理函数,它的作用是将给定的元组(turple).列表(list).张量(tensor)等特征进行特征切片.切片的 ...

  4. TensorFlow函数:tf.ones

    tf.ones 函数 ones(shape,dtype=tf.float32,name=None ) 定义于:tensorflow/python/ops/array_ops.py. 请参阅指南:生成常 ...

  5. Tensorlow 中文API:tf.zeros() tf.ones()tf.fill()tf.constant()

    在程序中有一处不理解的地方 import basic.util.prints这个basic包找不到也搜不到,有知道的帮忙留言,谢谢 可以在下面使用print(data.eval())来输出结果 Ten ...

  6. 图解TensorFlow op:tf.strided_slice

    田海立@CSDN 2020-11-14 本文用图文的方式来解释TensorFlow中strided_slice算子运算的方式. 一.strided_slice原型 strided_slice在各个维度 ...

  7. c语言gather函数,TensorFlow函数:tf.gather_nd

    函数:tf.gather_ndgather_nd( params, indices, name=None ) 将参数中的切片收集到由索引指定的形状的张量中. 索引(indices)是一个 k 维整数张 ...

  8. tensorflow基础:tf.data.Dataset.from_tensor_slices() 与 tf.data.Dataset.from_generator()的异同

    tf.data.Dataset.from_tensor_slices(tensor): -->将tensor沿其第一个维度切片,返回一个含有N个样本的数据集(假设tensor的第一个维度为N). ...

  9. tensorflow基础:tf.data.Dataset.from_tensor_slices()

    tf.data.Dataset.from_tensor_slices() 语义解释:from_tensor_slices,从张量的切片读取数据. 工作原理:将输入的张量的第一个维度看做样本的个数,沿其 ...

最新文章

  1. 2021-08-08概率论与数理统计-第二章
  2. 编程之美2.10 寻找数组中的最大值和最小值
  3. PPP、MP 和 SLIP 配置(上)
  4. Luffy之Xadmin以及首页搭建(轮播图,导航)
  5. mysql新增阵列df_DF学Mysql(二)——数据表的基本操作
  6. matlab yalmip安装教程,如何在matlab路径中安装yalmip Matlab R2014a添加yalmip图文教程
  7. 禁止访问Apache目录
  8. Linux CentOS7/RHEL7关闭ctrl+alt+delete功能键
  9. C++ ORM ODB入门
  10. ts的小demo--贪吃蛇(尚硅谷教程笔记)
  11. Kafka权威指南-学习笔记---第四章
  12. ARP网关欺骗程序的实现(vs2008 winpacp)
  13. 计算机网络在电力系统继电保护的应用毕业论文,毕业论文 110kV电力系统继电保护的配置...
  14. 解决安装C4D打不开的问题 Cinema 4D R25 Mac中英文 支持M1intel处理器(附经验分享——lib4d文件如何导入)
  15. js-05--对象是什么、创建对象、对象使用、操作对象、遍历对象、内置对象、Math、任意范围随机数、日期对象、字符串对象
  16. 2021年新版阿里云服务器价格表(收费标准报价)
  17. 教你轻松获取windows10锁屏壁纸
  18. 华为颇无奈,徕卡或离它而去而与小米合作
  19. 我,27岁,程序员,9月无情被辞:想给做开发的提个醒…
  20. Hibernate中的一对多关系映射

热门文章

  1. 系统架构师考试需求大纲
  2. 24v中间继电器怎么控制220v交流接触器
  3. 台式机计算机图标不见了,台式机电脑输入法不见了怎么调出来
  4. h5+vue页面下滑查看更多 页面触底+页面滑动
  5. Revit族类型目录的使用
  6. pygame2D游戏开发
  7. 颜值高质量好的充电宝推荐,好看质量又好的充电宝盘点
  8. 浅谈大数据业务处理流程
  9. 2023/4/4 常见的五种网络通信协议
  10. 分布式监控平台——Zabbix