无法在tensorflow中获取数据集的shape属性值?
Can not get the shape attribute value of a dataset in tensorflow?
您可以查看以下代码,
import tensorflow as tf
data = tf.data.Dataset.range(10)
tf.print(data)
输出为
<RangeDataset shapes: (), types: tf.int64>
形状是空的。
就像 python 的 range
一样,Dataset.range
也不是 return 的实际值。相反,它 return 是一个名为 RangeDataset
的 generator-like 对象。要获得一个 numpy 迭代器,您需要 RangeDataset.as_numpy_iterator
。然后,您可以将其转换为列表,就像使用 list(range(5))
:
一样
>>> tf.data.Dataset.range(5)
<RangeDataset shapes: (), types: tf.int64>
>>> list(tf.data.Dataset.range(5).as_numpy_iterator())
[0, 1, 2, 3, 4]
>>> range(5)
range(0, 5)
>>> list(range(5))
[0, 1, 2, 3, 4]
更多用法示例,可以查看documentation
您可以查看以下代码,
import tensorflow as tf
data = tf.data.Dataset.range(10)
tf.print(data)
输出为
<RangeDataset shapes: (), types: tf.int64>
形状是空的。
就像 python 的 range
一样,Dataset.range
也不是 return 的实际值。相反,它 return 是一个名为 RangeDataset
的 generator-like 对象。要获得一个 numpy 迭代器,您需要 RangeDataset.as_numpy_iterator
。然后,您可以将其转换为列表,就像使用 list(range(5))
:
>>> tf.data.Dataset.range(5)
<RangeDataset shapes: (), types: tf.int64>
>>> list(tf.data.Dataset.range(5).as_numpy_iterator())
[0, 1, 2, 3, 4]
>>> range(5)
range(0, 5)
>>> list(range(5))
[0, 1, 2, 3, 4]
更多用法示例,可以查看documentation