如何运行对TensorArray进行运算?

How to run the TensorArray operation?

我想评估 tf.TensorArray 创建的 TensorArray 操作的输出:

ta = tf.TensorArray(dtype=tf.float32, size=2)

with tf.Session():
    ta_output=tf.get_default_graph().get_tensor_by_name("TensorArray:0")
    print(ta_output.eval())

但是我得到了以下错误:

InternalError: ndarray was 1 bytes but TF_Tensor was 134 bytes

这个错误是什么意思?

This pageTensorArray class 的详细 [​​=22=] 文档。

在从 TensorArray 对象读取之前,您需要使用 write() 方法向它写入至少一个值。由于您在问题上应用了标签 tensorflow2.0,我将在 TensorFlow 2.0 API 中编写示例,这更简单并且不涉及 Session 对象:

import tensorflow as tf

ta = tf.TensorArray(dtype=tf.float32, size=2)

ta.write(tf.constant(0),
         tf.constant([[1, 2], [3, 4]], dtype=tf.float32))
ta.write(tf.constant(1),
         tf.constant([[-1, -2], [-3, -4]], dtype=tf.float32))

print(ta.stack())

如果这能解决您的问题,请告诉我。