Raspberry Pi4にJupyterを入れました。
コンピュータの環境設定は理屈で説明できないことが良くある。
先の記事に書きましたRaspberry Pi4にJupyterをインストールして動かそうとしましたが色々やってもJupyterが上手くインストールできませんでした。 そうこうしているときにOSを破壊してしまい、OSの再インストールをしないといけなくなりました。
心機一転やり直しです。
あれ? 簡単にインストールできた。
ということで最新版のRasbianをインストールしました。 2020年2月バージョンです。 順調にOSのインストールが完了したので、Jupyterのインストールに入りました。 コマンド群は以下。
<< システムを最新状態にする >>
sudo apt-get update
sudo apt-get upgrade
<< Jupyter Notebookのインストールをpipコマンドを使って行う >>
sudo apt-get install python3 python-dev build-essential python-pip
<< pipコマンドをアップデートする >>
sudo pip3 install –upgrade pip
<< Jupyter notebookをインストールする >>
sudo pip3 install jupyter
<< 設定ファイルを作る >>
jupyter notebook –generate-config
<< パスワードを設定する >>
jupyter notebook password
<< Jupyter notebookを起動する>>
jupyter notebook
やった、動いた!! 何を悩んでいたんだろう。 そうだな、Raspberry Pi4に色々なものを入れたり設定していたから邪魔をするモジュールがあったのかな、ということで安心して日本語入力ができるようにと、mozcをインストールした。
mozcのインストールも上手くいき、再起動して動作を確認した。 そこでトラブル発生! bluetoothキーボードからの文字入力ができなくなった。 よくあることね。 ということでひとつづつ調査開始。
最新バージョンは使っちゃいけないね。
何が原因かを調べるために、以下を実施。
mozcをインストールしない → だめだった。
VNCやSSHを有効にしない → だめだった。
apt-get update、apt-get upgradeを実行しない → 上手くいった。
ということで、原因はRaspbianのバージョンの問題で、最新バージョンには何らかの問題があると思われる。 ということは、これからも実行してはいけないということなので注意しないといけない。 Bluetoothキーボードしか持っていないので動かなうと大変困る。 さて、Jupyterのインストールができたので早速動かしてみましょう。
難しいお題に入っていく前に、まずはRaspberry Pi4でのJupyterに慣れるという意味も含めて定番のアヤメの分類をやってみる。 それで肩慣らしした後、本格的な課題解決に入りますかね。
肩慣らし:サポートベクトルマシンによるアヤメの分類
まず、サポートベクトルマシン(SVM)とは、2クラスの線形入力素子を使って2クラスのパターン識別器を構成する手法です。 訓練サンプルから各データ点との距離が最大となる「マージン最大化」という基準で線形入力素子のパラメータを学習す る手法です。
サポートベクトルマシンは、教師あり学習を用いるパターン認識モデルのひとつです。 下の図に機械学習アルゴリズムのマップを示します。 SVMは、左上のclassificationの領域になります。
[出展]
Machine Learning Cheat Sheet (for scikit-learn)
http://peekaboo-vision.blogspot.de/2013/01/machine-learning-cheat-sheet-for-scikit.html
アヤメの分類は4つの特徴量をもとに3種類のアヤメを分類するというお題です。 このお題はPythonを用いた機械学習に関する多くの書籍に取り上げられています。 特徴量が4つということは特徴量の次元が4次元となり人間の頭で理解するのが困難になります。 ということで、肩慣らしということもあり、ここでは4つの特徴量の内、2つの特徴量を用いてアヤメの分類を行っていきます。
線形ベクトルマシンによるアヤメの分類(2特徴量、2クラス)
さて、プログラムを作ってRaspberry Pi4でJupyter notebookを動かし動作開始、とここまでは良かったのですが、早速エラー発生。 Jupyter notebookをインストールした際に、numpy、pandas、matplotlibなどの必要なライブラリをインストールしたのだが、どうも上手くいかなかったみたいでエラーが出ている模様。 エラー画面は以下。
それではエラー解析に入ります。 カメのごとく遅い進み方ではありますが、一歩進んで二歩下がりにならないように一歩でも進んでいきますので、次の記事をお待ちください。
Jupyter notebookでアヤメ分類のプログラムを動かすもエラー発生。
残念、早速デバッグ開始!
そうそう思い出してきました。 Pythonをインストールして動かすときにいつも問題になることがあります。 バージョンの問題です。 Python2とPython3のどちらを動かすようになっているかという問題で、Python3を動かしたくてもPython2が選ばれるようになっているとか、ライブラリがどちらに紐づいているかとか、本質でないところで何度も悩んだことがあります。 今回も原因はここにあると思います。 これからのことを考えて、Python3がキチンと動くようにしたいと思います。
(追記)
pythonのどのバージョンが動いてるか調べました。
ターミナルで、
python --version
と打ったところ、python 2.7.16 でした。 予想どおりです。
python3にリンクを変更するために、以下をターミナルから入力。
sudo unlink python
sudo ln -s python3 python
これでOKです。
確認のために、
python --version
と入力すると、python 3.7.3 と出ました。 リンク先変更完了。
(参考図書)