Я использую следующий код для выполнения операции левого сдвига в TensorArray old_array
:
import tensorflow as tf
old_array = [tf.zeros((1, 2)), tf.zeros((1, 2))]
def left_shift(ol=None):
if ol is None:
ol = old_array
val = tf.random.normal((1, 2))
an_array = [ol[1], val]
return an_array
old_array = left_shift().copy()
sess = tf.Session()
for _ in range(5):
x, y = sess.run([old_array, left_shift()])
# y = sess.run(left_shift())
print(y)
В коде нет ошибок, но x[0]
всегда является набором 0
«S. x[1]
меняется с каждой итерацией. y
имеет желаемый результат.
Что здесь не так? Любая помощь очень ценится.
PS: Если есть более простой способ сделать операцию левого сдвига в Tensorflow, пожалуйста, дайте мне знать.