Я новичок в TensorFlow, и я хотел бы знать, что существует какой-либо конкретный порядок установки набора данных с использованием tfdata. Например:
data_files = tf.gfile.Glob("%s%s%s" % ("./data/cifar-100-binary/", self.data_key, ".bin"))
data = tf.data.FixedLengthRecordDataset(data_files, record_bytes=3074)
data = data.map(self.load_transform)
if self.shuffle_key:
data = data.shuffle(5000)
data = data.batch(self.batch_size).repeat(100)
iterator = data.make_one_shot_iterator()
img, label = iterator.get_next()
# label = tf.one_hot(label, depth=100)
print('img_shape:', img.shape)
В этом случае я читаю данные, затем перетасовываю данные, затем выполняю партию и повторяю спецификации. При использовании этого метода ОЗУ моего компьютера увеличивается на 2%
и затем я попробовал еще один метод:
data_files = tf.gfile.Glob("%s%s%s" % ("./data/cifar-100-binary/", self.data_key, ".bin"))
data = tf.data.FixedLengthRecordDataset(data_files, record_bytes=3074)
data = data.map(self.load_transform)
data = data.batch(self.batch_size).repeat(100)
if self.shuffle_key:
data = data.shuffle(5000)
iterator = data.make_one_shot_iterator()
img, label = iterator.get_next()
# label = tf.one_hot(label, depth=100)
print('img_shape:', img.shape)
так что в этом случае, когда я сначала указываю размер пакета, повторяю, а затем перемешиваю использование ОЗУ, увеличивается на 40% (я не знаю почему), было бы здорово, если бы кто-то помог мне разобраться с этим.
Так есть ли последовательность, которой я всегда должен следовать, чтобы определить набор данных в тензорном потоке, используя tf.data?