Happy Hacking Keyboard搭載のPCがないので作ってみた(3. 環境構築編)

 

f:id:triwave33:20190327203846p:plain

 

Raspberry pi機械学習環境を整える 

 さて、その1、その2でraspiを搭載したHHKBを作りました。さぁ、これを使って楽しいコーデイングライフを送りましょう!私の用途は主に機械学習系のコードをPythonで書いて実行です。その際の環境構築について主に書きます。

 

 Raspiの処理能力を最大限に使うために、基本的にはCUIで全て動作させています。

triwave33.hatenablog.com

 

 

triwave33.hatenablog.com

 

CUI編(共通編)

OS 

下記リンクのRaspbian strech wigh DektopをダウンロードしてSDカードに焼きます。普通のRaspiのセッティングです。

Download Raspbian for Raspberry Pi

 

f:id:triwave33:20190407111627p:plain

なお、

 

 

sudo raspi-config

3. Boot Options -> B1. Desktop /CLI -> B1 Console

 

にしておいて、起動時にCLIが立ち上がるようにしておきます。

 

フォントの変更

それではCLIで起動させてみましょう。おなじみの起動画面です。デフォルトのフォントはなんか堅いですね。視認性が良くなく、コーディング向きではないので変えましょう。

f:id:triwave33:20190407112611j:plain

 

 

/etc/default/console-setupを開いて

FONTFACE="TerminusBold"
FONTSIZE="14x28"

にしました。 

console-setup(5) — console-setup — Debian stretch — Debian Manpages

 

このあたりは好みで変えてください。

f:id:triwave33:20190407114245j:plain

いい感じになりましたね。

 

Python環境

berricondaのインストール

ラズパイでも仮想環境を使いたい。そんな場合はberrycondaを入れましょう。

github.com

 

インストール方法は、readmeに従えば良いです。

自分の環境に対応するshファイルを落としてきて、下記のように入力するとインストーラーが開きます

 

chmod +x Berryconda3-2.0.0-Linux-armv7l.sh
./Berryconda3-2.0.0-Linux-armv7l.sh

 

最後に、「pathを設定しますか?」的なことを聞かれるので、yesにしておきます。

デフォルトでは~/以下に設定されます。

 

仮想環境の作成

通常のanacondaと同様です。例えば

conda create -n py36 python=3.6 

で環境名"py36"でpython3.6の環境をインストールします。

python2系を入れると今時は小学生にもバカにされるらしいので、3系を入れときましょう。仮想環境に入るときは

source activate py36

 

pythonライブラリのインストール

condaコマンドを使って入れていきます。pipでも入りますが、raspiの処理能力ではコンパイルに時間がかかります。condaの方が早いのでなるべくcondaで入れましょう。2018年4月現在、良く使いそうなライブラリでいうと

 

  • numpy    1.15.1
  • scipy      1.0.0
  • pandas   0.23.4
  • matplotlib 2.1.2
  • scikit-learn 0.19.2

になっています。

機械学習

pipで特に問題なく入ります。自分の使いやすいバージョンを入れてください。私の環境をざっとみると

 

  • tensorflow    1.12.0
  • Keras     2.2.4
  • chainer     5.2.0
  • gym     0.11.0
画像系

特に問題なく入っています。(バージョン忘れた)

入らないもの

 現在確認できているもので、下記のものは64bit versionのpythonでの動作が要求されているのでraspbian (32bit)ではインストールできません。

  • LightGBM
  • PyTorch

 ここらへんが使えないのはちょっと痛いですね。(Kagglerが去っていきそう。そもそもKagglerがraspi使わないか。。)

 

raspi3からは64bit環境になっているので64bit対応のOSを入れることを検討しています。

 

開発環境

 さて、Pythonが入ったのでバリバリコーディングしていきましょう。

ん、IDEは?VS Code、それともPyCharm?Jupyterはどうやって使うの?

 すみません、CLIなので、上記は使えません。(ここまで読んでいて期待ハズレだった方ゴメンなさい。)

 

 

 だけど、大規模システムならともかく、数ファイルで完結するソースコードならCLIで楽々作れちゃいます。次回はエディタとiPythonコンソールを切り替えながら、高速にコーディングしていくスタイルを紹介します。