python - sess.run() 多个操作 vs 多个 sess.run()

标签 python tensorflow

在 tensorflow 中,如果我们想要运行多个操作,如果我们将列表中的操作传递给单个 sess.run() 与我们使用多个 sess.run() 但只向每个操作传递一个操作?

示例:

#!/usr/env/bin python
import tensorflow as tf

if __name__ == '__main__':
    v = tf.Variable(0)
    c = tf.constant(3)
    add = tf.add(v, c)
    update = tf.assign(v, add)
    mul = tf.multiply(add, update)
    init = tf.compat.v1.global_variables_initializer()

    # method 1
    with tf.Session() as sess:
        sess.run(init)
        print(sess.run(add))
        print(sess.run(mul))

    # method 2
    with tf.Session() as sess:
        print(sess.run([init, add, mul]))

编辑:最初我也想知道是否存在多个 session 会导致不同结果的情况,例如计算图中的依赖关系导致执行顺序不同等。但我没有在我的问题中明确说明这一点,只给出了一个相当虚拟的示例......

最佳答案

每次运行init时,所有权重都会随机初始化,因此无法通过这种方式进行比较。如果你真的想比较,我会运行以下代码:

#!/usr/env/bin python
import tensorflow as tf

if __name__ == '__main__':
    v = tf.Variable(0)
    c = tf.constant(3)
    add = tf.add(v, c)
    update = tf.assign(v, add)
    mul = tf.multiply(add, update)
    init = tf.compat.v1.global_variables_initializer()

    # method 1
    with tf.Session() as sess:
        sess.run(init)
        print(sess.run(add))
        print(sess.run(mul))
        print(sess.run([add, mul]))

关于python - sess.run() 多个操作 vs 多个 sess.run(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57516740/

相关文章:

python - 将数据 reshape 为 'closest square'

python - 将鼠标悬停在饼图上时更改饼图的颜色

python - 在python中添加动态表名

python - cx_freeze : How do I resolve conflicts caused by multiple . 同名dylib文件

python - 从经过训练的自动编码器中提取编码器和解码器

python-3.x - tensorflow 和 keras - SQS 生产中的快速推理

python - 基本 tensorflow 问题(输入和输出数组)

python - 使用 TF 2.0 提供 Tensorflow/Keras 模型时嵌入层的问题

python - python 解析器如何包含 "AT"文件(ini)

python - 无论 classifier.fit 中的步数如何,Tensorflow 都会返回相同的精度