op1=tf.image.random_brightness(placeholder_img3d_float32, max_delta=...)
op2=tf.image.random_contrast(placeholder_img3d_float32, lower=..., upper=...)
op3=tf.image.per_image_standardization(placeholder_img3d_float32)
如果我定义了这3个操作,然后我运行:
sess.run(op1, ...)
sess.run(op2, ...)
sess.run(op3, ...)
VS。正在运行:sess.run([op1, op2, op3], ...)
更新
这3个操作的张量图看起来似乎没有依赖关系,但右上角显示的local_placeholder
有5个输出,至少有一个输出这三个操作中的每一个。这是否意味着当我提供占位符时,它将运行3个操作,或者图中显示缺少依赖关系,告诉我虽然占位符是常见的,但没有依赖关系,只有op调用被处理?
答案 0 :(得分:0)
在会话中,您可以命令同时运行所有3个操作。但是,tensorflow内部会自动查找依赖关系。
假设您的第3个操作依赖于第2个操作,第2个操作依赖于第1个操作,您需要先运行第3个操作,然后会话对象将尝试首先运行第一个操作并尝试填充依赖关系然后转到其他步骤。
在tensorflow图中,您可以很好地观察依赖关系。每条灰线都会显示两个操作之间的数据流。虚线将显示每个变量的依赖关系。