TL;DR
Lesen Sie mehr über "Efficient Net" für einen großartigen Artikel. Qiita - Erklärung des stärksten Bilderkennungsmodells im Jahr 2019, EfficientNet
Dieser Artikel zeigt Ihnen, wie Sie EfficientNet am schnellsten testen können.
Wir haben eine Demo für Google Colabatory vorbereitet. Verwenden Sie diese.
GoogleColabratory - transfer_learning_EfficientNet
Ich habe versucht, nur den wichtigen Teil der Code- und Modelldefinition aus der obigen Google Collaboration zu extrahieren. Jetzt können Sie EfficientNet verwenden. Wenn Sie sich fragen, was Sie mit dem Rest des Lernteils tun sollen, verschieben Sie bitte die obige Demo.
EfficientNet.py
import tensorflow as tf
import tensorflow_hub as hub
from tensorflow.keras import layers
#Bitte ändern Sie die Anzahl der Klassen entsprechend den Daten
num_classes = 10
#URL ist diese Seite https://tfhub.dev/google/collections/efficientnet/1
#Das Modell, das Sie verwenden möchten, wird über die am Ende angegebene URL verwendet(B0-B7)Bitte wählen Sie eine aus
#Dieses Mal werde ich B0 verwenden
feature_extractor_url = "https://tfhub.dev/google/efficientnet/b0/feature-vector/1"
# width/Für die Höhe ist B0(224, 224)Wird empfohlen, also mache ich das
#Empfohlene Breite/Die Höhe https finden Sie auf dieser Seite://tfhub.dev/google/collections/efficientnet/1
feature_extractor_layer = hub.KerasLayer(feature_extractor_url,
input_shape=(224,224,3))
#Das erlernte Gewicht ist festgelegt
feature_extractor_layer.trainable = False
#Ich habe versucht, die Keras-Funktions-API zu verwenden, aber es hat nicht funktioniert.
#Nach dem offiziellen Tutorial ist es wie folgt
model = tf.keras.Sequential([
feature_extractor_layer,
layers.Dense(num_classes, activation='softmax')
])
Recommended Posts