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

Cách cấu hình tập flower dataset cho hiệu năng với TensorFlow (phiên bản 2)

Để cấu hình hiệu năng, dùng buffered prefetch kết hợp layer Rescaling. Layer này áp dụng qua Keras model, đưa rescaling layer vào định nghĩa model.

Mã ví dụ

AUTOTUNE = tf.data.AUTOTUNE
train_ds = train_ds.cache().prefetch(buffer_size=AUTOTUNE)
val_ds = val_ds.cache().prefetch(buffer_size=AUTOTUNE)
num_classes = 5

print("Xây dựng mô hình Sequential")
model = tf.keras.Sequential([
    layers.experimental.preprocessing.Rescaling(1./255),
    layers.Conv2D(32, 3, activation='relu'),
    layers.MaxPooling2D(),
    layers.Conv2D(32, 3, activation='relu'),
    layers.MaxPooling2D(),
    layers.Conv2D(32, 3, activation='relu'),
    layers.MaxPooling2D(),
    layers.Flatten(),
    layers.Dense(128, activation='relu'),
    layers.Dense(num_classes)
])

Nguồn mã: TensorFlow Images Tutorial

Đầu ra

Xây dựng mô hình Sequential

Giải thích

  • Buffered prefetch cho phép yield data từ disk mà không bị block I/O.
  • Bước quan trọng khi load data.
  • .cache() giữ ảnh trong RAM sau epoch đầu → dataset không thành bottleneck.
  • Nếu dataset quá lớn, .cache() tạo on-disk cache hiệu năng cao.
  • .prefetch() chồng chéo preprocessing và model execution khi training.