はじめに
ふと思い立って、「ゼロから作るDeep LearningーーPythonで学ぶディープラーニングの理論と実装」と「ゼロから作るDeep Learning(2)ーー自然言語処理編」を勉強することにしました。
ただ、なかなか時間も取れなくて続くのかどうかが非常に心配です。でも、2〜3年前に「言語処理100本ノック2015」をやりきった時は、素人の言語処理100本ノックとしてQiitaに投稿し続けて、みなさんの「いいね」やコメントのおかげでやりきることができたので、今回もQiitaの力を借りることにしました。
今回はこの本で私がつまずいたことなどを1章ごとにメモしていこうと思います。誤りなどありましたら、素人の言語処理100本ノックの時と同様にご指摘いただけるとうれしいです。
(このメモの他の章へ:1章 / 2章 / 3章 / 4章 / 5章 / 6章 / 7章 / 8章 / まとめ)
この記事は個人で作成したものであり、内容や意見は所属企業・部門見解を代表するものではありません。
私の環境
今回はmacOS Mojaveで進めます。
実際の動作環境はMac on Macの形の仮想マシンです。ハードがMacなら普通はそのまま使うかと思いますが、開発環境の構築などで試行錯誤することを考えると、仮想マシンの方がスナップショットで分岐したり戻したりできて便利なんですよね。
以下、環境の詳細です。
項目 | 環境 |
---|---|
ハード | Mac mini(Late 2012) |
ホストOS | macOS Mojave バージョン 10.14.6 |
仮想化基盤 | Parallels Desktop 15 for Mac Pro Edition バージョン 15.0.0 (46967) |
ゲストOS | macOS Mojave バージョン 10.14.6 |
この仮想マシンの構築については、Parallels DesktopでmacOS仮想マシンを構築にまとめています。
1章 Python入門
第1章はPython入門です。私は言語処理100本ノックをPythonでやっていたので、この章はPythonをおさらいする感じになりました。
1.1 Pythonとは
Pythonいいぞ、という説明です。
1.2 Pythonのインストール
本に従いAnacondaをインストールしました。特につまずくところはなかったのですが、本ではインストールについて3行くらいしか書かれていないので、軽く手順をまとめておきます。
まず、本に載っているAnacondaのサイト(https://www.anaconda.com/distribution)で「Download」します。残念ながら英語です。
Pythonのバージョンを尋ねてくるので、本に従って3系である3.7を「Download」します。
ダウンロードしたインストーラを実行して、インストールします。これは日本語になっていました。
途中でインストール先を尋ねられたので、私は「自分専用にインストール」にしました。Macを他の人と共用していないのであれば、これで良いかと思います。
あとは普通に進めばインストールできます。
1.3 Python インタプリタ
ターミナルでバージョンの確認と、インタプリタの実行です。
正しくインストールできている模様です。ちなみにPythonのバージョンは3.7.4でした。
1.4 Python スクリプトファイル
もしテキストエディタとしてmacOS標準のテキストエディットを使う場合は、フォーマットを標準テキストにしましょう。そうしないと拡張子.py
で保存ができません。
保存する時の「標準テキストのエンコーディング」は「Unicode (UTF-8)」のままで大丈夫です。
ターミナルで保存した場所にcd
して実行します。
いい感じ!日本語の扱いも問題なさそうです。
(脱線) Visual Studio Codeの準備
テキストエディットはさすがにコーディングには向かないので、私はVisual Studio Codeを使うことにしました。インストールや使い方はググるとたくさん見つかるので、ここではサラッと導入の流れだけまとめます。
-
まずVisual Studio Codeのインストールです。私は前述のようにMac on Macの形で、普通にインストールすると表示周りでトラブってしまったので、Parallels DesktopのmacOS仮想マシンでVisual Studio Codeをとりあえず使うに対応をまとめました。
-
Pythonで便利に使えるようにするために、Microsoftが配布する「Python extension for Visual Studio Code」を追加します。@tkdrecord さんのMacのVisual Studio CodeでPythonの開発をできるようにしてみたよが参考になります。
-
日本語表記にするために、Microsoftが配布する「Japanese Language Pack for Visual Studio Code」を追加します。@ntkgcj さんのVisual Studio Code [vsCode] 日本語化が参考になります。
-
コードの静的分析をしてくれるLinterとしてflake8を追加します。@firedfly さんのVS Code コーディング規約を快適に守るが参考になります。
-
コードを整形してくれるFormatterとしてautopep8を追加します。これも@firedfly さんのVS Code コーディング規約を快適に守るが参考になります。
-
関数説明などのdocstringを簡単に書けるようにautoDocstringを追加します。これも@firedfly さんのVS Code コーディング規約を快適に守るが参考になります。
-
起動時に右下にメッセージが出てきます。
conda(Anacondaに内包されています)の環境で統合ターミナルを使う時は、Visual Studio Codeの環境設定を引き継がない設定にした方がいいですよ。設定を変えますか?ということらしいので「Yes」しておきましょう。
これで、Visual Studio Codeでコードを書いて、右上の緑三角のボタンで簡単に実行できるようになりました。
いい感じ!
1.5 NumPy
NumPyはAnacondaに含まれているので、そのまま使えます。
1.6 Matplotlib
MatplotlibもAnacondaに含まれているので、そのまま使えます。
なお、本で使われているlena.png
という画像は、この本で出てくる他のソースと合わせて、オライリー・ジャパンのGitHubリポジトリで公開されていますので、この機会に一括でダウンロード(clone)しておきましょう。
まず、この本のGitHubリポジトリ(https://github.com/oreilly-japan/deep-learning-from-scratch)へアクセスします。
ここで、「Clone or download」を選び「Download ZIP」すればOKです。
ダウンロードした中のdataset
フォルダーにlena.png
がありますので、本に従ってこのファイルのパスを指すようにコードを書けば表示できます。
ちなみに、この女性は誰?という方はウィキペディアのレナ(画像データ)の解説をどうぞ。
1.7 まとめ
本にもあるように、この章はPythonやNumPy、Matplotlibの必要最低限の説明になっています。私はすでに言語処理100本ノックで触っていたのでおさらいにちょうど良い感じでしたが、物足りない方は本で紹介されている参考書籍などで勉強されると良いかと思います。
この章は以上です。誤りなどありましたら、ご指摘いただけますとうれしいです。
(このメモの他の章へ:1章 / 2章 / 3章 / 4章 / 5章 / 6章 / 7章 / 8章 / まとめ)