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

默认本系列的的读者已经初步熟悉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)使用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 详解Tensorflow数据读取有三种方式(next_batch)

    Tensorflow数据读取有三种方式: Preloaded data: 预加载数据 Feeding: Python产生数据,再把数据喂给后端. Reading from file: 从文件中直接读取 这三种有读取方式有什么区别呢? 我们首先要知道TensorFlow(TF)是怎么样工作的. TF的核心是用C++写的,这样的好处是运行快,缺点是调用不灵活.而Python恰好相反,所以结合两种语言的优势.涉及计算的核心算子和运行框架是用C++写的,并提供API给Python.Python调用这些A

  • 如何定义TensorFlow输入节点

    TensorFlow中有如下几种定义输入节点的方法. 通过占位符定义:一般使用这种方式. 通过字典类型定义:一般用于输入比较多的情况. 直接定义:一般很少使用. 一 占位符定义 示例: 具体使用tf.placeholder函数,代码如下: X = tf.placeholder("float") Y = tf.placeholder("float") 二 字典类型定义 1 实例 通过字典类型定义输入节点 2 关键代码 # 创建模型 # 占位符 inputdict =

  • TensorFlow基本的常量、变量和运算操作详解

    简介 深度学习需要熟悉使用一个框架,本人选择了TensorFlow,一边学习一边做项目,下面简要介绍TensorFlow中的基本常量.变量和运算操作,参考斯坦福大学的cs20si和TensorFlow官网API. 常量 tf.constant() tf.constant(value, dtype=None, shape=None, name='Const', verify_shape=False),value为值,dtype类型,shape为张量形状,name名称.verify_shape默认F

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

    默认本系列的的读者已经初步熟悉tensorflow. 我们通过tf.Variable构造一个variable添加进图中,Variable()构造函数需要变量的初始值(是一个任意类型.任意形状的tensor),这个初始值指定variable的类型和形状.通过Variable()构造函数后,此variable的类型和形状固定不能修改了,但值可以用assign方法修改. 如果想修改variable的shape,可以使用一个assign op,令validate_shape=False. 通过Varia

  • TensorFlow的环境配置与安装教程详解(win10+GeForce GTX1060+CUDA 9.0+cuDNN7.3+tensorflow-gpu 1.12.0+python3.5.5)

    记录一下安装win10+GeForce GTX1060+CUDA 9.0+cuDNN7.3+tensorflow-gpu 1.12.0+python3.5.5 之前已经安装过pycharm.Anaconda以及VS2013,因此,安装记录从此后开始 总体步骤大致如下: 1.确认自己电脑显卡型号是否支持CUDA(此处有坑) 此处有坑!不要管NVIDIA控制面板组件中显示的是CUDA9.2.148. 你下载的CUDA不一定需要匹配,尤其是CUDA9.2,最好使用CUDA9.0,我就在此坑摔的比较惨.

  • TensorFlow人工智能学习创建数据实现示例详解

    目录 一.数据创建 1.tf.constant() 2.tf.convert_to_tensor() 3.tf.zeros() 4.tf.fill() 二.数据随机初始化 ①tf.random.normal() ②tf.random.truncated_normal() ③tf.random.uniform() ④tf.random.shuffle() 一.数据创建 1.tf.constant() 创建自定义类型,自定义形状的数据,但不能创建类似于下面In [59]这样的,无法解释的数据. 2.

  • 关于TensorFlow新旧版本函数接口变化详解

    TensorFlow版本更新太快 了,所以导致一些以前接口函数不一致,会报错. 这里总结了一下自己犯的错,以防以后再碰到,也可以给别人参考. 首先我的cifar10的代码都是找到当前最新的tf官网给的,所以后面还有新的tf出来改动了的话,可能又会失效了. 1.python3:(unicode error) 'utf-8' codec can't decode 刚开始执行的时候就报这个错,很郁闷后来发现是因为我用多个编辑器编写, 保存.导致不同编辑器编码解码不一致,会报错.所以唯一的办法全程用 一

  • RC4加密关键变量及算法特点原理详解

    目录 什么是RC4 RC4算法特点 RC4加密的几个关键变量 RC4加密原理 什么是RC4 RC4加密算法是大名鼎鼎的RSA三人组中的头号人物Ron Rivest在1987年设计的密钥长度可变的流加密算法簇.RC4算法是一种在电子信息领域加密的技术手段,用于无线通信网络,是一种电子密码,只有经过授权的用户才能享受该服务. RC4 流密码是使用最广泛的流密码之一,它通过算法一次一个字节地加密消息,简单并且操作速度快. RC4是一种在电子信息领域加密的技术手段,用于无线通信网络,是一种电子密码,只有

  • C++构造函数初始化列表的实现详解

    目录 1.前言 2.初始化列表 3.注意事项 1.前言 初始化就是给变量一个初始值. 初始化的目的是为了让变量有值,防止使用时出现异常. 在构造函数中,有一项重要功能就是对成员变量进行初始化,一般我们采用两个方法: 对成员变量赋值和采用初始化列表 2.初始化列表 在这之前我们来观察一下样例看这两者之间有什么区别: class Date { public: Date(int year = 1900, int month = 1, int date = 1) { _year = year; _mon

  • Tensorflow 2.1完成对MPG回归预测详解

    目录 前言 1. 获取 Auto MPG 数据并进行数据的归一化处理 2. 对数据进行处理 搭建深度学习模型 使用 EarlyStoping 完成模型训练 使用测试数据对模型进行评估 使用模型进行预测 展示没有进行归一化操作的训练过程 前言 本文的主要内容是使用 cpu 版本的 tensorflor-2.1 完成对 Auto MPG 数据集的回归预测任务. 本文大纲 获取 Auto MPG 数据 对数据进行处理 搭建深度学习模型.并完成模型的配置和编译 使用 EarlyStoping 完成模型训

  • C++定义和初始化string对象实例详解

    目录 正文 定义string 初始化string 全面初始化 默认初始化 拷贝初始化 直接初始化 正文 在c++当中,标准类型string来代表可变长的字符串序列,使用string需要加载string 头文件,而方法定义在命名空间std当中,所以使用的基本结构: #include <string> int main(){ using std::string; string str1 = "hello world"; return 0; } 当然也可以结合之前的输入输出部分:

  • 基于js的变量提升和函数提升(详解)

    一.变量提升 在ES6之前,JavaScript没有块级作用域(一对花括号{}即为一个块级作用域),只有全局作用域和函数作用域.变量提升即将变量声明提升到它所在作用域的最开始的部分. 上个简历的例子如: console.log(global); // undefined var global = 'global'; console.log(global); // global function fn () { console.log(a); // undefined var a = 'aaa';

  • python变量不能以数字打头详解

    在编写python函数时,无意中发现一个问题:python中的变量不能以数字打头,以下函数中定义了一个变量3_num_varchar,执行时报错. 函数如下: def database_feild_varchar_trans(in_feild): ''' transfer the feild if varchar then 3times lang else no transfer ''' feild_split = in_feild.split(' ') is_varchar = feild_s

随机推荐