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'


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)