Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Tensorflow:如何在另一个图上初始化变量?

Tensorflow:如何在另一个图上初始化变量?
EN

Stack Overflow用户
提问于 2017-10-23 09:04:39
回答 2查看 2.7K关注 0票数 3

我有一个默认图和一个新创建的图(G1)。

在G1中,我有一个名为"a“的变量。

我可以使用tf.import_graph_def将G1包含到主图上,并公开它的"a“变量。

如何初始化此变量并成功打印"a“?的值

以下是实际代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import tensorflow as tf

INT = tf.int32


def graph():
    g = tf.Graph()
    with g.as_default() as g:
        a = tf.get_variable('a', [], INT, tf.constant_initializer(10))
    return g


tf.reset_default_graph()

g = graph()
[g_a] = tf.import_graph_def(g.as_graph_def(), return_elements=['a:0'])

with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    print(sess.run(g_a))

上面的内容不起作用,它将在FailedPreconditionError: Attempting to use uninitialized value import/a中出错。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-31 04:01:05

出现错误的原因是当您导入一个图def时,没有任何变量和值被导入或还原。

如果您执行以下操作,可以在另一个图中使用变量:

  • 在会话中声明变量,然后运行tf.global_variables_initalizer()
  • 保存变量
  • 导入graph_def后,恢复变量
  • 重要:当导入图def时,使用名称=‘’来使用与其他图相同的名称空间,否则会出现错误

最起码的例子是如何做到这一点:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import tensorflow as tf

INT = tf.int32

def graph():
    g = tf.Graph()
    with tf.Session(graph=g) as sess:
        a = tf.get_variable("a", shape=[1], dtype=INT, initializer=tf.constant_initializer(10))
        sess.run(tf.global_variables_initializer())
        saver = tf.train.Saver()
        saver.save(sess, './test_dir/test_save.ckpt')
        return g


g = graph()

tf.reset_default_graph()

g_a = tf.import_graph_def(g.as_graph_def(), return_elements=['a:0'], name='')

with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    second_saver = tf.train.Saver(var_list=g_a)
    second_saver.restore(sess, './test_dir/test_save.ckpt')
    a = sess.graph.get_tensor_by_name('a:0')
    print(sess.run(a))
票数 4
EN

Stack Overflow用户

发布于 2017-10-23 13:47:26

您所需要的是tensorflow文档中的详细内容:

model

请参阅此部分与关联代码示例:

选择要保存和恢复的变量

如果不向tf.train.Saver()传递任何参数,则保护程序将处理图中的所有变量。每个变量都以创建变量时传递的名称保存。

有时,显式地为检查点文件中的变量指定名称很有用。例如,您可能已经使用一个名为“权重”的变量训练了一个模型,该变量的值要还原为一个名为"params“的变量。

有时只保存或恢复模型使用的变量的子集也很有用。例如,你可能已经训练了一个五层的神经网络,现在你想要训练一个六层的新模型,它重用了五个训练层的现有权重。您可以使用保护程序来恢复前五层的权重。

通过向tf.train.Saver()构造函数传递以下任一项,您可以轻松地指定要保存或加载的名称和变量:

  • 变量列表(将以自己的名称存储)。
  • Python字典,其中键是要使用的名称,值是要管理的变量。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46894808

