Используя Tensorflow в Python, я хочу использовать форму заполнителя для границы цикла for. Однако, когда я пытаюсь это сделать, я получаю сообщение об ошибке: объект «Тензор» не может быть интерпретирован как целое число. Эта форма не является постоянным значением для данных, поэтому мы не можем использовать tf.constant. Как мы можем решить эту проблему?
Вот часть нашего кода:
def Model(M, v_a, weights, biases, d, N):
c = multilayer_perceptron((tf.slice(M, [0, 0], ([d, 1]))), v_a, weights,
biases)
for i in range(1, N):
c = tf.concat([c, multilayer_perceptron((tf.slice(M, [0, i], [d, 1])),
v_a, weights, biases)], axis=0)
alpha = tf.nn.softmax(tf.reshape(c, [-1]))
v_ns = tf.matmul(M, tf.reshape(alpha, [N, 1]))
layer_3 = tf.add(tf.matmul(weights['W4'], v_ns), biases['b2'])
v_ms = tf.nn.tanh(layer_3)
layer_4 = tf.add(tf.matmul(weights['W5'], v_ms), biases['b3'])
pred = tf.nn.softmax(tf.reshape(layer_4, [-1]))
return pred
M = tf.placeholder(tf.float32)
Мне нужно, чтобы N было целым числом, но оно должно быть равно количеству столбцов заполнителя M, которое не является постоянным для обучающих примеров.