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

Cách triển khai Transfer Learning trong Python với Keras

TensorFlow framework ML của Google. Keras API deep learning Python trên TensorFlow. Transfer learning: đóng băng các lớp dưới, chỉ huấn luyện lớp trên cùng.

Sử dụng Google Colab. Code Sequential model, nạp trọng số tiền huấn luyện, đóng băng tất cả trừ lớp cuối, recompile và train:

Ví dụ

model = keras.Sequential([
    keras.Input(shape=(784,)),
    layers.Dense(32, activation='relu'),
    layers.Dense(32, activation='relu'),
    layers.Dense(32, activation='relu'),
    layers.Dense(10),
])
print("Nạp trọng số tiền huấn luyện")
model.load_weights(...)
print("Đóng băng tất cả lớp trừ lớp cuối")
for layer in model.layers[:-1]:
    layer.trainable = False
print("Biên dịch lại và huấn luyện")
print("Trọng số lớp cuối sẽ được cập nhật")
model.compile(...)
model.fit(...)

Nguồn: TensorFlow Guide

Đầu ra

Nạp trọng số tiền huấn luyện
Đóng băng tất cả lớp trừ lớp cuối
Biên dịch lại và huấn luyện
Trọng số lớp cuối sẽ được cập nhật

Giải thích

  • Transfer learning: đóng băng lớp dưới, train lớp trên.
  • Xây dựng Sequential model.
  • Nạp trọng số pre-trained.
  • Lặp qua các layer, đặt layer.trainable = False trừ layer cuối.
  • Recompile và fit.