TensorFlow belgelerine göre , sınıfın prefetch
ve map
yöntemlerinin tf.contrib.data.Dataset
her ikisinin de adında bir parametre vardır buffer_size
.
İçin prefetch
bir yöntem, bir parametre olarak bilinir buffer_size
ve belgelerine göre:
buffer_size: tf.int64 skaler tf.Tensor, ön getirme sırasında arabelleğe alınacak maksimum sayıda öğeyi temsil eder.
İçin map
bir yöntem, bir parametre olarak bilinir output_buffer_size
ve belgelerine göre:
output_buffer_size: (İsteğe bağlı.) Arabelleğe alınacak maksimum işlenmiş öğe sayısını temsil eden tf.int64 skaler tf.Tensor.
shuffle
Yöntem için benzer şekilde , aynı miktar görünür ve belgelere göre:
buffer_size: Yeni veri kümesinin örnekleyeceği bu veri kümesinden öğe sayısını temsil eden tf.int64 skalar tf.Tensor.
Bu parametreler arasındaki ilişki nedir?
Dataset
Aşağıdaki gibi bir nesne oluşturduğumu varsayalım :
tr_data = TFRecordDataset(trainfilenames)
tr_data = tr_data.map(providefortraining, output_buffer_size=10 * trainbatchsize, num_parallel_calls\
=5)
tr_data = tr_data.shuffle(buffer_size= 100 * trainbatchsize)
tr_data = tr_data.prefetch(buffer_size = 10 * trainbatchsize)
tr_data = tr_data.batch(trainbatchsize)
buffer
Yukarıdaki kod parçacığındaki parametreler nasıl bir rol oynuyor ?