見出し画像

Raspberry Pi4のセットアップ~SSDブートからOpenCVインストールなど

この度、Raspberry Pi4の8GBモデルを購入したため、セットアップのメモがてらに、久しぶりに記事を書いてみました。(メモがてらって思いましたが、書き起こしにすごい時間がかかってしまった)

この記事のまとめ

・2015年に登場したRaspberry Pi2 B以降、ずっとRAMは1GBだった
・Pi4の登場で2GBから8GBまで大幅にメモリが増量した
・デスクトップPCとしてどのくらいの性能になったのか気になった
・4GBと迷ったけどどうせなら8GBモデルにした(2倍だし)
・パーツなど届いたのでセットアップしてみた
・外付けSSDからOSを起動するようにしてみた
・OpenCV4/Keras2/TensorFlow2をインストールした

以上です。あとは画像と参考にした記事リンクがあるくらいです。そして、記事を普通にたどれば簡単にセットアップが可能でした。

Raspberry Piとは

Raspberry Piとは名刺サイズのSBC(Single Board Computer)です。最近はIoTデバイスという位置づけで紹介されることが多いと思います。

セットアップに用意したもの

Raspberry Pi本体
電源ケーブル
アルミケース+放熱シート付き(CPUがかなり熱くなるため)
USB切替器(外付けキーボードとマウスを共有するため)
HDMIケーブル
外付けSSD(SDカード脱却のため)
・MicroSDカード(16GB以上)

放熱力ありそうなアルミケース

※PC側はWindows10を利用しています。

OSインストール

本家サイトからOSイメージをダウンロード
Raspberry Pi Imagerという書き込みツールも用意されている
・ディストリビューション名がRaspberry OSになっている(旧Raspbian)


SDカードにOSを書き込むのに、Windowsの場合、win32diskimagerを利用することが多そうですが、「Raspberry Pi Imager」が用意されていました。

画像1

以下のようにOS(ディストリビューション)を選択可能

「Raspberry Pi Imager」では、デフォルトで書き込み可能なOSが選択形式になっているので便利そうです。

画像2

https://www.raspberrypi.org/software/

今回は8GBのメモリが体感速度にどの程度貢献するのか興味があったため、Raspberry Pi OS with desktopをSDカードに書き込みました(win32diskimagerを利用ちゃってますが)

書き込み後に起動

操作感じとしては思ったより動作が重かったです。アプリやブラウザともに普段使いするにはCPU、メモリ、SDすべての速度がやや不十分みたいな。

画像4

外付けSSDにイメージを複製して起動

外付けSSDにOSイメージを複製して起動させます。以下記事を参考にしました。

外付けSSDを利用したい背景は、容量が大幅増に加えて、SDカードだとすぐイメージが壊れてしまう事象などの改善など(ただ、学習用途で操作するだけなら全く問題なさそうです)

SD Card Copier でSSDへコピー中

画像5

外付けSSDの容量は120GB

画像6


Raspberry Piセキュリティ設定

Raspberry Pi セキュリティ検索結果

以下の記事などを参考(大感謝)

SSHクライアント

SSHでアクセスするためにいつもはTeraTermを利用していましたが、以前から気になっていたrloginを利用してみることにしました(TeraTermとWinSCP両方を兼ねて使えるっぽい?)

※現在はWindowsのコマンドプロンプトからもアクセス可能

編集画面で以下を入力します。

・ホスト名
・TCPポート(変更したポート番号)
・ログインユーザー名
・パスフレーズ

編集画面

画像8

Rloginでアクセス

OKするとログインが可能です。

画像8


OpenCVとtensorflow kerasをインストール

※以前はOpenCVのセットアップが中々できずOpenCVをビルドする方法でしかセットできなかった(makeにめちゃくちゃ時間かかる)

説明の一部(DeepL翻訳)

Unofficial pre-built CPU-only OpenCV packages for Python.
Python 用の非公式な CPU 専用 OpenCV パッケージのプレビルド済み。

Check the manual build section if you wish to compile the bindings from source to enable additional modules such as CUDA.
CUDA のような追加モジュールを有効にするためにソースからバインディングをコンパイルしたい場合は、マニュアルビルドのセクションを確認してください

TensorFlowのセットアップもPi3のときハマると中々抜け出せなかった記憶があるため、公式リファレンスを参考にしたかったものの

Kerasについてはよくわからなかった。

以下を参考に

pip3 install keras==2.2.4

で行けそうなのかもしれない。

virtualenvをインストールしてactivate

user@raspberrypi:~ $ mkdir tf_pi
user@raspberrypi:~ $ cd tf_pi/
user@raspberrypi:~/tf_pi $ sudo python3 -m pip install virtualenv -y
user@raspberrypi:~/tf_pi $ sudo python3 -m pip install virtualenv
user@raspberrypi:~/tf_pi $ virtualenv env
user@raspberrypi:~/tf_pi $ source env/bin/activate
(env) user@raspberrypi:~/tf_pi $

参考記事のパッケージインストールコマンドをinstall.shにまとめて実行

(env) user@raspberrypi:~/tf_pi $ sudo vim install.sh
(env) user@raspberrypi:~/tf_pi $ sudo chmod 755 install.sh
(env) user@raspberrypi:~/tf_pi $ ./install.sh
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了

TensorFlowのバージョン確認

(env) user@raspberrypi:~/tf_pi $ python -c "import tensorflow as tf; print( tf.__version__ )"
2020-12-30 02:20:18.287154: E tensorflow/core/platform/hadoop/hadoop_file_system.cc:132] HadoopFileSystem load error: libhdfs.so: cannot open shared object file: No such file or directory
1.14.0

Kerasのバージョン確認

PythonのREPLを起動

(env) user@raspberrypi:~/tf_pi $ python
Python 3.7.3 (default, Jul 25 2020, 13:03:44)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import keras
Using TensorFlow backend.
2020-12-30 02:21:12.065248: E tensorflow/core/platform/hadoop/hadoop_file_system.cc:132] HadoopFileSystem load error: libhdfs.so: cannot open shared object file: No such file or directory
>>> print(keras.__version__)
2.2.4

OpenCVのバージョン確認

>>> import cv2
>>> cv2.__version__
'4.1.0'

からあげ本が発売

からあげ先生の本がちょうど先日に発売された。

github上にサンプルコードが載っていてColaboratoryにそのままアクセス可能なことで、とりあえず動かしてみることができるのでめっちゃ良い。

BERTからOpenPose、そしてエッジ・コンピューティングとしてRaspberry Piでの利用も書いてある。

O'Reillyのやつは書籍として何度も読むとして、からあげ本は手を動かすのに最適な感じで、タイミングとしてちょうど良すぎるのであった(大感謝)。





この記事が気に入ったらサポートをしてみませんか?