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

Chuẩn hóa dữ liệu (standardize) TensorFlow với Rescaling layer Python

Chuẩn hóa pixel ảnh từ [0, 255] về [0, 1] bằng layer Rescaling trong TensorFlow/Keras.

Mã ví dụ

print("Tạo layer chuẩn hóa...")
normalization_layer = layers.experimental.preprocessing.Rescaling(1./255)

print("Áp dụng lên dataset bằng map...")
normalized_ds = train_ds.map(lambda x, y: (normalization_layer(x), y))

image_batch, labels_batch = next(iter(normalized_ds))
first_image = image_batch[0]
print("Min/Max sau chuẩn hóa:", np.min(first_image), np.max(first_image))

Kết quả

Tạo layer chuẩn hóa...
Áp dụng lên dataset bằng map...
Min/Max sau chuẩn hóa: 0.0 1.0

Giải thích

  • RGB gốc: [0, 255] → không lý tưởng cho neural network (gradient lớn, hội tụ chậm).
  • Rescaling(1./255): Nhân với 1/255 → đưa về [0, 1].
  • Cách 1: Áp dụng layer lên dataset qua .map() (tiền xử lý offline).
  • Cách 2: Nhúng layer vào mô hình (như bài 1003103413) → đơn giản hóa deployment, tự động áp dụng khi inference.
  • Kết quả min=0.0, max=1.0 xác nhận chuẩn hóa đúng.