Verwendung des in Lobe in Python erlernten Modells

Lobe ist ein Tool, mit dem sich auf einfache Weise von Microsoft veröffentlichte Modelle für maschinelles Lernen erstellen lassen. Der folgende Artikel erklärt die Verwendung. Ich habe "Lobe" ausprobiert, wodurch es einfach ist, von Microsoft veröffentlichte Modelle für maschinelles Lernen zu trainieren.

In diesem Artikel möchte ich die Prozedur zum Exportieren des in Lobe erlernten Modells und zur Verwendung aus Python schreiben.

Exportieren Sie das gelernte Modell

Wählen Sie Datei-> Exportieren. スクリーンショット 2020-10-31 20.30.04.png

Da diesmal TensorFlow verwendet wird, wählen Sie es aus und geben Sie das Speicherziel an. スクリーンショット 2020-10-31 20.35.42.png

Wenn Sie Optimieren & Optimieren auswählen, können Sie das Modell optimieren und speichern. スクリーンショット 2020-10-31 20.39.02.png

Sie können das Modell exportieren, das Sie in den Schritten bis zu diesem Punkt gelernt haben.

Verwenden Sie das trainierte Modell in Python

Im Speicherziel des exportierten Modells befindet sich ein Ordner namens example. Es enthält Beispielcode (tf_example.py) zur Verwendung von TensorFlow.

Bei Verwendung der Befehlszeile:

# python example/tf_example.py 'Bildpfad'

Im Folgenden werden nur die minimal erforderlichen Teile aus dem Beispielcode beschrieben.

Import der benötigten Bibliotheken

predict.py


import json

import numpy as np
import tensorflow as tf
from PIL import Image

Lesen Sie die Eingabe- / Ausgabeinformationen aus der Signatur

predict.py


with open("Pfad, in dem Sie das Modell gespeichert haben/signature.json", "r") as f:
    signature = json.load(f)

inputs = signature.get('inputs')
outputs = signature.get('outputs')

Lastmodell

predict.py


#Für die TensorFlow1-Serie
session = tf.compat.v1.Session(graph=tf.Graph())
tf.compat.v1.saved_model.loader.load(sess=session, tags=signature.get("tags"), export_dir='Pfad, in dem Sie das Modell gespeichert haben')

#Für die TensorFlow 2-Serie
model = tf.saved_model.load('Pfad, in dem Sie das Modell gespeichert haben')
infer = model.signatures["serving_default"]

Bereiten Sie ein Bild vor, um es vorherzusagen

predict.py


#Holen Sie sich die Größe der Eingabe
input_width, input_height, input_channel = inputs["Image"]["shape"][1:]

#Für die TensorFlow1-Serie
image = Image.open('Bildpfad')
image = image.resize((input_width, input_height))
image = np.asarray(image) / 255.0
feed_dict = {inputs["Image"]["name"]: [image]}
fetches = [(key, output["name"]) for key, output in outputs.items()]

#Für die TensorFlow 2-Serie
image = Image.open('Bildpfad')
image = image.resize((input_width, input_height))
image = np.array(image, dtype=np.float32) / 255.0
image = image.reshape([1, input_width, input_height, input_channel])

Voraussagen machen

predict.py


#Für die TensorFlow1-Serie
output = session.run(fetches=[name for _, name in fetches], feed_dict=feed_dict)
print(output[0][0].decode())

#Für die TensorFlow 2-Serie
predict = infer(tf.constant(image))['Prediction'][0]
print(predict.numpy().decode())

Das oben in Lobe erlernte Modell ist von Python aus sehr einfach zu verwenden.

Ich habe den Beispielcode auf git hochgeladen. lobe_py

Ich habe eine REST-API in Kombination mit TensorFlow Serving erstellt. Erstellen Sie eine REST-API mit dem in Lobe und TensorFlow Serving erlernten Modell.

Lobe ist ab dem 31. Oktober in der Beta-Version. Die Modelle, die erstellt werden können, sind nur Bildklassifizierungen, aber es scheint, dass Objekterkennung und Datenklassifizierung in Zukunft hinzugefügt werden.

Recommended Posts

Verwendung des in Lobe in Python erlernten Modells
Verwendung von SQLite in Python
Wie man MySQL mit Python benutzt
Verwendung von ChemSpider in Python
Verwendung der Methode __call__ in der Python-Klasse
[Einführung in Python] Wie verwende ich eine Klasse in Python?
Verwendung regulärer Ausdrücke in Python
Verwendung ist und == in Python
Verwendung von Sternchen (*) in Python. Vielleicht ist das alles? ..
[Einführung in Python] Wie verwende ich den Operator in in der for-Anweisung?
Verwendung der Python-Bildbibliothek in der Python3-Serie
Zusammenfassung der Verwendung von MNIST mit Python
[Algorithmus x Python] Verwendung der Liste
Wie man tkinter mit Python in Pyenv benutzt
python3: Verwendung der Flasche (2)
Verwendung des Generators
[Python] Verwendung von Liste 1
Wie benutzt man Python Argparse?
Python: Wie man pydub benutzt
[Python] Verwendung von checkio
Wie man in Python entwickelt
[Python] Verwendung von input ()
Wie benutzt man den Dekorateur?
Wie benutzt man Python Lambda?
[Python] Verwendung von virtualenv
python3: Verwendung der Flasche (3)
python3: Wie man eine Flasche benutzt
Verwendung von Python-Bytes
So rufen Sie den n-ten größten Wert in Python ab
[Für Anfänger] Wie man den Befehl say mit Python benutzt!
So erhalten Sie den Variablennamen selbst in Python
So ermitteln Sie die Anzahl der Stellen in Python
Wie Sie das aktuelle Verzeichnis in Python in Blender kennen
Verwendung von Raspeye Relay Module Python
[Einführung in die Udemy Python3 + -Anwendung] 27. Verwendung des Wörterbuchs
Ich habe versucht zusammenzufassen, wie man Pandas von Python benutzt
[Einführung in die Udemy Python3 + -Anwendung] 30. Verwendung des Sets
[Python] So geben Sie Listenwerte der Reihe nach aus
Verwendung des japanischen Spacy-Modells mit Google Colaboratory
Ich möchte R-Datensatz mit Python verwenden
[Python] Wie man PCA mit Python macht
Python: So verwenden Sie Async mit
Verwendung der Zip-Funktion
Verwendung des optparse-Moduls
Verwendung von Klassen in Theano
[Python] Verwendung der Pandas-Serie
So sammeln Sie Bilder in Python
Verwendung von Anfragen (Python Library)
Im Python-Befehl zeigt Python auf Python3.8
So erhalten Sie die Python-Version
[Python] Verwendung von Liste 3 Hinzugefügt
Verwendung der Python-API von OpenPose
Python: Verwendung von pydub (Wiedergabe)
Verwendung der Zip-Funktion von Python
Verwendung des ConfigParser-Moduls
Umgang mit Japanisch mit Python
[Python] Verwendung der Typetalk-API
[Python] So überprüfen Sie, ob der Schlüssel im Wörterbuch vorhanden ist
[Python] Verwendung von Matplotlib, einer Bibliothek zum Zeichnen von Diagrammen