Visualisieren Sie das Keras-Modell mit Python 3.5

Zweck

Ich verwende Python3.5, Anaconda4.3-Umgebung. Dies ist das Verfahren zur Visualisierung des mit Keras mit pydot + Graphviz auf dem Jupyter-Notizbuch erstellten LSTM-Modells. Das Betriebssystem ist CentOS 7.3.

Hier erfahren Sie, wie Sie das Keras-Modell visualisieren, aber ich werde es einschließlich der erforderlichen Pakete erläutern. https://keras.io/visualization/

Verfahren

  1. Installieren Sie graphviz mit yum auf dem Betriebssystem.
  2. Installieren Sie pydot und graphviz mit pip.
  3. Visualisieren Sie das Modell mit dem Jupyter Notebook.

Installieren Sie graphviz unter yum unter OS

Graphviz selbst ist ein Paket, das nichts mit Python zu tun hat. http://www.graphviz.org/About.php

Es funktioniert nicht nur unter CentOS, sondern auch unter Betriebssystemen. Installieren Sie es also zuerst. sudo yum -y install graphviz

Installieren Sie pydot und graphviz mit pip

Sie benötigen pydot und graphviz, um das Modell mit graphviz in Python zu visualisieren. Dieses graphviz ist ein Python-Wrapper für das Betriebssystempaket.

pip install pydot graphviz

Sie haben es jetzt installiert, benötigen jedoch je nach Umgebung möglicherweise Folgendes, um es zu visualisieren:

pip install pydot3 pydot-ng

Lassen Sie uns das Modell mit Jupyter Notebook visualisieren

Starten Sie Jupyter Notebook und schreiben Sie das LSTM-Modell in Keras. Dieses Mal werde ich das Modell hier verwenden. http://machinelearningmastery.com/sequence-classification-lstm-recurrent-neural-networks-python-keras/

import numpy as np
import pydot
from keras.datasets import imdb
from keras.models import Sequential
from keras.layers import Dense, LSTM
from keras.layers.embeddings import Embedding
from keras.preprocessing import sequence

from keras.utils.visualize_util import model_to_dot 
from IPython.display import SVG

np.random.seed(7)
top_words = 5000
(x_train, y_train), (x_test, y_test) = imdb.load_data(nb_words=top_words)

max_review_length = 500
x_train = sequence.pad_sequences(x_train, maxlen=max_review_length)
x_test = sequence.pad_sequences(x_test, maxlen=max_review_length)

embedding_vector_length = 32
model = Sequential()
model.add(Embedding(top_words, embedding_vector_length, input_length=max_review_length))
model.add(LSTM(100))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
#Visualisieren Sie nun das Modell.
SVG(model_to_dot(model).create(prog='dot', format='svg'))

model.fit(x_train, y_train, validation_data=(x_test, y_test), nb_epoch=3, batch_size=64)
scores = model.evaluate(x_test, y_test, verbose=0)
print ("accuracy: %.3f%%" % (scores[1]*100))

Jetzt können Sie das Modell wie unten gezeigt visualisieren. 2017-02-04_graphviz.PNG

Recommended Posts

Visualisieren Sie das Keras-Modell mit Python 3.5
Allgemeines Gaußsches Zustandsraummodell in Python
Benutzerdefiniertes Zustandsraummodell in Python
Quadtree in Python --2
Python in der Optimierung
CURL in Python
Metaprogrammierung mit Python
Python 3.3 mit Anaconda
Geokodierung in Python
SendKeys in Python
Metaanalyse in Python
Unittest in Python
Epoche in Python
Zwietracht in Python
Deutsch in Python
DCI in Python
Quicksort in Python
nCr in Python
N-Gramm in Python
Programmieren mit Python
Plink in Python
Konstante in Python
FizzBuzz in Python
SQLite in Python
Schritt AIC in Python
LINE-Bot [0] in Python
CSV in Python
Reverse Assembler mit Python
Reflexion in Python
Konstante in Python
nCr in Python.
Format in Python
Scons in Python 3
Puyopuyo in Python
Python in Virtualenv
PPAP in Python
Quad-Tree in Python
Reflexion in Python
Chemie mit Python
Hashbar in Python
DirectLiNGAM in Python
LiNGAM in Python
In Python reduzieren
In Python flach drücken
Ich habe versucht, TOPIC MODEL in Python zu implementieren
Erstellen Sie in Python ein einfaches Momentum-Investmentmodell
Sortierte Liste in Python
Täglicher AtCoder # 36 mit Python
Clustertext in Python
AtCoder # 2 jeden Tag mit Python
Täglicher AtCoder # 32 in Python
Täglicher AtCoder # 6 in Python
Täglicher AtCoder # 18 in Python
Bearbeiten Sie Schriftarten in Python
Dateioperationen in Python
Lesen Sie DXF mit Python
Täglicher AtCoder # 53 in Python
Tastenanschlag in Python