2019年5月1日水曜日

「カラー図解 Raspberry Piではじめる機械学習 基礎からディープラーニングまで (ブルーバックス)」 演習script をWindows10で実行してみる(もうちょっと弄ってみる)

pythonがinstallされてるnote pcがあったので、演習scriptの実行を試し始めた。(5/6 またちょっと…)

                   10-10のイメージ

時々、結果が追加される予定
[ver.]
Python 2.7.13
(pip list  本件と関係無いモジュールも出てますが…)
backports.functools-lru-cache 1.5
cycler                        0.10.0
kiwisolver                    1.1.0
ldap3                         2.2.1
matplotlib                    2.2.4
numpy                         1.16.3
opencv-python                 4.1.0.25
Pillow                        6.0.0
pip                           19.0.3
ply                           3.10
pyasn1                        0.2.2
pycryptodome                  3.4.5
pyparsing                     2.4.0
pysmi                         0.0.7
pysnmp                        4.3.3
python-dateutil               2.8.0
pytz                          2019.1
scikit-learn                  0.20.3
scipy                         1.2.1
setuptools                    28.8.0
six                           1.12.0

[camera]
HP TrueVision HD (usbビデオデバイス)

[共通・文字化け対応他]
# -*- coding: utf-8 -*-
の後に

from __future__ import unicode_literals
import sys
import codecs
# 標準出力時のエンコード
sys.stdout = codecs.getwriter('cp932')(sys.stdout)

を追加する。

やはり、カメラのハンドリングで躓いてますね。

08-02
#        cap.set(cv2.CAP_PROP_FPS, 15)
フレームレートをコメントにしたら表示は出来るが、
旨くキャプチャ出来ないなぁ。

その後、cv2.imshow('HS', hs_all) をアンコメントして
動作チェック用の画像を画面に表示してみるとそれなりにキャプチャ
出来てる。但し、最終の白黒二値化画像が駄目でした。

RPi 3Bに繋いでたLogitech webcam c270 usbカメラ でやると
とりあえずそれなりの画像がキャプチャ出来た。
cap = cv2.VideoCapture(0)
から
cap = cv2.VideoCapture(1)
に変更

08-03,08-04 実行出来ました。

2019/5/2
 09-01 実行出来ました。
 mpeg123 windows版を使用

2019/5/3
g++/c++ 未installの為、学習系はskip(3hで半分位と驚異の遅さ)
10-10まで実行出来ました。

2019/5/6
Anaconda3-2019.03-Windows-x86_64 install
し試す。
python -V
Python 3.7.3

python ml-03-01-version.py
Using Theano backend.
scikit-learnのバージョンは0.20.3です
numpyのバージョンは1.16.2です
scipyのバージョンは1.2.1です
matplotlibのバージョンは3.0.3です
PIL(Pillow)のバージョンは5.4.1です
kerasのバージョンは2.2.4です
theanoのバージョンは1.0.3です

python ml-10-01-iris-deep-learn.py  anaconda-iris.h5
実行エラーとなる
AttributeError: ('The following error happened while compiling the node', DotModulo(A, s, m, A2, s2, m2), '\n', "module 'numpy.core.multiarray' has no attribute '_get_ndarray_c_version'")

theano をver.upする
conda install -c conda-forge theano 

python ml-03-01-version.py
Using Theano backend.
scikit-learnのバージョンは0.20.3です
numpyのバージョンは1.16.2です
scipyのバージョンは1.2.1です
matplotlibのバージョンは3.0.3です
PIL(Pillow)のバージョンは5.4.1です
kerasのバージョンは2.2.4です
theanoのバージョンは1.0.4です  <==ver. up!!

動いた、速い(Pentium Dual-Core P6100 2.00GHz/4GB note pcでも)

python ml-10-01-iris-deep-learn.py  anaconda-iris.h5

<略>
 - 0s - loss: 0.0039 - acc: 1.0000 - val_loss: 0.0171 - val_acc: 1.0000
Epoch 3989/4000
 - 0s - loss: 0.0037 - acc: 1.0000 - val_loss: 0.0164 - val_acc: 1.0000
Epoch 3990/4000
 - 0s - loss: 0.0044 - acc: 1.0000 - val_loss: 0.0142 - val_acc: 1.0000
Epoch 3991/4000
 - 0s - loss: 0.0121 - acc: 0.9926 - val_loss: 0.0076 - val_acc: 1.0000
