tensorflow编程: Variables

Variables

tf.Variable

Properties:

Properties

Usage

Return

Example for Print

w.device

返回 该variable 所在的 device

非Tensor

w.dtype

返回 该variable 的 DType

非Tensor

<dtype: 'float32_ref'>

w.graph

返回 该variable 的 Graph

非Tensor

<tensorflow.python.framework.ops.Graph object at 0x7fb06cdd2210>

w.initial_value

返回 该variable 的 初始值

Tensor

10.0

w.initializer

返回 该variable 的 初始op

非Tensor

(太长了就不放进来了)

w.name

返回 该variable 的 名称

非Tensor

Variable:0

w.op

返回 该variable 的 op

非Tensor

(太长了就不放进来了)

w.shape

返回 该variable 的 shape

非tensor

()

Methods:

Methods

Usage

Return

Example for Print

w.assign_add(10)

返回 该variable 加 10 之后 的 variable

Tensor

20.0

w.assign_sub(10)

返回 该variable 减 10 之后 的 variable

Tensor

10.0

w.assign(100)

返回 重新赋值为 100 之后 的 variable

Tensor

100.0

w.get_shape()

返回 该variable 的 shape

非Tensor

()

w.initialized_value()

返回 该variable 的 初始化值

Tensor

100.0

w.load(200)

将 新值 载入 此variable

200.0

w.read_value()

返回 该variable 的 值

Tensor

200.0

w.set_shape()

重置 该variable 的 shape

()

w.value()

返回 该variable 的 最后一个 快照

Tensor

200.0

# coding=utf-8
import tensorflow as tf

# 新建 variable
w = tf.Variable(initial_value=10., dtype=tf.float32)

sess = tf.InteractiveSession()
sess.run(tf.global_variables_initializer())

# Properties
print '\nw.device :\n', w.device
print '\nw.dtype :\n', w.dtype
print '\nw.graph :\n', w.graph
print '\nw.initial_value :\n', w.initial_value.eval()
print '\nw.initializer :\n', w.initializer
print '\nw.name :\n', w.name
print '\nw.op :\n', w.op
print '\nw.shape :\n', w.shape

# method
print '\ntf.add(w, 5) :\n', tf.add(w, 5).eval()
print '\nw.assign_add(10) :\n', w.assign_add(10).eval()
print '\nw.assign_sub(10) :\n', w.assign_sub(10).eval()
print '\nw.assign(100) :\n', w.assign(100).eval()
print '\nw.get_shape() :\n', w.get_shape()
print '\nw.initialized_value() :\n', w.initialized_value().eval()
w.load(200)
print '\nw.load(200) :\n', w.eval()
print '\nw.read_value() :\n', w.read_value().eval()
w.set_shape(())
print '\nw.set_shape() :\n', w.shape
print '\nw.value() :\n', w.value().eval()

sess.close()

结果输出:

w.device :


w.dtype :
<dtype: 'float32_ref'>

w.graph :
<tensorflow.python.framework.ops.Graph object at 0x7fb06cdd2210>

w.initial_value :
10.0

w.initializer :
name: "Variable/Assign"
op: "Assign"
input: "Variable"
input: "Variable/initial_value"
(折叠。。。)

w.name :
Variable:0

w.op :
name: "Variable"
op: "VariableV2"
(折叠。。。)

w.shape :
()

tf.add(w, 5) :
15.0

w.assign_add(10) :
20.0

w.assign_sub(10) :
10.0

w.assign(100) :
100.0

w.get_shape() :
()

w.initialized_value() :
100.0

w.load(200) :
200.0

w.read_value() :
200.0

w.set_shape() :
()

w.value() :
200.0

Variable helper functions

tf.global_variables

tf.local_variables

tf.model_variables

tf.trainable_variables

tf.moving_average_variables tf.global_variables_initializer tf.local_variables_initializer tf.variables_initializer tf.is_variable_initialized tf.report_uninitialized_variables tf.assert_variables_initialized tf.assign tf.assign_add tf.assign_sub


Saving and Restoring Variables

tf.train.Saver tf.train.latest_checkpoint tf.train.get_checkpoint_state tf.train.update_checkpoint_state


Sharing Variables

tf.get_variable tf.get_local_variable tf.VariableScope tf.variable_scope tf.variable_op_scope tf.get_variable_scope tf.make_template tf.no_regularizer tf.constant_initializer tf.random_normal_initializer tf.truncated_normal_initializer tf.random_uniform_initializer tf.uniform_unit_scaling_initializer tf.zeros_initializer tf.ones_initializer tf.orthogonal_initializer


Variable Partitioners for Sharding


Sparse Variable Updates


Exporting and Importing Meta Graphs



本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏快乐八哥

JavaScript内置对象--Math对象

在JavaScript开发中,除了简单加减乘除运算之外,有时候开发,特别是动画或者游戏开发中,需要使用复杂的数学运算。JavaScript中Math对象提供了一...

27450
来自专栏猿人谷

求子数组的最大和

分析:输入一个整形数组,数组里有正数也有负数,数组中一个或连续的多个正数,求所有子数组的和的最大值。 当我们加上一个正数时,和会增加;当我们加上一个负数时,和会...

204100
来自专栏数据结构与算法

P3374 【模板】树状数组 1 单点修改与区间查询

题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某一个数加上x 2.求出某区间每一个数的和 输入输出格式 输入格式: 第一行包含两个整数N...

31170
来自专栏http://www.cnblogs.com

生成器&迭代器

一.生成器 在介绍生成器表达式之前,先看下列表表达式: 1 >>> l = [i for i in range(50) if i % 2] #生成...

353100
来自专栏软件开发 -- 分享 互助 成长

C++STL 之排列

固然我们可以自己使用递归编写全排列程序,但是既然STL里面已将有了这个功能为什么不直接用呢,下面就写一下直接使用C++ STL生成全排序的程序 函数名:next...

21370
来自专栏前端黑板报

ES6-arrows

从今天开始记录学习ES6的知识点,这次学习的是新增:Arrow functions Arrows以=>为简写形式,特点: 语法简洁 文法固定的this对象 总是...

22050
来自专栏专注研发

交换排序—冒泡排序(Bubble Sort)

在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们...

13820
来自专栏锦小年的博客

Python数据分析(3)-numpy中nd数组的创建

1、ndarray的内存结构 和其他的库一样,每个库都可能有自己独特的数据结构,例如OpenCV,numpy库的多维数组叫做ndarray( N dimensi...

24480
来自专栏calmound

最小生成树判断唯一

题意:若最小生成树唯一则输出权值和,若不唯一输出Not Not Unique! 运用prim算法将最小生成树求出,然后在依次枚举删除最小生成树中的每一条边,判断...

36540
来自专栏技术碎碎念

LeetCode-15-3Sum

Given an array S of n integers, are there elements a, b, c in S such that a + b ...

396110

扫码关注云+社区

领取腾讯云代金券