tesorflow中的Graph对象

Posted forsch

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tesorflow中的Graph对象相关的知识,希望对你有一定的参考价值。

创建图对象

import tensorflow as tf
import numpy as np

a = tf.constant(123)
print(a.graph)
print(tf.get_default_graph())
<tensorflow.python.framework.ops.Graph object at 0x7f46885216d8>
<tensorflow.python.framework.ops.Graph object at 0x7f46885216d8>

当tensorflow库被加载时,即使用户没有显示地创建一个图,他也会自动创建一个图对象,并将其作为默认的额数据流图。

创建显示图

import tensorflow as tf
import numpy as np

g= tf.Graph() #创建了一个图对象g
with g.as_default(): # 将g设置为默认图像
    a = tf.constant(123)
    print(a.graph)
    print(tf.get_default_graph())
<tensorflow.python.framework.ops.Graph object at 0x7f466363b2e8>
<tensorflow.python.framework.ops.Graph object at 0x7f466363b2e8>

as_default():返回一个上下文管理器,使得当前图对象称为当前默认图对象;在一个进程中创建多个人图对象时(图对象互不依赖),非常有用。

get_default_graph():获取当前图对象的句柄(某个事务的唯一标识)。

创建多个图

import tensorflow as tf 
import numpy as np

g1 = tf.Graph()
g2 = tf.Graph()

with g1.as_default():
    a = tf.constant(123)
    print(a.graph)
    print(tf.get_default_graph())
    
with g2.as_default():
    b = tf.multiply(2, 3)
    print(b.graph)
    print(tf.get_default_graph())
<tensorflow.python.framework.ops.Graph object at 0x7f466363b630>
<tensorflow.python.framework.ops.Graph object at 0x7f466363b630>
<tensorflow.python.framework.ops.Graph object at 0x7f4688609b00>
<tensorflow.python.framework.ops.Graph object at 0x7f4688609b00>

Tensor 对象 a 和 b 所属的图已不再一样,随着as_default()的值变化而变化。

以上是关于tesorflow中的Graph对象的主要内容,如果未能解决你的问题,请参考以下文章

Tesorflow-自动编码器(AutoEncoder)

Ubuntu 16.04 + tesorflow环境配置

假期续命充电——简单上手tesorflow2 框架

VSCode自定义代码片段——JS中的面向对象编程

VSCode自定义代码片段9——JS中的面向对象编程

OpenCV的dnn模块调用TesorFlow训练的MoblieNet模型