[PYTHON] Obtenez la valeur de la couche intermédiaire de NN

Cette fois, j'ai essayé l'encodeur automatique. Pour expliquer brièvement le codeur automatique, il s'agit d'un mécanisme qui correspond au nombre de dimensions de la couche d'entrée et de la couche de sortie et entraîne la couche intermédiaire dans un plus petit nombre de dimensions. Il semble qu'il soit utilisé pour la détection d'anomalies en utilisation réelle et pour l'extraction de caractéristiques telles que la suppression du bruit.

Modèle d'encodeur automatique

nn.py


model = Sequential()
model.add(Dense(50, activation='relu', input_dim=len(x_train[0])))
model.add(Dense(len(x_train[0]), activation='sigmoid'))
model.compile(optimizer='adadelta',
              loss='categorical_crossentropy',
              metrics=['accuracy'])
model.fit(x_train, y_train,
            batch_size=100,
            epochs=10,
            verbose=1,
            validation_data=(x_test, y_test))

Créez et apprenez le modèle d'encodeur automatique ci-dessus J'ai mis la couche intermédiaire à 50, mais on ne sait pas à quel point c'est bon

Extraction de couche intermédiaire

Soudain, je me demandais comment supprimer la couche intermédiaire. Quand je l'ai recherché, rien ne s'est passé. Tout ce que vous avez à faire est de changer le calque de sortie.

Au fait, si vous voulez sortir normalement, faites-le.

model.predict(data)

Vous devez modifier le modèle pour le transformer en une sortie de couche intermédiaire. Jetons d'abord un coup d'œil au contour du modèle créé.

model.summary()

'''
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
dense_1 (Dense)              (None, 50)               424500    
_________________________________________________________________
dense_2 (Dense)              (None, 848)               424848    
=================================================================
Total params: 849,348
Trainable params: 849,348
Non-trainable params: 0
_________________________________________________________________
​
'''

Confirmez que le nom du calque du milieu est dense_1 Puis changez de modèle

middle_model = Model(inputs=model.input,
                     outputs=model.get_layer(layer_name).output)
middle_output = middle_model.predict(data)

middle_model sera une couche avec uniquement la couche d'entrée et la couche de sortie Cela donnera la valeur de la couche intermédiaire à middle_output

La fin

Recommended Posts

Obtenez la valeur de la couche intermédiaire de NN
[NNabla] Comment obtenir la sortie (variable) de la couche intermédiaire du réseau construit
Obtenez le nombre de chiffres
[Langage C] [Linux] Récupère la valeur de la variable d'environnement
[Django 2.2] Trier et obtenir la valeur de la destination de la relation
Keras Je veux obtenir la sortie de n'importe quelle couche !!
À propos de la valeur de retour de pthread_mutex_init ()
Obtenir les attributs d'un objet
À propos de la valeur de retour de l'histogramme.
Obtenez le premier élément du jeu de requêtes
Obtenez le nombre d'abonnés Youtube
Obtenez et définissez la valeur du menu déroulant en utilisant Python et Selenium
Gymnastique algorithmique 24 Milieu de la liste liée
Obtenez la liste des colonnes et la liste des données de CASTable
Obtenez les débats parlementaires via l'API
Obtenez le dernier jour du mois spécifié
[Python] Récupère le code de caractère du fichier
Obtenez le nom de fichier du répertoire (glob)
[PowerShell] Obtenez la lecture de la chaîne de caractères
Rendre la valeur par défaut de l'argument immuable
J'ai mesuré 6 méthodes pour obtenir l'indice de la valeur maximale (valeur minimale) de la liste
[NNabla] Comment ajouter une couche de quantification à la couche intermédiaire d'un modèle entraîné
Obtenez la valeur de retour d'un script shell externe (ls) avec python3
Obtenez la clé pour la migration de la deuxième couche de données JSON avec python
Récupérer le contenu de git diff depuis python
[Python] Obtenir / modifier l'étiquette d'échelle de la figure
[Python] Obtenez les principaux sujets de Yahoo News
Récupérer l'appelant d'une fonction en Python
Pour générer une valeur au milieu d'une cellule avec Jupyter Notebook
Attention à la valeur de retour de __len__
Essayez de décomposer la matrice daimyo par valeur singulière
Découvrez la fraction de la valeur saisie en python
[Python] Obtenez la dernière date de mise à jour du site Web
Obtenir uniquement la partie adresse de la carte réseau (eth0)
Rechercher par la valeur de l'instance dans la liste
[Python] Get the day (anglais et japonais)
Obtenez la date de mise à jour du fichier de mémorandum Python.
[NNabla] Comment ajouter une nouvelle couche entre les couches intermédiaires d'un réseau pré-construit
Obtenez le titre de Yahoo News et analysez les sentiments
Obtenez le nom de la variable sous forme de chaîne de caractères.
Comment obtenir le nombre de chiffres en Python
Autour de l'endroit où la valeur d'Errbot est stockée
[Python] Obtenez le chemin d'accès officiel du fichier de raccourci (.lnk)
Calculez la valeur totale de plusieurs colonnes avec awk
[Python] Calculez la valeur moyenne de la valeur de pixel RVB de l'objet
Obtenez l'image de "Suzu Hirose" par recherche d'images Google.
Obtenez le chemin absolu du script en cours d'exécution
[python] Récupère la liste des classes définies dans le module
Puisqu'il y a beaucoup de tremblements de terre, obtenez l'histoire du tremblement de terre
Récupérer le code retour d'un script Python depuis bat
Au milieu du développement, nous présenterons Alembic
Prenez la valeur du thermo-hygromètre SwitchBot avec Raspberry Pi
Rendre la valeur par défaut de l'argument immuable (explication de l'article)
Changer les valeurs du thermo-hygromètre Bot avec Raspberry Pi
[Golang] Spécifiez un tableau pour la valeur de la carte
Obtenir la taille (nombre d'éléments) de Union Find en Python
Obtenez la valeur sélectionnée dans le menu déroulant Selenium Python VBA