复制
相关文章
TensorFlow架构与设计:变量初始化
作者:刘光聪 原文:http://www.jianshu.com/p/bebcdfb74fb1?utm_campaign=hugo&utm_medium=reader_share&utm_conte
用户1737318
2018/07/20
6590
tensorflow: variable初始化
tf.global_variables_initializer() 将在其创建时查看全局图并自动将依赖关系添加到图中的每个 tf.initializer。
JNingWei
2018/09/28
1.2K0
如何在折线图上添加动画效果?
要在 Chart.js 的折线图上添加动画效果,可以使用 Chart.js 提供的配置选项来实现。以下是一个示例,展示了如何在折线图上添加简单的动画效果:
王小婷
2023/09/09
4650
Tensorflow:模型变量保存
[1]Tensorflow实战Google深度学习框架: https://github.com/caicloud/tensorflow-tutorial/tree/master/Deep_Learning_with_TensorFlow/1.4.0
演化计算与人工智能
2020/08/14
1.3K0
TensorFlow 使用变量共享
TensorFlow中的变量一般就是模型的参数。当模型复杂的时候共享变量会无比复杂。
10JQKA
2018/08/15
1.3K0
2.2 TensorFlow变量管理
版权声明:本文为博主原创文章,未经博主允许不得转载。python版本为python3,实例都是经过实际验证。 https://blog.csdn.net/jinxiaonian11/article/details/83038677
锦小年
2019/05/27
8190
共享变量 tensorflow解读
你可以在怎么使用变量中所描述的方式来创建,初始化,保存及加载单一的变量.但是当创建复杂的模块时,通常你需要共享大量变量集并且如果你还想在同一个地方初始化这所有的变量,我们又该怎么做呢.本教程就是演示如何使用tf.variable_scope() 和tf.get_variable()两个方法来实现这一点.
用户1332428
2018/07/26
7310
spinlock变量没有初始化
上面是do_raw_spin_lock函数调用,如果开启CONFIG_DEBUG_SPINLOCK配置项的话,就会进入到debug_spin_lock_before函数中。
DragonKingZhu
2020/03/24
1.5K0
TensorFlow中的Variable 变量
在 Tensorflow 中,定义了某字符串是变量,它才是变量,这一点是与 Python 所不同的。
软件架构师Michael
2022/12/24
9430
Go初始化变量的招式
年初的立的各种Flag,已经被我抛到九霄云外去了。2018年已经过去了一半,终于开始了第三篇文章,距离全年30篇的输出计划,仅剩27本,我很有“信心完成”剩下的部分。
大愚
2019/01/07
7220
实例变量的懒初始化
今天遇到一个很有趣的问题,由于业务要求,需要懒初始化一个实例变量。 简单方法 很顺手就写出下面的代码。 public class LazyFieldInitializer { private Object obj = null; public LazyFieldInitializer(){ } public void someOp(){ if(obj == null){ obj = new Object(); }
jeremyxu
2018/05/10
2K0
Python变量之白首如新,倾盖如故
python中的变量 变量:将运算的中间结果暂存到内存中,方便后续程序调用。 变量的命名规则: 1、变量名由字母、数字、下划线组成。 2、变量名可以用字母、下划线开头,但是不能以数字开头。 3、变量名是区分大小写的。 4、变量名不能使用关键字。 5、变量名最好不要用中文或者拼音。 6、变量名最好起的要有意义,具有描述性。 7、变量名最好不要太长。 8、变量名最好使用驼峰命名法或者下划线命名法。
py3study
2020/01/17
5770
如何在相关矩阵图上添加p-value
这篇文章可以说是《怎么分析和展示RNAseq基因表达数据中基因的相关性》的延续。上次绘制了下图:
王诗翔呀
2020/07/03
1.7K0
【C 语言】结构体 ( 结构体类型变量初始化 | 定义变量时进行初始化 | 定义隐式结构体时声明变量并初始化 | 定义普通结构体时声明变量并初始化 )
文章目录 一、结构体类型变量初始化 1、定义变量时进行初始化 2、定义普通结构体时声明变量并初始化 3、定义隐式结构体时声明变量并初始化 二、完整代码示例 一、结构体类型变量初始化 ---- 1、定义变量时进行初始化 结构体类型如下 : typedef struct Teacher { char name[20]; int age; int id; }Teacher; 定义结构体变量时 , 进行初始化操作 : // 1.1 定义变量的同时进行初始化 Teacher
韩曙亮
2023/03/29
1.5K0
如何在CDSW上运行TensorFlow
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 Fayson的github:https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1.文档编写目的 前面Fayson也介绍了CDSW的安装及CDSW使用的一些知识,本篇文章主要介绍如何在CDSW平台上运行一个TensorFlow的示例,在学习本章知识前,你需要知道以下知识: 《如何在Windows Server2008搭建DNS服务并配置泛域名解析》 《如何利用Dnsmasq构建小型集群的
企鹅号小编
2018/02/02
1.5K0
如何在CDSW上运行TensorFlow
如何在CDSW上运行TensorFlow
前面Fayson也介绍了CDSW的安装及CDSW使用的一些知识,本篇文章主要介绍如何在CDSW平台上运行一个TensorFlow的示例,在学习本章知识前,你需要知道以下知识:
Fayson
2018/03/29
1.4K0
TensorFlow修炼之道(2)——变量(Variable)
变量(Variable)是 TensorFlow 中程序处理的共享持久状态的最佳方法。与常量不同的时,常量创建后,值便无法更改,但是变量创建后 可以修改。并且修改后的值在多个Session中都是可以看见的。
abs_zero
2018/04/11
1.2K0
tensorflow: 打印内存中的变量
法一: 循环打印 模板 for (x, y) in zip(tf.global_variables(), sess.run(tf.global_variables())): print '\n', x, y 实例 # coding=utf-8 import tensorflow as tf def func(in_put, layer_name, is_training=True): with tf.variable_scope(layer_name, reuse=tf.AUT
JNingWei
2018/09/28
1.9K0
周末重温——TensorFlow之参数初始化
CNN中最重要的就是参数了,包括W和b。训练CNN的最终目的就是得到最好的参数,使得目标函数取得最小值。参数的初始化也同样重要,因此微调受到很多人的重视。tf提供的所有初始化方法都定义在tensorflow/python/ops/init_ops.py。
lujohn3li
2021/06/10
1.1K0
Imageloader<5>-ImageLoader的变量初始化
UIHandler可以在loadImage时初始化,其余的变量统一在init方法中初始化。getInstance提供让用户自定义线程池线程数量和加载策略的方法。
小小工匠
2021/08/16
4440

相似问题

Tensorflow初始化变量

20

Tensorflow变量初始化

10

使用tensorflow用另一个变量初始化变量

11

如何在Tensorflow中动态初始化变量?

218

TensorFlow:多次初始化变量

15
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文