Sesuai dokumentasi TensorFlow , metode prefetchdan kelas, keduanya memiliki parameter yang dipanggil .maptf.contrib.data.Datasetbuffer_size
Untuk prefetchmetode, parameternya dikenal sebagai buffer_sizedan menurut dokumentasi:
buffer_size: Skalar tf.int64 tf.Tensor, mewakili jumlah elemen maksimum yang akan di-buffer ketika melakukan prefetching.
Untuk mapmetode ini, parameternya dikenal sebagai output_buffer_sizedan menurut dokumentasi:
output_buffer_size: (Opsional.) Skalar tf.int64 tf.Tensor, mewakili jumlah maksimum elemen yang diproses yang akan di-buffer.
Demikian pula untuk shufflemetode, kuantitas yang sama muncul dan menurut dokumentasi:
buffer_size: Skalar tf.int64 tf.Tensor, yang mewakili jumlah elemen dari kumpulan data ini yang akan dijadikan sampel untuk kumpulan data baru.
Apa hubungan antara parameter ini?
Misalkan saya membuat Datasetobjek sebagai berikut:
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)
Peran apa yang dimainkan oleh bufferparameter dalam cuplikan di atas?