예제 4-1 필기체를 분류하는 CNN


In [1]:
# %load /home/sjkim/.jupyter/head.py
# %%writefile /home/sjkim/.jupyter/head.py
# %load /home/sjkim/.jupyter/head.py
%matplotlib inline
%load_ext autoreload 
%autoreload 2
from importlib import reload

import matplotlib.pyplot as plt
import numpy as np

import pandas as pd
import os
os.environ["CUDA_VISIBLE_DEVICES"]="2"
    
# seaborn
import seaborn as sns
sns.set( style = 'white', font_scale = 1.7)
sns.set_style('ticks')
plt.rcParams['savefig.dpi'] = 200

# font for matplotlib
import matplotlib
import matplotlib.font_manager as fm
fm.get_fontconfig_fonts()
font_location = '/usr/share/fonts/truetype/nanum/NanumGothicBold.ttf'
font_name = fm.FontProperties(fname=font_location).get_name()
matplotlib.rc('font', family=font_name)

In [2]:
import ex4_1_cnn_mnist_cl as example


Using TensorFlow backend.

In [3]:
example.main()


Train on 48000 samples, validate on 12000 samples
Epoch 1/10
48000/48000 [==============================] - 5s - loss: 0.2752 - acc: 0.9166 - val_loss: 0.0676 - val_acc: 0.9815
Epoch 2/10
48000/48000 [==============================] - 3s - loss: 0.0892 - acc: 0.9737 - val_loss: 0.0502 - val_acc: 0.9856
Epoch 3/10
48000/48000 [==============================] - 3s - loss: 0.0671 - acc: 0.9802 - val_loss: 0.0466 - val_acc: 0.9877
Epoch 4/10
48000/48000 [==============================] - 3s - loss: 0.0552 - acc: 0.9838 - val_loss: 0.0424 - val_acc: 0.9882
Epoch 5/10
48000/48000 [==============================] - 3s - loss: 0.0495 - acc: 0.9856 - val_loss: 0.0441 - val_acc: 0.9871
Epoch 6/10
48000/48000 [==============================] - 3s - loss: 0.0467 - acc: 0.9865 - val_loss: 0.0425 - val_acc: 0.9888
Epoch 7/10
48000/48000 [==============================] - 3s - loss: 0.0435 - acc: 0.9876 - val_loss: 0.0494 - val_acc: 0.9857
Epoch 8/10
48000/48000 [==============================] - 3s - loss: 0.0420 - acc: 0.9874 - val_loss: 0.0451 - val_acc: 0.9883
Epoch 9/10
48000/48000 [==============================] - 3s - loss: 0.0436 - acc: 0.9876 - val_loss: 0.0416 - val_acc: 0.9898
Epoch 10/10
48000/48000 [==============================] - 3s - loss: 0.0435 - acc: 0.9873 - val_loss: 0.0458 - val_acc: 0.9897
 9472/10000 [===========================>..] - ETA: 0s
Test loss: 0.0373116494984
Test accuracy: 0.989

In [ ]: