[PYTHON] [TensorFlow] Extraire des fonctionnalités du modèle entraîné Inception-v3

Dans TensorFlow, l'extraction de la quantité d'entités est effectuée à l'aide du modèle Inception-v3.

  1. Téléchargez le modèle entraîné depuis http://download.tensorflow.org/models/image/imagenet/inception-2015-12-05.tgz
  2. Décompressez le fichier ci-dessus et extrayez classify_image_graph_def.pb
  3. Code source feature_extraction.py

ʻRécrivez IMG_PATHetMODEL_PATH` en fonction de votre environnement.

import tensorflow as tf
import numpy as np

IMG_PATH = 'path/to/input/image.jpg'
MODEL_PATH = 'path/to/classify_image_graph_def.pb'

# Chargement du modèle entraîné
inception_v3 = tf.gfile.FastGFile(MODEL_PATH, 'rb')
graph_def =tf.GraphDef()
graph_def.ParseFromString(inception_v3.read())
tf.import_graph_def(graph_def, name='')

with tf.Session() as sess:
 # Spécifier la couche d'extraction
    pool3 = sess.graph.get_tensor_by_name('pool_3:0')

 #Lire l'image d'entrée
    image_data = tf.gfile.FastGFile(IMG_PATH, 'rb').read()

 # Extraction de fonctionnalités
    features = sess.run(pool3, {'DecodeJpeg/contents:0': image_data})
    print(np.squeeze(features))

Lors de la saisie d'un fichier PNG

Ce qui précède n'accepte que l'entrée de fichier JPEG. Si vous souhaitez saisir un fichier PNG, spécifiez le nœud «DecodeJpeg: 0» comme indiqué ci-dessous lors de l'extraction de la quantité de fonction.

features = sess.run(pool3, {'DecodeJpeg:0':image_data})

Recommended Posts

[TensorFlow] Extraire des fonctionnalités du modèle entraîné Inception-v3
Extrayez la quantité de caractéristiques (identité) du texte.
Utiliser le modèle entraîné fastText de Python
Extraire le nom du modèle de téléphone mobile de l'agent utilisateur
Extraction de données depuis S3
Extraire le tableau de wikipedia