检查tensorflow占位符是否已填满

时间:2017-04-03 01:21:01

标签: python tensorflow deep-learning

假设我在tensorflow中有两个占位符数量:placeholder_1和placeholder_2。基本上我想要以下计算功能:"如果定义了placeholder_1(即在sess.run()的feed_dict中给出了一个值),则将X计算为f(占位符_1),否则,将X计算为g(占位符_2) )&#34。将X视为神经网络中的隐藏层,可以选择以这两种不同的方式进行计算。最终我会使用X来产生输出,并且我想根据我使用的占位符将错误反向传播到f或g的参数。

有人可以使用tf.where(condition,x,y)函数完成此操作,如果有办法使条件" placeholder_1具有值",但是在查看关于布尔值的tensorflow文档之后并声称我找不到任何看似合适的东西。

有什么想法吗?我对如何通过复制部分网络,共享参数以及在更新后同步网络来实现这一目标有一个模糊的想法,但我希望有一种更清晰的方法来实现它。

1 个答案:

答案 0 :(得分:3)

您可以创建布尔类型的第三个占位符变量,以选择要使用的分支并在运行时将其输入。

它背后的逻辑是,既然你在运行时就会在placholders中喂食,你可以在张量流之外确定哪些占位符将被喂食。