tensorflow - tensorflow中无法获取数据集的shape属性值?
问题描述
您可以检查以下代码,
import tensorflow as tf
data = tf.data.Dataset.range(10)
tf.print(data)
输出是
<RangeDataset shapes: (), types: tf.int64>
形状是空的。
解决方案
就像 python 一样range
,Dataset.range
也不返回实际值。相反,它返回一个类似于生成器的对象,称为RangeDataset
. 要获得一个 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]
有关其用法的更多示例,您可以查看文档
推荐阅读
- python-3.x - 我不能在 UPDATE SQL 中使用列表
- python - 读取制表符分隔的 CSV 文件
- python - 多个excel文件 - Python
- selenium - 自动完成搜索中列出的元素的 XPATH 定位器
- c - 组装说明阅读,泄漏
- python - 从字符串列表中删除空字符串
- oauth-2.0 - 在linkedin开发人员中创建应用程序时未在OAuth 2.0范围中添加任何权限
- swift - tabbar 过渡动画 topbar 颜色问题
- python - Docker 映像中的日期、时间和时区错误。无法设置
- python - ValueError:没有为使用 Keras 功能 API 的任何变量提供渐变