There are several packages to perform deep learning in python. And my favorite one is keras.
https://keras.io/
Today, I found new function in keras.callbacks named RemoteMonitor.
The function provide real time visualization of learning.
So, I wrote very simple example using IRIS dataset.
At first to use RemoteMonitor, I need clone api from following URL.
https://github.com/fchollet/hualos
And run api.py
Now, I can access localhost:9000 via web browser.
iwatobipen$ git clone https://github.com/fchollet/hualos iwatobipen$ cd hualos iwatobipen$ python api.py
Then, perform machine learning.
from sklearn.datasets import load_iris from sklearn.cross_validation import train_test_split from keras.utils.np_utils import to_categorical from keras.callbacks import RemoteMonitor # prepare dataset irisdata = load_iris() X,Y = irisdata["data"], irisdata["target"] train_X, test_X, train_Y, test_Y = train_test_split( X, Y, test_size=0.2, random_state=123 ) # make monitor with default settings. monitor = RemoteMonitor() from keras.models import Sequential # build model model = Sequential() from keras.layers import Dense, Activation model.add( Dense( output_dim=12, input_dim=4 ) ) model.add( Activation( "relu" ) ) model.add( Dense( output_dim=3 ) ) model.add( Activation( "softmax" ) ) model.compile( optimizer="sgd", loss="sparse_categorical_crossentropy", metrics = ["accuracy"] )
OK. Let’s learn!
To monitor the progress, I set [ monitor ] in callbacks argument.
hist = model.fit( train_X, train_Y, nb_epoch=50, batch_size=20, callbacks=[ monitor ] )
During the learning, localhost:9000 is automatically updated and I can get following image.
This page made by Flask and d3.js. Cool !!!
“api.py” will not work on python3.x.
If you want to run the code in python3.x, I recommend replace following line because of iteritems is renamed to items in python3.
lines = ["%s: %s" % (v, k) -- for k, v in self.desc_map.iteritems() if k] ++ for k, v in self.desc_map.items() if k]
FYI.
9th Mishima.syk will be held 10th Dec. Topic is TensorFlow and Keras hans on.
https://connpass.com/event/42284/
Don’t miss it. ;-)