我正在尝试在TensorFlow中使用while循环,但是正在努力了解R(R'Last) := Standard.Character('°');
的{{1}}参数。
在我的代码中,我有一个如下定义的神经网络:
body
然后我要运行10次此预测操作,将一次迭代的预测作为输入提供给下一次迭代。我的代码如下:
tf.while_loop
我很困惑的是将input_placeholder = tf.placeholder(dtype=np.float32, shape=[None, 2])
hidden_layer = tf.layers.dense(inputs=input_placeholder, units=10, activation=tf.nn.relu)
prediction_op = tf.layers.dense(inputs=hidden_layer, units=2)
参数使用什么。我需要主体进行当前迭代的预测,并将其设置为下一次迭代的输入。
我可以仅将num_steps = 10
condition = lambda step_num, input_placeholder: tf.less(step_num, num_steps)
_, final_prediction = tf.while_loop(condition, body, [step_num, latest_prediction])
用于body
吗?如果是这样,我应该如何告诉while循环在每次调用prediction_op
之后更新body
的值?还是应该以其他方式执行此操作?
谢谢!
答案 0 :(得分:1)
您可以具有如下的身体定义:
def body(step_num, latest_prediction):
hidden_layer = tf.layers.dense(inputs=latest_prediction, units=10, activation=tf.nn.relu)
prediction_op = tf.layers.dense(inputs=hidden_layer, units=2)
return step_num+1, prediction_op
,您可以将while_loop
修改为:
step_num = 0
input_placeholder = tf.placeholder(dtype=np.float32, shape=[None, 2])
condition = lambda step_num, input_placeholder: tf.less(step_num, num_steps)
_, final_prediction = tf.while_loop(condition, body, [step_num, input_placeholder])