Epoch 3992/4000
 - 0s - loss: 0.0070 - acc: 1.0000 - val_loss: 0.0050 - val_acc: 1.0000
Epoch 3993/4000
 - 0s - loss: 0.0059 - acc: 1.0000 - val_loss: 0.0035 - val_acc: 1.0000
Epoch 3994/4000
 - 0s - loss: 0.0030 - acc: 1.0000 - val_loss: 0.0025 - val_acc: 1.0000
Epoch 3995/4000
 - 0s - loss: 0.0120 - acc: 0.9926 - val_loss: 0.0026 - val_acc: 1.0000
Epoch 3996/4000
 - 0s - loss: 0.0175 - acc: 0.9852 - val_loss: 0.0060 - val_acc: 1.0000
Epoch 3997/4000
 - 0s - loss: 0.0045 - acc: 1.0000 - val_loss: 0.0114 - val_acc: 1.0000
Epoch 3998/4000
 - 0s - loss: 0.0031 - acc: 1.0000 - val_loss: 0.0178 - val_acc: 1.0000
Epoch 3999/4000
 - 0s - loss: 0.0046 - acc: 1.0000 - val_loss: 0.0256 - val_acc: 1.0000
Epoch 4000/4000
 - 0s - loss: 0.0114 - acc: 0.9926 - val_loss: 0.0234 - val_acc: 1.0000
ターゲット
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2
 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
 2 2]
ディープラーニングによる予測
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2
 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
 2 2]
正解率
100.0

(base) PS>python .\ml-10-03-digits-cnn-learn.py anaconda-digits.h5

 - 2s - loss: 9.6113e-04 - acc: 0.9994 - val_loss: 0.1958 - val_acc: 0.9722
Epoch 483/500
 - 2s - loss: 2.9422e-04 - acc: 1.0000 - val_loss: 0.1863 - val_acc: 0.9778
Epoch 484/500
 - 2s - loss: 0.0032 - acc: 0.9988 - val_loss: 0.1974 - val_acc: 0.9722
Epoch 485/500
 - 2s - loss: 3.3007e-04 - acc: 1.0000 - val_loss: 0.1911 - val_acc: 0.9667
Epoch 486/500
 - 4s - loss: 3.3540e-04 - acc: 1.0000 - val_loss: 0.2081 - val_acc: 0.9667
Epoch 487/500
 - 9s - loss: 8.0225e-04 - acc: 1.0000 - val_loss: 0.1963 - val_acc: 0.9667
Epoch 488/500
 - 2s - loss: 4.9855e-04 - acc: 1.0000 - val_loss: 0.1873 - val_acc: 0.9667
Epoch 489/500
 - 4s - loss: 2.6213e-04 - acc: 1.0000 - val_loss: 0.1606 - val_acc: 0.9667
Epoch 490/500
 - 2s - loss: 3.0136e-04 - acc: 1.0000 - val_loss: 0.1900 - val_acc: 0.9667
Epoch 491/500
 - 2s - loss: 3.4222e-04 - acc: 1.0000 - val_loss: 0.1988 - val_acc: 0.9722
Epoch 492/500
 - 2s - loss: 3.2482e-04 - acc: 1.0000 - val_loss: 0.2022 - val_acc: 0.9722
Epoch 493/500
 - 2s - loss: 0.0013 - acc: 0.9994 - val_loss: 0.2077 - val_acc: 0.9722
Epoch 494/500
 - 2s - loss: 0.0012 - acc: 0.9994 - val_loss: 0.2234 - val_acc: 0.9667
Epoch 495/500
 - 2s - loss: 1.2714e-04 - acc: 1.0000 - val_loss: 0.2246 - val_acc: 0.9667
Epoch 496/500
 - 2s - loss: 0.0016 - acc: 0.9994 - val_loss: 0.2041 - val_acc: 0.9667
Epoch 497/500
 - 2s - loss: 4.9365e-04 - acc: 1.0000 - val_loss: 0.2004 - val_acc: 0.9667
Epoch 498/500
 - 2s - loss: 0.0028 - acc: 0.9988 - val_loss: 0.2037 - val_acc: 0.9667
Epoch 499/500
 - 2s - loss: 6.6917e-05 - acc: 1.0000 - val_loss: 0.2065 - val_acc: 0.9722
Epoch 500/500
 - 2s - loss: 0.0018 - acc: 0.9994 - val_loss: 0.1691 - val_acc: 0.9611
正解率
99.61046188091264

RPi 3Bより速い!?




0 件のコメント: