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 = Falsetrừ layer cuối. - Recompile và fit.