Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Cấu hình dataset TensorFlow cho hiệu năng (cache, shuffle, prefetch) Python

Tối ưu pipeline dữ liệu TensorFlow với cache(), shuffle(), prefetch().

Mã ví dụ

print("Cấu hình dataset cho hiệu năng...")
AUTOTUNE = tf.data.AUTOTUNE

train_ds = train_ds.cache().shuffle(1000).prefetch(buffer_size=AUTOTUNE)
val_ds = val_ds.cache().prefetch(buffer_size=AUTOTUNE)

Kết quả

Cấu hình dataset cho hiệu năng

Giải thích

  • cache(): Giữ dữ liệu trong RAM sau epoch đầu tiên. Tránh đọc disk lặp lại. Nếu dữ liệu quá lớn, dùng cache('filename') để cache trên disk.
  • shuffle(1000): Xáo trộn buffer 1000 mẫu. Quan trọng cho training (giảm overfitting, batch đa dạng). Chỉ áp dụng cho train_ds.
  • prefetch(AUTOTUNE): Tiền tải batch tiếp theo song song với training (overlap preprocessing và GPU compute). AUTOTUNE tự động điều chỉnh buffer size.
  • Thứ tự chuẩn: cache() -> shuffle() -> batch() -> prefetch().
  • Validation không cần shuffle.