[PYTHON] [TensorFlow] Extrahieren Sie Funktionen aus dem trainierten Modell Inception-v3

In TensorFlow wird die Merkmalmengenextraktion mithilfe des Inception-v3-Modells durchgeführt.

  1. Laden Sie das trainierte Modell von herunter http://download.tensorflow.org/models/image/imagenet/inception-2015-12-05.tgz
  2. Entpacken Sie die obige Datei und extrahieren Sie classify_image_graph_def.pb
  3. Quellcode feature_extraction.py

Schreiben Sie "IMG_PATH" und "MODEL_PATH" entsprechend Ihrer Umgebung neu.

import tensorflow as tf
import numpy as np

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

# Geladenes trainiertes Modell laden
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:
 # Angabe der Extraktionsschicht
    pool3 = sess.graph.get_tensor_by_name('pool_3:0')

 # Eingabebild lesen
    image_data = tf.gfile.FastGFile(IMG_PATH, 'rb').read()

 # Extraktion von Features
    features = sess.run(pool3, {'DecodeJpeg/contents:0': image_data})
    print(np.squeeze(features))

Bei der Eingabe einer PNG-Datei

Das Obige akzeptiert nur die Eingabe von JPEG-Dateien. Wenn Sie eine PNG-Datei eingeben möchten, geben Sie beim Extrahieren des Feature-Betrags den Knoten 'DecodeJpeg: 0' an, wie unten gezeigt.

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

Recommended Posts

[TensorFlow] Extrahieren Sie Funktionen aus dem trainierten Modell Inception-v3
Extrahieren Sie die Merkmalsmenge (Identität) aus dem Text.
Verwenden Sie das von fastText trainierte Modell von Python
Extrahieren Sie den Modellnamen des Mobiltelefons aus dem User Agent
Daten aus S3 extrahieren
Tabelle aus Wikipedia extrahieren