TL;DR
En savoir plus sur "Efficient Net" pour un excellent article. Qiita - Explication du modèle de reconnaissance d'image le plus puissant en 2019, EfficientNet
Cet article se concentre sur vous montrer comment essayer EfficientNet le plus rapidement possible.
Nous avons préparé une démo Google Colabatory à exécuter, veuillez donc l'utiliser.
GoogleColabratory - transfer_learning_EfficientNet
J'ai essayé d'extraire uniquement la partie importante du code et de la définition du modèle de la collaboration Google ci-dessus. Vous pouvez maintenant utiliser EfficientNet. Si vous vous demandez quoi faire avec le reste de la partie d'apprentissage, veuillez déplacer la démo ci-dessus.
EfficientNet.py
import tensorflow as tf
import tensorflow_hub as hub
from tensorflow.keras import layers
#Veuillez modifier le nombre de classes de manière appropriée en fonction des données
num_classes = 10
#L'URL est cette page https://tfhub.dev/google/collections/efficientnet/1
#Le modèle que vous souhaitez utiliser à partir de l'URL répertoriée à la fin(B0-B7)Veuillez choisir l'un des
#Cette fois, j'utiliserai B0
feature_extractor_url = "https://tfhub.dev/google/efficientnet/b0/feature-vector/1"
# width/Pour la hauteur, B0 est(224, 224)Est recommandé, alors je le fais
#Largeur recommandée/Veuillez consulter cette page pour la hauteur https://tfhub.dev/google/collections/efficientnet/1
feature_extractor_layer = hub.KerasLayer(feature_extractor_url,
input_shape=(224,224,3))
#Le poids appris est fixe
feature_extractor_layer.trainable = False
#J'ai essayé d'utiliser l'API fonctionnelle Keras, mais cela n'a pas fonctionné.
#Suite au tutoriel officiel, c'est comme suit
model = tf.keras.Sequential([
feature_extractor_layer,
layers.Dense(num_classes, activation='softmax')
])
Recommended Posts