旅する医用工学者

医用工学に関するトピックを中心に,臨床工学技士国家試験,第1種ME技術実力検定試験,第2種ME技術実力検定試験に関係する内容についても取り扱います.日々の技術開発や受験勉強や学校の授業の予習・復習にお役立てください.内容の正確性には留意していますが,これを保証するものではありません.

iPadで機械学習を学ぶ

ちょっと仕事絡みで機械学習の基礎を身に付けねばならなくなった。

当然、機械学習を学ぶためには、自分でコードを書いて原理を覚えねばならない。

コードを書くには、パソコンもしくはそれに類するマシンが必要である。

自宅にはデスクトップのWindowsマシンもあるし、ラップトップならMacbook Proも自宅と職場の間を行き来している。

機械学習といえばPythonでコーディングするのが流行りで、WindowsでもMacでもPythonの開発環境を整えるのは簡単だ。

しかし、ちょっとした空き時間に勉強するならば、どこでも使える環境が大切だ。

どこでも使えるようにするならば、Macbook Proを使えばよさそうだが、Macbook Proはちょっと重い。

そんな私が、普段出先で使っているツールといえばiPhoneiPadだ。

所詮スマートフォンタブレットなのだが、iPhoneiPadのようなiOSバイスには、Pythonista3 という素晴らしいAppがある。

Pythonista 3

Pythonista 3

  • omz:software
  • 仕事効率化
  • ¥1,200

これはiOS上でPythonのコードを書いて実行できるAppで、なかなか便利な代物だ。

1,200円とちょっと躊躇してしまいそうな値段設定だが、これで機械学習の能力が身につくのなら安いものだ。

ちなみに、コードを書くときはソフトウェアキーボードよりは外付けキーボードのほうが圧倒的に作業効率が良い。

著者はiPadLogicool製のキーボードケースを装着して使っており、作業しやすいうえに軽量でそこそこカッコよく、結構気に入っている。

 

Pythonista3をインストールしたら、軽くPythonで遊んでみよう。

一般的な環境でいうところのinteractive shellは、Pythonista3ではConsoleというものになっている。

Pythonista3のConsoleを出すには、適当なファイルを開いた画面から、右から左に一度スワイプしてやればよい。

早速、Pythonista3のConsole上に、

print("Hello, World!")

と打ってみよう。

これがPythonにおける『Hello, World!』だ。

 

さて、ここまで来たら、本格的にPythonista3を使った学習環境の構築だ。

まずは、Pythonista3上でpip等のコマンドを使えるようにするために、StaShをインストールする。

Pythonista3のConsoleに

import requests as r; exec(r.get('http://bit.ly/get-stash').text)

とタイプしてReturnキーを押せばよい。

 

機械学習の入門書として様々な書籍が刊行されているが、ここでは、O'Reilly Japanの名著『ゼロから作る Deep Learning』を教科書として、これを丁寧にトレースしてみることにしよう。

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

 

基本的には、このテキストの流れに沿ってコードを打ち込み、実行してゆけばよい。

何故。そのような動作をするのか、数学的な概念を理解しながらコードを書いてゆこう。

とりあえず第1章は簡単だ……と思いきや、そうはいかない。

『1.6.3 画像の表示』では画像『lena.png』という画像を読み込むのだが、その画像をカレントディレクトリに放り込むところで少し苦労する。

この本を学習するにあたって必要なデータ類をアップしているリポジトリがある。

github.com単純にこのリポジトリから画像やら何やらをダウンロードして、iCloud Driveに放り込めばよさそうなものだが、そうはいかない。

iOSのシステム上の制約がいろいろとあるせいで、iCloud Driveなんかだと、必要なデータをiPad上のPythonista3ディレクトリに放り込めないのだ。

なんとか力尽くで放り込んだとしても、第3章のMNISTデータの読み込みでつまづく。

そこで、この問題を解決してくださったpoipoides様の記事を参考にして、

poipoides.hatenablog.com以下のようにStaSh上にタイプする。

wget -o samples.zip https://github.com/poipoi/deep-learning-from-scratch/archive/master.zip
unzip samples.zip

すると、iPad上にpoipoides様がモディファイしてくださったライブラリがダウンロードされ,展開されている筈だ。

今後はこれを有難く使わせていただこう。