使用张量流将占位符与另一个占位符馈送



以下情况: 有一个生产服务器(C++(正在运行Tensorflow。那里的代码期望只有一个输入Placeholder,它被馈送到类似于feed_dict:{'input':...}。我无法更改服务器代码。我只能提供一个新的图表,它必须有一个叫做inputPlaceholder

使用tensorflow,我有一些代码可以创建两个具有不同范围的相同神经网络:

dnn1 = DNN(scope='dnn1')
dnn2 = DNN(scope='dnn2')

两个 DNN 都有一个输入Placeholder<tf.Tensor 'dnn1/input:0' shape=(50) dtype=float32><tf.Tensor 'dnn2/input:0' shape=(50) dtype=float32>

两个网络应该获得相同的输入。 如何使张量input流向图中的dnn1/inputdnn2/input?我也无法更改DNN类,因此最终我的图形将具有dnn1/inputdnn2/inputinput作为占位符,但生产代码只会提供input

创建一个输入占位符并将其用作两个网络的输入:

例如 DNN1:hidden1 = (input * W1) + b1

DNN2:hidden1 = (input * W1) + b1

你能做到吗?

默认情况下,您可以修改 DNN 占位符以采用生产输入占位符。因此,您仍然可以随时向他们提供自定义值。

session = tf.Session()
production_input = tf.placeholder(tf.float32, [50])
# Own placeholders
dnn_1_input = tf.placeholder_with_default(production_input, [50])
dnn_2_input = tf.placeholder_with_default(production_input, [50])
# Production environment call
result = session.run([dnn_1_input, dnn_2_input],
feed_dict={production_input: np.arange(50)})

相关内容

最新更新