在图中添加操作而不使用with-as子句

由于你可以执行以下操作:

with tf.Session() as sess:    # 在此处使用 sess.run() 运行内容

但也可以这样做:

init = tf.global_variables_initializer()sess = tf.Session()sess.run(init)sess.run(x)

我想知道是否可以对图的创建执行类似的操作,比如:

a_graph = tf.Graph()x = tf.placeholder(dtype=tf.float32, name='test')a_graph.add(x)

当然,传统上向图中添加节点/操作的方法是…

with a_graph.as_default():    x = tf.placeholder(dtype=tf.float32, name='test')

我在文档中没有找到相关信息… 而且 dir(a_graph) 也没有显示一个简单的 .add() 方法。我能想到的唯一方法是将一些操作添加到集合中… 但我不知道具体该怎么做。


回答:

总是可以手动进入/退出上下文管理器:

# 进入 `graph` 上下文cm = graph.as_default()cm.__enter__()print(tf.get_default_graph() == graph)  # True# 现在所有节点都添加到 `graph` 中x = tf.placeholder(dtype=tf.float32, name='x')y = tf.placeholder(dtype=tf.float32, name='y')# 退出上下文cm.__exit__(None, None, None)

但我觉得使用 with 语句的版本看起来更简洁。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注