2019年5月14日火曜日

raspberry pi camera v1.3 試してみる

「カラー図解 Raspberry Piではじめる機械学習 基礎からディープラーニングまで (ブルーバックス)」 演習script 

確認用に、raspberry pi camera v1.3 を付けてみました。

純正品じゃないからか、当該課題には適当ではないようですね。
じゃんけんの手の認識悪すぎ.

camera v1.3  
カメラ部分の裏の両面テープそのままだった
ので剥がして張り付けて固定しました

ケース 
純正品カメラと相性悪いとの情報
ありましたが、当方のは
全然問題無かったですょ


三脚・雲台相当は、大昔のweb camera の奴を流用です

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より速い!?




「カラー図解 Raspberry Piではじめる機械学習 基礎からディープラーニングまで (ブルーバックス)」 演習script をUSBカメラで実行してみる(たまにupdate)

picamera持ってないので、代わりに余ってたLogitech webcam c270 usbカメラで
演習問題の確認を始めました。
RPi は3Bです。(この目的でGUI環境入れました)
08-02
フレームレートの設定でエラー出ますね。
cap.set(cv2.cv.CV_CAP_PROP_FPS, 15)
HIGHGUI ERROR: V4L: Unable to set camera FPS
とりあえず、コメントにして、表示は出来た
--作業中断--

2019/5/3 作業再開
09-02  mp3の再生で嵌る
home に出来てた.asoundrc が悪さしてたよう。
誰が作ったのか不明 

2019/5/8 tensorflow install
相手鯖の機嫌悪くなかなか入らない

backend  tensorflowに換えて試す
速い(全cpu core使ってるね)
熱暴走で本体ダウン

/boot/config.txt
temp_limit=70
に設定してみる
少し速い?!

2019年4月23日火曜日

Cheep 2nd HDD Caddy For 9.5mm Universal CD DVD drive

低価格(¥500台)のを試してみました。
物の精度悪いけど、とりあえず使えましたね。


HDDを載せて、DVD drive抜いて、装着(9.5mmのHDD)

で、標準ベゼルだとこんな感じ(LEDとか付いてないのでアクセス状況は外からは解かりませんね。)

HDDを認識して、アクセスに問題なしです。
まぁー SATAコネクタの変換機能だけですからね。



2019年4月15日月曜日

Upgrading the HP 15-ay003TU notebook PC with a 500GB SSD and additional 8GB RAM

動作緩慢な為放置してた、HP 15-ay003TU(2016年夏頃に入手)をちょっとアップグレードしてみました。
これで、やっと触る気になりました。

裏ブタ開けるのちょっと厄介でした。最近の廉価ノートは皆そうらしい


 これを換装及び追加です。
1. Crucial SSD 500GB   CT500MX500SSD1/JP
2. CFD  PC3L-12800(DDR3L-1600) 8GB 1.35V対応 SO-DIMM (Panram) D3N1600PS-L8G

EaseUS Todo Backup Freeでクローン作製

※2019/3/23の作業

2019年1月31日木曜日

raspbian stretch になってspiの結果がおかしい原因が今頃解った

あまり、spiを使って無かったので気が付かなかったが、
デフォルトのspi-max-frequency がなんと 125000000に替わってたみたい。
で、
spi.open(0, 0)
の後に、
spi.max_speed_hz = 500000
を追加して、
after spi.open to restore the old default/maximum speed.

とりあえず解決