Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีใช้ Keras ดึง Features จากเลเยอร์เดียวของโมเดลด้วย Python

TensorFlow: ML Framework Google Open-source Optimization คณิตศาสตร์ซับซ้อน ใช้ NumPy, Multi-dimensional arrays (Tensors) รองรับ Deep Neural Networks ติดตั้ง pip install tensorflow

Keras (ภาษากรีก: "Horn") จาก ONEIROS Deep Learning API Python ระดับสูง รันบน TensorFlow Scalable, Cross-platform (TPU, GPU, Web, Mobile) เข้าถึงด้วย from tensorflow import keras

ตัวอย่าง: Feature Extraction จากเลเยอร์เฉพาะ (Named Layer)

print("Feature extraction from one layer only")
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("Feature extraction from the model")
feature_extractor = keras.Model(
    inputs=initial_model.inputs,
    outputs=initial_model.get_layer(name="my_intermediate_layer").output,
)

print("The feature extractor method is called on test data")
x = tf.ones((1, 250, 250, 3))
features = feature_extractor(x)

Code credit: TensorFlow Keras Sequential Model Guide

ผลลัพธ์

Feature extraction form one layer only
Feature extraction form the model
The feature extractor method is called on test data

คำอธิบาย

  • สร้าง Architecture → Train → Evaluate → Save/Restore
  • ใช้ Multiple GPUs เร่งการเทรน
  • Sequential Model พัฒนาแล้วพฤติกรรมเหมือน Functional API Model
  • ทุกเลเยอร์มี Input/Output → สร้าง Feature Extractor จากเลเยอร์เฉพาะได้
  • ใช้ get_layer(name=...).output ดึง Output ของเลเยอร์ที่ต้องการ