tensorflow: variable的值与variable.read_value()的值区别详解

问题

查看 tensorflow api manual 时,看到关于 variable.read_value() 的注解如图:

那么在 tensorflow 中,variable的值 与 variable.read_value()的值 到底有何区别?

实验代码

# coding=utf-8
import tensorflow as tf

# Create a variable.
w = tf.Variable(initial_value=10., dtype=tf.float32)

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

print '\nw.read_value() :\n', w.read_value(), '\n', w.read_value().eval()
print '\nw :\n', w, '\n', w.eval()

sess.close()

由打印结果可看出,

variable的值 与 variable.read_value()的值 之间的 区别 仅仅在于 tensor类型 的不一样;

但 eval() 后打印出的结果值是 一样的 。

w.read_value() :
Tensor("read:0", shape=(), dtype=float32)
10.0

w :
<tf.Variable 'Variable:0' shape=() dtype=float32_ref>
10.0

以上这篇tensorflow: variable的值与variable.read_value()的值区别详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • tensorflow更改变量的值实例

    如下所示: from __future__ import print_function,division import tensorflow as tf #create a Variable w=tf.Variable(initial_value=[[1,2],[3,4]],dtype=tf.float32) x=tf.Variable(initial_value=[[1,1],[1,1]],dtype=tf.float32,validate_shape=False) init_op=tf.gl

  • tensorflow创建变量以及根据名称查找变量

    环境:Ubuntu14.04,tensorflow=1.4(bazel源码安装),Anaconda python=3.6 声明变量主要有两种方法:tf.Variable和 tf.get_variable,二者的最大区别是: (1) tf.Variable是一个类,自带很多属性函数:而 tf.get_variable是一个函数; (2) tf.Variable只能生成独一无二的变量,即如果给出的name已经存在,则会自动修改生成新的变量name; (3) tf.get_variable可以用于生成

  • 对tensorflow中tf.nn.conv1d和layers.conv1d的区别详解

    在用tensorflow做一维的卷积神经网络的时候会遇到tf.nn.conv1d和layers.conv1d这两个函数,但是这两个函数有什么区别呢,通过计算得到一些规律. 1.关于tf.nn.conv1d的解释,以下是Tensor Flow中关于tf.nn.conv1d的API注解: Computes a 1-D convolution given 3-D input and filter tensors. Given an input tensor of shape [batch, in_wi

  • tensorflow: variable的值与variable.read_value()的值区别详解

    问题 查看 tensorflow api manual 时,看到关于 variable.read_value() 的注解如图: 那么在 tensorflow 中,variable的值 与 variable.read_value()的值 到底有何区别? 实验代码 # coding=utf-8 import tensorflow as tf # Create a variable. w = tf.Variable(initial_value=10., dtype=tf.float32) sess =

  • tensorflow的ckpt及pb模型持久化方式及转化详解

    使用tensorflow训练模型的时候,模型持久化对我们来说非常重要. 如果我们的模型比较复杂,需要的数据比较多,那么在模型的训练时间会耗时很长.如果在训练过程中出现了模型不可预期的错误,导致训练意外终止,那么我们将会前功尽弃.为了解决这一问题,我们可以使用模型持久化(保存为ckpt文件格式)来保存我们在训练过程中的临时数据.. 如果我们训练出的模型需要提供给用户做离线预测,那么我们只需要完成前向传播过程.这个时候我们就可以使用模型持久化(保存为pb文件格式)来只保存前向传播过程中的变量并将变量

  • TensorFlow人工智能学习按索引取数据及维度变换详解

    目录 一.按索引取数据 ①tf.gather() ②tf.gather_nd ③tf.boolean_mask 二.维度变换 ①tf.reshape() ②tf.transpose() ③tf.expand_dims() ④tf.squeeze() 一.按索引取数据 ①tf.gather() 输入参数:数据.维度.索引 例:设数据是[4,35,8],4个班级,每个班级35个学生,每个学生8门课成绩. 则下面In [49]的意思是,全部四个班级,每个班级取编号为2,3,7,9,16的学生,每个学生

  • Tensorflow 2.4加载处理图片的三种方式详解

    目录 前言 数据准备 使用内置函数读取并处理磁盘数据 自定义方式读取和处理磁盘数据 从网络上下载数据 前言 本文通过使用 cpu 版本的 tensorflow 2.4 ,介绍三种方式进行加载和预处理图片数据. 这里我们要确保 tensorflow 在 2.4 版本以上 ,python 在 3.8 版本以上,因为版本太低有些内置函数无法使用,然后要提前安装好 pillow 和 tensorflow_datasets ,方便进行后续的数据加载和处理工作. 由于本文不对模型进行质量保证,只介绍数据的加

  • C++11右值引用和转发型引用教程详解

    右值引用 为了解决移动语义及完美转发问题,C++11标准引入了右值引用(rvalue reference)这一重要的新概念.右值引用采用T&&这一语法形式,比传统的引用T&(如今被称作左值引用 lvalue reference)多一个&. 如果把经由T&&这一语法形式所产生的引用类型都叫做右值引用,那么这种广义的右值引用又可分为以下三种类型: 无名右值引用 具名右值引用 转发型引用 无名右值引用和具名右值引用的引入主要是为了解决移动语义问题. 转发型引用的引

  • GO语言中的方法值和方法表达式的使用方法详解

    Go语言也称 Golang,兼具效率.性能.安全.健壮等特性. Go语言从底层原生支持并发,无须第三方库.开发者的编程技巧和开发经验就可以轻松搞定.本文重点给大家介绍go 方法值和方法表达式的知识. 手册上关于这块的解释感觉不是很详细清晰,经过几个示例自己总结了下这块的用法. 方法表达式:说简单点,其实就是方法对象赋值给变量. 这里有两种使用方式: 1)方法值:隐式调用, struct实例获取方法对象 2)  方法表达式:显示调用, struct类型获取方法对象, 需要传递struct实例对象作

  • tensorflow dataset.shuffle、dataset.batch、dataset.repeat顺序区别详解

    1.作用 dataset.shuffle作用是将数据进行打乱操作,传入参数为buffer_size,改参数为设置"打乱缓存区大小",也就是说程序会维持一个buffer_size大小的缓存,每次都会随机在这个缓存区抽取一定数量的数据 dataset.batch作用是将数据打包成batch_size dataset.repeat作用就是将数据重复使用多少epoch 2.各种不同顺序的区别 示例代码(以下面代码作为说明): # -*- coding: utf-8 -*- import ten

  • Django中get()和filter()返回值区别详解

    先上官方文档! filter(**kwargs) 返回包含与给定查找参数匹配的对象的新查询集. 简单来说,返回一个又对象组成的查询集合 get(**kwargs) 返回与给定查找参数匹配的对象,该对象应采用字段查找中描述的格式. 例子 例如在Model中有一个Order类,包含一个id字段,输入 id 为2019 字段的 id 1.get()方法 orders = Orders.objects.get(id=20190003) print(order) 先查看orders是什么,结果为 Orde

  • C++中左值和右值的区别详解

    目录 左值右值定义: 特性 左值引用, 右值引用 总结 左值右值定义: 左值指的是既能够出现在等号左边也能出现在等号右边的变量(或表达式),右值指的则是只能出现在等号右边的变量(或表达式). int a; int b; a = 1; b = 2; a = b; b = a; a + b = 3; // 非法表示 右值分为纯右值和将亡值: 纯右值:临时变量和不跟对象关联的字面量值 将亡值:在确保其他变量不再被使用或即将销毁时,通过盗取的方式,可以避免内存空间的释放和分配,能够延长变量值的生命期.右

随机推荐