[PYTHON] Validieren Sie das Trainingsmodell mit Pylearn2

Wir werden erklären, wie die Überprüfung anhand der in Pylearn 2 trainierten Modell- und Testdaten durchgeführt wird.

Testdaten lesen

Testdaten können aus dem Modul pylearn2.datasets oder der pkl-Datei gelesen werden. Nach dem Lesen können Sie sich auf den Eingabewert in data.X und den Ausgabewert in data.y beziehen.

Beim Lesen von MNIST-Datensätzen aus dem Modul pylearn2.datasets:

from pylearn2.datasets import mnist

data = mnist.MNIST(which_set="train")

Beim Lesen einer pkl-Datei:

import pickle

data = pickle.load(open("path/to/test_dataset.pkl"))

Laden Sie das Modell

Das Modell nach dem Training ist eine pkl-Datei, die Sie lesen können.

import pickle

model= pickle.load(open("path/to/model.pkl"))

Berechnen Sie den vorhergesagten Wert

Erstellen Sie eine Funktion zur Berechnung des vorhergesagten Werts. Sie können den vorhergesagten Wert erhalten, indem Sie die Funktion theano mit der fprop-Methode des Modells generieren und den Eingabewert an diese Funktion übergeben. Der Speicherplatz kann sich jedoch zwischen der fprop-Eingabe und der Dataset-Eingabe unterscheiden. Verwenden Sie daher Space # format_as, um die Konvertierung durchzuführen. Die generierte Funktion kann den vorhergesagten Wert für mehrere Eingabewerte gleichzeitig berechnen. Der vorhergesagte Wert wird mehrmals berechnet. Wenn Sie alles auf einmal berechnen, geht Ihnen möglicherweise der Speicher aus. Die folgende Funktion verwendet das X des Datensatzes als Eingabe und das Modell als Modell.

import theano
from pylearn2.space import VectorSpace

...

def simulate(inputs, model):
    space = VectorSpace(inputs.shape[1])
    X = space.get_theano_batch()
    Y = model.fprop(space.format_as(X, model.get_input_space()))
    f = theano.function([X], Y)
    result = []
    batch_size = 100
    for x in xrange(0, len(inputs), batch_size):
      result.extend(f(inputs[x:x + batch_size]))
    return result

Aggregieren Sie die Ergebnisse

Im Falle einer statistischen Klassifizierung kann sie wie folgt aggregiert werden. Übergeben Sie den Rückgabewert von simulate an die Ausgaben der folgenden Funktion und übergeben Sie y des Datasets an Labels. Verwenden Sie den Argmax von numpy, um das Element zu finden, das die Ausgabe maximiert, und vergleichen Sie es mit y im Datensatz.

import numpy as np

...

def count_correct(outputs, labels):
    correct = 0;
    for output, label in zip(outputs, labels):
        if np.argmax(output) == label:
            correct += 1
    return correct

Anwendungsbeispiel

Hier ist ein Beispiel für die Verwendung des MNIST-Datasets.

import pickle
from pylearn2.datasets import mnist

model = pickle.load(open("path/to/model.pkl"))
data = mnist.MNIST(which_set="test")

predicts = simulate(data.X, model)
correct = count_correct(predicts, data.y)
print "{} / {}".format(correct, len(data.X))

Verweise

http://fastml.com/how-to-get-predictions-from-pylearn2/

Recommended Posts

Validieren Sie das Trainingsmodell mit Pylearn2
Kalibrieren Sie das Modell mit PyCaret
Entdecken Sie das Labyrinth mit erweitertem Lernen
Management von Modellen für maschinelles Lernen, um Streitigkeiten mit der Unternehmensseite zu vermeiden
Lassen Sie uns die Hyperparameter des Modells mit scikit-learn abstimmen!
Achtung Seq2 Führen Sie das Dialogmodell mit Seq aus
Ich habe versucht, das Modell mit der Low-Code-Bibliothek für maschinelles Lernen "PyCaret" zu visualisieren.
Ein Modell, das die Gitarre mit fast.ai identifiziert
Die Geschichte des tiefen Lernens mit TPU
Belichtung des DCGAN-Modells für Cifar 10 mit Keras
Lösen des Lorenz 96-Modells mit Julia und Python
Herausforderung Blockbruch mit Actor-Critic-Modell zur Stärkung des Lernens
Laden Sie die TensorFlow-Modelldatei .pb mit readNetFromTensorflow ().
Python lernen mit ChemTHEATER 03
"Objektorientiert" mit Python gelernt
Python lernen mit ChemTHEATER 05-1
Modellbefestigung mit lmfit
Python lernen mit ChemTHEATER 01
Maschinelles Lernen mit Bildern der Kategorie Caffe -1 unter Verwendung eines Referenzmodells
Regression mit einem linearen Modell
Zusammenfassung des grundlegenden Ablaufs des maschinellen Lernens mit Python
Aufzeichnung der ersten Herausforderung des maschinellen Lernens mit Keras
Ich habe mit Docker eine API erstellt, die den vorhergesagten Wert des maschinellen Lernmodells zurückgibt
Versuchen Sie, die Leistung des Modells für maschinelles Lernen / Regression zu bewerten
Verstärkungslernen in kürzester Zeit mit Keras mit OpenAI Gym
Implementieren Sie mit Open Modelica das mathematische Modell "SIR-Modell" von Infektionskrankheiten
Genießen Sie das Gray-Scott-Modell mit Kurzcode mithilfe der Matrixberechnung
Versuchen Sie, die Leistung des Modells für maschinelles Lernen / Klassifizierung zu bewerten
Erkennen Sie Ihren Chef mit Deep Learning und verbergen Sie den Bildschirm
Echtzeit-Bilderkennung auf Mobilgeräten mithilfe des TensorFlow-Lernmodells
Ich habe das Toho-Projekt mit Deep Learning aufgenommen ... ich wollte.
Analysieren Sie das Themenmodell, mit GensimPy3 Romanautor zu werden
Ich habe versucht, in einem tief erlernten Sprachmodell zu schreiben
Lassen Sie uns word2vec mit Chainer verschieben und den Lernfortschritt sehen
Modell des maschinellen Lernens unter Berücksichtigung der Wartbarkeit
Maschinelles Lernen mit Pokemon gelernt
Versuchen Sie es mit TensorFlow
Setzen Sie den Debugger mit der Nase ein
Verbessertes Lernen ab Python
Über das Lernen mit Google Colab
Maschinelles Lernen mit Python! Vorbereitung
Deep Kernel Learning mit Pyro
Versuchen Sie Deep Learning mit FPGA
Errate das Passwort mit klee
Linux am schnellsten mit AWS lernen
gethostbyaddr () kommuniziert mit der Außenwelt
Maschinelles Lernen Minesweeper mit PyTorch
Verwenden Sie Maxout + CNN mit Pylearn2
Schaben Nikkei Durchschnitt mit Dramatiker-Python
Überprüfen Sie den Code mit flake8
Rufen Sie die API mit python3 auf.
Iterative Verarbeitung von Python durch Chemoinfomatik gelernt
Versuchen Sie es mit Kaggle leicht maschinell
Generiere Pokemon mit Deep Learning
Eine Geschichte, die mit der Installation der maschinellen Lernbibliothek JAX zusammenhängt
[Maschinelles Lernen] Überprüfen Sie die Leistung des Klassifikators anhand handgeschriebener Zeichendaten
[In-Database Python Analysis-Lernprogramm mit SQL Server 2017] Schritt 6: Verwenden des Modells