使用张量流

时间:2018-06-01 10:25:29

标签: python tensorflow

以下情况: 有一个运行tensorflow的生产服务器(C ++)。那里的代码预计只有一个输入Placeholder,其输入类似于feed_dict:{'input':...}。我无法更改服务器代码。我只能提供一个新图表,该图表必须有一个名为Placeholder的{​​{1}}。

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

input

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

两个网络都应该获得相同的输入。 如何在图表中使张量<tf.Tensor 'dnn2/input:0' shape=(50) dtype=float32>流向inputdnn1/input?我也无法更改dnn2/input类,因此最终我的图表将DNNdnn1/inputdnn2/input作为占位符,但只有input才会由生产代码提供。

2 个答案:

答案 0 :(得分:0)

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

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

DNN2: hidden1 = (input * W1) + b1

你能这样做吗?

答案 1 :(得分:0)

您可以修改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)})