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

Cách dùng Keras trích xuất đặc trưng từ một lớp duy nhất của mô hình bằng Python

TensorFlow framework ML của Google. Keras API deep learning Python trên TensorFlow. Sequential model sau khi build hành xử như Functional API: mỗi lớp có input/output.

Sử dụng Google Colab. Code trích xuất đặc trưng từ một lớp trung gian cụ thể (đặt name="my_intermediate_layer"):

Ví dụ

print("Trích xuất đặc trưng từ một lớp")
initial_model = keras.Sequential(
    [
        keras.Input(shape=(250, 250, 3)),
        layers.Conv2D(32, 5, strides=2, activation="relu"),
        layers.Conv2D(32, 3, activation="relu", name="my_intermediate_layer"),
        layers.Conv2D(32, 3, activation="relu"),
    ]
)
print("Trích xuất đặc trưng từ mô hình")
feature_extractor = keras.Model(
    inputs=initial_model.inputs,
    outputs=initial_model.get_layer(name="my_intermediate_layer").output,
)
print("Gọi feature extractor trên dữ liệu test")
x = tf.ones((1, 250, 250, 3))
features = feature_extractor(x)

Nguồn: TensorFlow Guide

Đầu ra

Trích xuất đặc trưng từ một lớp
Trích xuất đặc trưng từ mô hình
Gọi feature extractor trên dữ liệu test

Giải thích

  • Sau khi kiến trúc mô hình sẵn sàng, huấn luyện.
  • Sau huấn luyện, đánh giá, lưu mô hình.
  • Có thể khôi phục khi cần.
  • Dùng nhiều GPU để tăng tốc huấn luyện.
  • Sequential model sau khi build hành xử như Functional API: mỗi lớp có input/output.
  • Trích xuất đặc trưng từ một lớp cụ thể.