我是TensorFlow的新手,我正在尝试为TensorFlow中的回归模拟一个双层完全连接的神经网络。以下StackOverflow讨论中的答案显示了如何使用单层神经网络模型进行预测。但是,我觉得这种方法会因为更多层次而变得低效。
Making predictions with a TensorFlow model
有谁能告诉我,我如何使用TensorFlow模型进行预测? 我已经定义了我的网络,如下所示:
x = tf.placeholder(tf.float32,[None,n_input])
y = tf.placeholder(tf.float32,[None])
weights_h1 = tf.Variable(tf.truncated_normal([n_input, n_hidden_1]))
weights_h2 = tf.Variable(tf.truncated_normal([n_hidden_1, n_hidden_2]))
weights_out = tf.Variable(tf.truncated_normal([n_hidden_2, n_output]))
bias_b1 = tf.Variable(tf.truncated_normal([n_hidden_1]))
bias_b2 = tf.Variable(tf.truncated_normal([n_hidden_2]))
bias_out = tf.Variable(tf.truncated_normal([n_output]))
# Hidden layer with RELU activation
layer_1 = tf.add(tf.matmul(x, weights_h1), bias_b1)
layer_1 = tf.nn.relu(layer_1)
# Hidden layer with RELU activation
layer_2 = tf.add(tf.matmul(layer_1, weights_h2), bias_b2)
layer_2 = tf.nn.relu(layer_2)
# Output layer with linear activation
out_layer = tf.add(tf.matmul(layer_2, weights_out), bias_out)
使用以下命令,我可以训练我的神经网络模型。
_, training_error = sess.run([optimizer, loss], feed_dict={x: batch_x, y: batch_y})