[PYTHON] Ermitteln Sie den Wert der mittleren Schicht von NN

Diesmal habe ich es mit dem Auto Encoder versucht. Um den Auto-Encoder kurz zu erklären, handelt es sich um einen Mechanismus, der der Anzahl der Dimensionen der Eingangsschicht und der Ausgangsschicht entspricht und die Zwischenschicht in einer kleineren Anzahl von Dimensionen trainiert. Es scheint, dass es zur Erkennung von Anomalien und zur Merkmalsextraktion verwendet wird, beispielsweise zur Rauschunterdrückung bei der tatsächlichen Verwendung.

Auto-Encoder-Modell

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

Erstellen und lernen Sie das Auto-Encoder-Modell oben Ich habe die mittlere Ebene auf 50 gesetzt, aber es ist nicht bekannt, wie gut sie ist

Extraktion der Zwischenschicht

Plötzlich fragte ich mich, wie ich die mittlere Schicht entfernen sollte. Als ich nachgeschlagen habe, ist nichts passiert. Sie müssen lediglich die Ausgabeebene ändern.

Übrigens, wenn Sie normal ausgeben möchten, tun Sie dies.

model.predict(data)

Sie müssen das Modell bearbeiten, um daraus eine Zwischenebenenausgabe zu machen. Schauen wir uns zunächst den Umriss des erstellten Modells an.

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
_________________________________________________________________
​
'''

Bestätigen Sie, dass der Name der mittleren Ebene dicht_1 ist Dann ändern Sie das Modell

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

middle_model ist eine Ebene mit nur Eingabe- und Ausgabeebene Dadurch erhält middle_output den Wert für die mittlere Ebene

Das Ende

Recommended Posts

Ermitteln Sie den Wert der mittleren Schicht von NN
[NNabla] So erhalten Sie die Ausgabe (Variable) der mittleren Schicht des erstellten Netzwerks
Holen Sie sich die Anzahl der Ziffern
[C-Sprache] [Linux] Ruft den Wert der Umgebungsvariablen ab
[Django 2.2] Sortieren und erhalten Sie den Wert des Beziehungsziels
Keras Ich möchte die Ausgabe einer beliebigen Ebene erhalten !!
Über den Rückgabewert von pthread_mutex_init ()
Ruft die Attribute eines Objekts ab
Über den Rückgabewert des Histogramms.
Holen Sie sich das erste Element von Queryset
Holen Sie sich die Anzahl der Youtube-Abonnenten
Rufen Sie den Wert des Dropdown-Menüs mit Python und Selen ab und legen Sie ihn fest
Algorithmus Gymnastik 24 Mitte der verknüpften Liste
Holen Sie sich die Spaltenliste und Datenliste von CASTable
Erhalten Sie Parlamentsprotokolle über API
Holen Sie sich den letzten Tag des angegebenen Monats
[Python] Ruft den Zeichencode der Datei ab
Holen Sie sich den Dateinamen des Verzeichnisses (glob)
[PowerShell] Lesen Sie die Zeichenfolge
Machen Sie den Standardwert des Arguments unveränderlich
Ich habe 6 Methoden gemessen, um den Index des Maximalwerts (Minimalwerts) der Liste zu erhalten
[NNabla] Hinzufügen einer Quantisierungsschicht zur mittleren Schicht eines trainierten Modells
Ruft den Rückgabewert eines externen Shell-Skripts (ls) mit python3 ab
Holen Sie sich den Schlüssel für die Migration von JSON-Daten auf der zweiten Ebene mit Python
Holen Sie sich den Inhalt von Git Diff aus Python
[Python] Ruft die Skalenbezeichnung der Figur ab / bearbeitet sie
[Python] Holen Sie sich die Hauptthemen von Yahoo News
Holen Sie sich den Aufrufer einer Funktion in Python
So geben Sie mit Jupyter Notebook einen Wert in der Mitte einer Zelle aus
Achten Sie auf den Rückgabewert von __len__
Versuchen Sie, die Daimyo-Matrix durch einen Singularwert zu zerlegen
Finden Sie den Bruchteil des in Python eingegebenen Werts heraus
[Python] Ruft das Datum der letzten Aktualisierung der Website ab
Holen Sie sich nur den Adressteil der Netzwerkkarte (eth0)
Suchen Sie nach dem Wert der Instanz in der Liste
[Python] Holen Sie sich den Tag (Englisch & Japanisch)
Rufen Sie das Aktualisierungsdatum der Python-Memorandum-Datei ab.
[NNabla] So fügen Sie eine neue Ebene zwischen den mittleren Ebenen eines vorgefertigten Netzwerks hinzu
Holen Sie sich den Titel der Yahoo News und analysieren Sie die Stimmung
Ruft den Variablennamen der Variablen als Zeichenfolge ab.
So ermitteln Sie die Anzahl der Stellen in Python
Um den Ort, an dem der Wert von Errbot gespeichert ist
[Python] Ruft den offiziellen Dateipfad der Verknüpfungsdatei ab (.lnk)
Berechnen Sie den Gesamtwert mehrerer Spalten mit awk
[Python] Berechnen Sie den Durchschnittswert des Pixelwerts RGB des Objekts
Holen Sie sich das Bild von "Suzu Hirose" von Google Bildersuche.
Holen Sie sich den absoluten Pfad des laufenden Skripts
[Python] Ruft die Liste der im Modul definierten Klassen ab
Da es viele Erdbeben gibt, erfahren Sie mehr über die Geschichte des Erdbebens
Holen Sie sich den Rückkehrcode eines Python-Skripts von bat
In der Mitte der Entwicklung werden wir Alembic vorstellen
Nehmen Sie den Wert des SwitchBot-Thermo-Hygrometers mit Raspberry Pi
Machen Sie den Standardwert des Arguments unveränderlich (Artikelerklärung)
Umschalten der Bot-Thermo-Hygrometer-Werte mit Raspberry Pi
[Golang] Geben Sie ein Array für den Wert der Karte an
Ermitteln Sie die Größe (Anzahl der Elemente) von Union Find in Python
Rufen Sie den im Pulldown-Menü Selenium Python VBA ausgewählten Wert ab