[PYTHON] Validez le modèle d'entraînement avec Pylearn2

Nous expliquerons comment effectuer une vérification à l'aide du modèle et des données de test formés dans Pylearn 2.

Lire les données de test

Les données de test peuvent être lues à partir du module pylearn2.datasets ou du fichier pkl. Après lecture, vous pouvez vous référer à la valeur d'entrée dans data.X et à la valeur de sortie dans data.y.

Lors de la lecture des ensembles de données MNIST à partir du module pylearn2.datasets:

from pylearn2.datasets import mnist

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

Lors de la lecture d'un fichier pkl:

import pickle

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

Chargez le modèle

Le modèle après l'entraînement est un fichier pkl et vous pouvez le lire.

import pickle

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

Calculez la valeur prévue

Créez une fonction pour calculer la valeur prévue. Vous pouvez obtenir la valeur prédite en générant la fonction ano à l'aide de la méthode fprop du modèle et en transmettant la valeur d'entrée à cette fonction. Cependant, l'espace peut différer entre l'entrée fprop et l'entrée du jeu de données, utilisez donc Space # format_as pour effectuer la conversion. La fonction générée peut calculer la valeur prévue pour plusieurs valeurs d'entrée à la fois. La valeur prévue est calculée plusieurs fois, car si vous la calculez en une seule fois, vous risquez de manquer de mémoire. La fonction suivante prend le X de l'ensemble de données comme entrées et le modèle comme modèle.

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

Agréger les résultats

Dans le cas de la classification statistique, elle peut être agrégée comme suit. Transmettez la valeur de retour de simulate pour les sorties de la fonction suivante et transmettez y de l'ensemble de données pour les étiquettes. Utilisez l'argmax de numpy pour trouver l'élément qui maximise la sortie et le comparer à y dans l'ensemble de données.

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

Exemple d'utilisation

Voici un exemple d'utilisation du jeu de données MNIST.

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))

Les références

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

Recommended Posts

Validez le modèle d'entraînement avec Pylearn2
Calibrer le modèle avec PyCaret
Explorez le labyrinthe avec l'apprentissage augmenté
Gestion des modèles d'apprentissage automatique pour éviter de se quereller avec le côté commercial
Affinons les hyper paramètres du modèle avec scikit-learn!
Attention Seq2 Exécutez le modèle de dialogue avec Seq
J'ai essayé de visualiser le modèle avec la bibliothèque d'apprentissage automatique low-code "PyCaret"
Un modèle qui identifie la guitare avec fast.ai
L'histoire de l'apprentissage profond avec TPU
Présentation du modèle DCGAN pour Cifar 10 avec keras
Résolution du modèle Lorenz 96 avec Julia et Python
Défier la rupture avec le modèle Actor-Critic renforçant l'apprentissage
Chargez le fichier de modèle TensorFlow .pb avec readNetFromTensorflow ().
Apprendre Python avec ChemTHEATER 03
"Orienté objet" appris avec python
Apprendre Python avec ChemTHEATER 05-1
Montage du modèle avec lmfit
Apprendre Python avec ChemTHEATER 01
Apprentissage automatique avec des images de catégorie Caffe -1 à l'aide du modèle de référence
Régression avec un modèle linéaire
Résumé du flux de base de l'apprentissage automatique avec Python
Bilan du premier défi du machine learning avec Keras
J'ai créé une API avec Docker qui renvoie la valeur prédite du modèle d'apprentissage automatique
Essayez d'évaluer les performances du modèle d'apprentissage automatique / de régression
Apprentissage par renforcement dans les plus brefs délais avec Keras avec OpenAI Gym
Implémenter le modèle mathématique «modèle SIR» des maladies infectieuses avec Open Modelica
Profitez du modèle Gray-Scott avec un code court utilisant le calcul matriciel
Essayez d'évaluer les performances du modèle d'apprentissage automatique / de classification
Reconnaissez votre patron avec Deep Learning et masquez l'écran
Reconnaissance d'image en temps réel sur les appareils mobiles à l'aide du modèle d'apprentissage TensorFlow
J'ai capturé le projet Toho avec Deep Learning ... je le voulais.
Analysez le modèle thématique pour devenir romancier avec GensimPy3
J'ai essayé d'écrire dans un modèle de langage profondément appris
Déplaçons word2vec avec Chainer et voyons la progression de l'apprentissage
Modèle d'apprentissage automatique prenant en compte la maintenabilité
L'apprentissage automatique appris avec Pokemon
Essayez l'apprentissage en profondeur avec TensorFlow
Insérez le débogueur avec le nez
Apprentissage amélioré à partir de Python
À propos de l'apprentissage avec Google Colab
Apprentissage automatique avec Python! Préparation
Apprentissage profond du noyau avec Pyro
Essayez le Deep Learning avec FPGA
Devinez le mot de passe avec klee
L'apprentissage le plus rapide sous Linux avec AWS
gethostbyaddr () communique avec l'extérieur
Démineur d'apprentissage automatique avec PyTorch
Utilisez Maxout + CNN avec Pylearn2
Gratter la moyenne du Nikkei avec le dramaturge-python
Vérifiez le code avec flake8
Appelez l'API avec python3.
Traitement itératif Python appris avec ChemoInfomatics
Essayez le machine learning à la légère avec Kaggle
Générez des Pokémon avec Deep Learning
Une histoire coincée avec l'installation de la bibliothèque de machine learning JAX
[Apprentissage automatique] Vérifiez les performances du classificateur à l'aide de données de caractères manuscrites
[Didacticiel d'analyse Python dans la base de données avec SQL Server 2017] Étape 6: Utilisation du modèle