LoginSignup
3
11

More than 3 years have passed since last update.

初心者向けRaspberryPi講座「RaspberryPiでディープラーニング」

Last updated at Posted at 2018-08-16

はじめてのRaspberryPi

RaspberryPiとは

学校のコンピュータ教育用に開発されたSBC(シングルボードコンピュータ)です。昨年時点、全世界で累計1700万台出荷されその多くは企業が購入しています。GoogleやAmazonなどクラウド系の企業では評価ボードとして採用するなど、IoTのエッジデバイスとしてのデファクトスタンダードとなっています。また、AIの分野でもTensorFlowの最新版が利用できるようになりました。
先日の報道はこちら
TensorFlowのinstall方法はこちら

#エッジデバイス:LinuxなどのOSを搭載したインテリジェントデバイス

RaspberryPiの特徴

  • 安価であること

   日本円で4,500円で購入できる
   SDカード、USBキーボード・マウス
   HDMIディスプレイとUSB電源でコンピュータが完成する

  • Linuxを搭載していること

   常に最新の状態にアップデートすることができる
   常に最新のアプリケーションが利用できる

  • ARMアーキテクチャであること

   低消費電力であり、IoT時代のプロセッサ

  • 豊富なインターフェイス

   GPIOと呼ばれる汎用入出力、USB、HDMI

RaspberryPiの開発・実行環境

専用のRaspbian(debian 9[stretch])が用意されている
カーネルバージョンは4.14
AI開発で良く利用されるPC版のUbuntuもdebian系であり親和性は良い

ラズバイのドキュメントはこちら

まずSWAP領域を設定します

sudo nano /etc/dphys-swapfile 
CONF_SWAPSIZE=1024 # SDが32Gであれば2048でもよい
sudo service dphys-swapfile stop
sudo service dphys-swapfile start
free -h

RaspbianのLinuxコマンド

コマンド 説明
apt APTパッケージ管理 (update, upgrade, install)
cd カレントディレクトリの変更 (.. , . , -l , -a)
ls ディレクトリーの表示 (-l)
mkdir ディレクトリーの作成
cp ファイルのコピー
mv ファイルの移動
cat ファイルの連結、表示
chmod ファイルのアクセス権を変更
chown ファイルのオーナーを変更
tail ファイルの最後の数行を表示
less テキストファイルの閲覧、moreの拡張版
grep パターンマッチ
diff 差分表示
dd ファイル変換とコピー
rm ファイルの削除
find ファイル検索
du ディスク情報
df ディスク空き容量
printenv 環境変数の表示
ps プロセス状態
kill プロセス停止
uname カーネル情報
shutdown システム停止
poweroff 電源オフ
reboot システム再起動
su スーパーユーザーに変更
sudo スーパーユーザー権限で実行
man マニュアル
top システム監視ツール
raspi-config ラズパイ設定
dmesg カーネルログ
free メモリー使用量
history コマンドの履歴
nano スクリーンエディタ

Kernelをダウンロードしよう

gitでカーネルソースをダウンロードします

sudo apt install git bc
git clone --depth=1 https://github.com/raspberrypi/linux

ラズパイドキュメントはこちら

Kernelをコンパイルしよう

カーネルの定義メニューを表示するためのライブラリーをインストールします
次にソースプログラムのディレクトリへ移動します。2500万行あります。Makefileの先頭にはVersionが表示されています。現バージョンのリビジョンアップ版です。

sudo apt install libncurses5-dev
cd linux
nano Makefile
VERSION = 4
PATCHLEVEL = 14
SUBLEVEL = 59
EXTRAVERSION =
NAME = Petit Gorille

ラズパイ用のコンフィグファイルを指定します
bcm2709の設定が.configにコピーされます

KERNEL=kernel7
make bcm2709_defconfig

メニューを起動します
Linuxカーネルを構成します

make menuconfig

カーネルイメージを作成します
-j4は4コア全てを使ってコンパイルします。約30分で終わります。

make -j4 zImage
sudo mv /boot/kernel7.img /boot/kernel7.img.org #退避
sudo cp /home/pi/linux/arch/arm/boot/zImage /boot/kernel7.img

ラズパイカーネルのドキュメントはこちら

開発環境と便利なツール

1.マークダウンエディタ(ビューアー)

sudo apt install retext

2.Jupyter notebook

sudo pip3 install jupyter

jupyterの設定ファイルを作成するスクリプトを以下の参考サイトから取り込んで実行する
jupyterを自動実行する設定を以下の参考サイトから取り込んで実行する
設定(参考サイト)はこちら
お使いのwebブラウザから http://raspberrypi.local:8888/ にアクセスするとログイン画面が表示されます

3.SORACOM Airを使った3G通信

USBモデムを使ってインターネットに接続する

sudo apt install -y wvdial
sudo wvdial

設定(参考サイト)はこちら

4.Movidius (NEURAL COMPUTE STICK)

USBスティックが推論エンジンとなり高速演算が可能となる

git clone http://github.com/Movidius/ncsdk #一時的に停止中

インテルのDocumentサイトはこちら

5.日本語入力ソフトとフォントのインストール

日本語キーボードで半角/全角キーを押すことで漢字モードに切り替わります

sudo apt install ibus-mozc fonts-noto-cjk

6.Node-REDのインストール

以下のbashコマンドを実行してください

bash <(curl -sL https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/update-nodejs-and-nodered)

Node-RED日本ユーザ会はこちら

3
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
11