z962086671 2023-06-20 12:52 采纳率: 40%
浏览 31

python:AttributeError: 'BatchDataset' object has no attribute 'as_numpy_iterator'

```python
#def create_batch_dataset(X, y, train=True, buffer_size=30, batch_size=8):
batch_data = tf.data.Dataset.from_tensor_slices((tf.constant(X), tf.constant(y))) # 数据封装,tensor类型
if train: # 训练集
return batch_data.cache().shuffle(buffer_size).batch(batch_size)
else: # 测试集
return batch_data.batch(batch_size)

# 训练批数据

```train_batch_dataset = create_batch_dataset(train_dataset, train_labels)

list(test_batch_dataset.as_numpy_iterator())[0]

#出现以下错误
#AttributeError: 'BatchDataset' object has no attribute 'as_numpy_iterator'

  • 写回答

1条回答 默认 最新

  • MarkHan_ 2023-06-20 13:05
    关注
    
    train_batch_dataset = create_batch_dataset(train_dataset, train_labels)
    
    # 将BatchDataset拆分回原始Dataset对象
    train_dataset_unbatched = train_batch_dataset.unbatch()
    
    # 转换为NumPy数组迭代器
    train_iterator = train_dataset_unbatched.as_numpy_iterator()
    
    # 获取第一个批次的数据
    first_batch = next(train_iterator)
    
    
    评论

报告相同问题?

问题事件

  • 创建了问题 6月20日