เป็นต่อ TensorFlow เอกสารที่prefetch
และmap
วิธีการของการเรียนทั้งสองมีพารามิเตอร์ที่เรียกว่าtf.contrib.data.Dataset
buffer_size
สำหรับprefetch
วิธีการพารามิเตอร์เรียกว่าbuffer_size
และตามเอกสารประกอบ:
buffer_size: tf.int64 สเกลาร์ tf.Tensor แสดงถึงองค์ประกอบจำนวนสูงสุดที่จะถูกบัฟเฟอร์เมื่อดึงข้อมูลล่วงหน้า
สำหรับmap
วิธีการนี้พารามิเตอร์เรียกว่าoutput_buffer_size
และตามเอกสารประกอบ:
output_buffer_size: (ไม่บังคับ) tf.int64 สเกลาร์ tf.Tensor แสดงจำนวนองค์ประกอบที่ประมวลผลสูงสุดที่จะถูกบัฟเฟอร์
ในทำนองเดียวกันสำหรับshuffle
วิธีการนี้ปริมาณเดียวกันจะปรากฏขึ้นและตามเอกสารประกอบ:
buffer_size: tf.int64 สเกลาร์ tf.Tensor ซึ่งแสดงจำนวนองค์ประกอบจากชุดข้อมูลนี้ซึ่งชุดข้อมูลใหม่จะสุ่มตัวอย่าง
ความสัมพันธ์ระหว่างพารามิเตอร์เหล่านี้คืออะไร?
สมมติว่าฉันสร้างDataset
วัตถุดังต่อไปนี้:
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
พารามิเตอร์ในข้อมูลโค้ดด้านบนมีบทบาทอย่างไร