如何运行对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 page 有 TensorArray
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())
如果这能解决您的问题,请告诉我。
我想评估 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 page 有 TensorArray
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())
如果这能解决您的问题,请告诉我。