TensorFlow belgelerine göre , sınıfın prefetchve mapyöntemlerinin tf.contrib.data.Datasether ikisinin de adında bir parametre vardır buffer_size.
İçin prefetchbir yöntem, bir parametre olarak bilinir buffer_sizeve 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 mapbir yöntem, bir parametre olarak bilinir output_buffer_sizeve 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.
shuffleYö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?
DatasetAş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)
bufferYukarıdaki kod parçacığındaki parametreler nasıl bir rol oynuyor ?