AttributeError: type object 'DatasetV2' has no attribute 'parallel_interleave'
AttributeError: type object 'DatasetV2' has no attribute 'parallel_interleave'
我在 tensorflow 2 数据集上尝试使用 apply 方法时遇到此错误,这是我编写的代码:
from tensorflow import data as tfdata
dataset = tfdata.Dataset.list_files(
self._file_pattern,
shuffle=self._is_training,
seed=tf.random.set_random_seed(int(time.time() * 1e9)))
if self._is_training:
dataset = dataset.repeat()
然后应用方法:
# Prefetch data from files.
def _prefetch_dataset(filename):
dataset = tfdata.TFRecordDataset(
filename, buffer_size=BUFFER_SIZE).prefetch(1)
return dataset
dataset = dataset.apply(
tfdata.Dataset.parallel_interleave(
_prefetch_dataset, cycle_length=32, sloppy=self._is_training))
在 tensorflow 2.x 中我们不再需要使用 apply
方法。只需使用 dataset = dataset.interleave()
而不是 dataset.apply(tf.data.experimental.parallel_interleave
())
我在 tensorflow 2 数据集上尝试使用 apply 方法时遇到此错误,这是我编写的代码:
from tensorflow import data as tfdata
dataset = tfdata.Dataset.list_files(
self._file_pattern,
shuffle=self._is_training,
seed=tf.random.set_random_seed(int(time.time() * 1e9)))
if self._is_training:
dataset = dataset.repeat()
然后应用方法:
# Prefetch data from files.
def _prefetch_dataset(filename):
dataset = tfdata.TFRecordDataset(
filename, buffer_size=BUFFER_SIZE).prefetch(1)
return dataset
dataset = dataset.apply(
tfdata.Dataset.parallel_interleave(
_prefetch_dataset, cycle_length=32, sloppy=self._is_training))
在 tensorflow 2.x 中我们不再需要使用 apply
方法。只需使用 dataset = dataset.interleave()
而不是 dataset.apply(tf.data.experimental.parallel_interleave
())