忍者ブログ

設備のマニアどっとこむ

設備、電子工作、DIYのブログ!

09/30

Sun

2018

raspberry piでAIを使う

スペックに制限のあるラズパイでも工夫すればAIを使うことはできます。
まずAIライブラリをThonnyなどで使うのがかなりきついのでjupyter notebookを入れます。
これでブラウザでpythonを軽めに?動かすことができます。
sudo apt-get install build-essential python-dev
sudo pip install jupyter
sudo apt-get install libpng12-dev libjpeg8-dev libfreetype6-dev libxft-dev liblapack-dev libatlas-base-dev gfortran g++


インストールが済んだら jupyter notebookとコマンドを打てば起動します。

しかしそのままではログインできないので password or tokenというところに 
token= 以下をコピペして進んでください。


トークンはコマンド打ってすぐのやつです。何個か出てくるので注意!


そこから右上のNEW→pythonで新規作成できるのですが、python2のみになっている場合は 
下記コマンドで解決できます。


python3 -m IPython kernelspec install-self

あとはwindowsでもラズパイでも変わりません。

下記コードで以前のこの記事の手書き数字画像の判別ができます。
画像データはフルパスが好ましいですが home/pi/直下であれば動かせます。
※ちなみに、
sklearn、numpyのインポートは必要ですがopenCVはjpg→png変換に使用しているだけで
必須ではありません。


from sklearn import datasets, cross_validation, svm, metrics
import numpy as np
from PIL import Image
import cv2

digits = datasets.load_digits()

im_gray = cv2.imread('test6.jpg')
cv2.imwrite('my_photo.png', im_gray)
label_test = [6]
image = Image.open('my_photo.png').convert('L')
image = image.resize((8, 8) Image.ANTIALIAS)

img = np.asarray(image, dtype=float)
img = np.floor(16 - 16 * (img / 256))


img = img.flatten()
data_train = digits.data

label_train = digits.target
data_test = img

clf = svm.SVC(C=1.0, cache_size=200, class_weight=None, coef0=1.0,
decision_function_shape='ovr', degree=3, gamma='auto', kernel='linear',
max_iter=-1, probability=False, random_state=None, shrinking=True,
tol=0.001, verbose=False)
clf2 =data_test.reshape(1,-1)
clf.fit(data_train, label_train)


predict = clf.predict(clf2)

print(data_test)
print(clf2)
print(clf)
print("テストラベル=",label_test)
print("解析結果=",predict)
ac_score = metrics.accuracy_score(label_test, predict)
print("正解率=", ac_score*100, "%")

これでラズパイで手書きデータを判別することができました。
AI関連のライブラリはリソースが必要と思われがちですが、大量のデータのディープラーニングでもやらない限り
結構動いてしまったりします。 今後はラズパイのような小型PCにAIが搭載されるのがトレンドに……
なるのかなあ。







拍手[0回]

PR

Comment

お名前
タイトル
E-MAIL
URL
コメント
パスワード

翻訳(Translate)

AD

シェアしてね

プロフィール

HN:
アルティメット雅史
性別:
男性
自己紹介:
製油所、データセンター、化学工場を渡り歩いた設備のマニア
最近はarduino,Raspberry piyear等の電子工作にハマる。
取得資格は電験3種、消防設備士甲4、2級ボイラー技士、危険物乙4、電工2種、技術士補(電気・電子)、エネ電、フォークリフトほか

カウンター

お問い合わせ

忍者アクセスランキング

Copyright © 設備のマニアどっとこむ : All rights reserved

TemplateDesign by KARMA7

忍者ブログ [PR]