如何将超过1个输入传递到Tensorflow神经网络?

时间:2017-08-08 09:23:11

标签: machine-learning tensorflow

我被困在将3个输入(具有不同形状的占位符)传递到神经网络的隐藏层中。

这是我到目前为止所做的:

with tf.name_scope("Final_Check"):
    # TODO: Is this the correct way to pass 3 inputs into the hidden layer?
    final_layer1 = tf.layers.dense([self.final_time_input, self.final_request_input, self.final_stream_input],
                                   500,
                                   activation=tf.nn.relu,
                                   name="final_hl1")
    final_layer2 = tf.layers.dense(final_layer1,
                                   500,
                                   activation=tf.nn.relu,
                                   name="final_h12")
    final_layer3 = tf.layers.dense(final_layer2,
                                   500,
                                   activation=tf.nn.relu,
                                   name="final_hl3")

    final_output = tf.layers.dense(final_layer3,
                                   500,
                                   activation=tf.nn.relu,
                                   name="final_output")

占位符:

  1. self.final_time_input
  2. self.final_request_input
  3. self.final_stream_input
  4. 隐藏层:所有final_layer [1-3]和final_output

    我尝试使用Google搜索一些示例代码但无法找到任何代码。

1 个答案:

答案 0 :(得分:1)

tf.layers.dense期待张量输入。在您的案例中,它是一个列表([self.final_time_input, self.final_request_input, self.final_stream_input])。您需要使用tf.concat连接它们

tf.concat([self.final_time_input, self.final_request_input, self.final_stream_input], axis=1)

假设输入张量的形状为[batch_size, feature_size],其中feature_size可以不同。