本講義ではプログラミング言語としてPythonを使用する。Pythonにはバージョン2と3があるが、本講義はPython3のみを対象とする。
最初にプログラミング環境を整える必要がある。webアプリやスマホアプリ、デスクトップアプリを作りたい人、他の言語に慣れている人などは、pythonの公式www.python.org からpythonをダウンロードして自分で環境を整えるのもいいし、有料無料の各種統合開発環境(Visual Studio, VS Code, PyCharm等)をインストールするのもいいだろう。ただし、本講義のように数値計算やデータサイエンスのみをターゲットにする場合は、Anacondcaというディストリビューションで環境を構築するのがお手軽なので、本講義ではAnacondaを使って環境を構築する。
まずhttps://www.anaconda.com/ から各OS用のインストーラーをダウンロードしてインストールする。インストールの際の設定はデフォルトのままでよい。
インストールし終わったら、Anaconda Navigaterを起動する。JupyterLab, Jupyter Notebook, PyCharmなどの統合開発環境のアプリが起動できるようになっている。本講義では、JupyterLabを用いる。(なお、通常のアプリ開発にはPyCharmやVS Codeをお勧めする。)
JupyterLabをLaunchするとそのパソコンでデフォルトに設定しているブラウザー上で、JupyterLabが立ち上がる。初めて起動したときは、下のようなLauncherの画面が表示される。
NotebookのPython3をクリックすると、新しいJupyter Notebookが作成され、自動的にUntitled.ipynbというファイル名で保存される。
Jupyter Notebookは、セルという単位から構成されている。アクティブな場合は水色、非アクティブな場合は灰色の枠で囲まれた部分がセルである。
これが一つのセル
セルには、Markdown、Code、Rawの3タイプがあり、ウインドウの上の真ん中あたりから選択できる。pythonコードを書くときはCodeを、文章や解説、数式などを書きたいときはMardwonを使う。生のテキストを書きたいときはRawを使うが実際にはほとんど使わない。
Markdownはマークアップ言語の一種で、TeXに非常に似ている。\times
等の式のコマンドもTeXのものがそのまま使える場合が多い。たとえばMarkdownの状態で、 $A = \int_a^b x^2 dx$
と書いて、Shift+EnterかContrl+Enterを実行すると、
$A = \int_a^b x^2 dx$
こんな感じで数式が表示される。MarkdownはHTMLに似ていて、HTMLと同じタグでリンクや画像をセルに張り付けることもできる。Markdownの詳細については検索して調べてほしい。
CodeはPythonのコードを書くとき使う。たとえばCodeの状態で、1+1
と書いて、Shift+Enterで実行すると、2
と出力され、セルが一つ追加される。Ctrl+Enterでも実行でき、この場合はセルが追加されない。
1+1
四則演算は+
, -
, *
, /
が使える。$n$乗のような累乗は**n
で表せる。四則演算の順番は数学と同じなので特に問題ないだろう。
1+2
2/3
2**10
2**10*3
これは、$2^{10}\times 3$のことである。間違えを減らしたり、見やすくしたい場合は、(2**10)*3
と書いた方がいい。
JupyterLabのよるプログラミングの一連の流れとしては、セルにコードをいろいろ書き込んで、Shift+Enterで実行して結果を得る。結果はメモリーに保存されるので、そのまま使ってセルを追加していくこともできる。セルの長さに制限はないので、長く書いてもいいし、短く分けてもいい。一般にセルをコンパクトに書くとエラーがどこで発生しているのか分かりやすい。また、codeのセルとセルの間にMarkdownのセルを使って説明を加えたり、式や図を加えたりすることで研究ノートのように使うこともできる。まさにNotebookという感じ。このcodeとmarkdownのセルを組み合わせていくやり方は、後から自分で読み返したり、他人が読んだりしたときに非常に分かりやすい。
今後セルをいろいろ実行していくと、無限ループに陥ったり、何らかの理由でセルが実行できなくなったり、極端に処理が遅くなったりする場合がある。そういうときはKernelをrestartするとよい。Kernelの意味を知らない場合は、まあJupyterLabを部分的に再起動したと思えばいい。Kernelを再起動するには、メニューの”Kernel”-“Restart Kernel”を実行する。(あるいは左端の縦に並んだアイコンのうち、フォルダーのアイコンの下のストップアイコンをクリックするとKernelのSession一覧がでるので、Shutdownしてもよい。) すでにimportしていたモジュールはメモリから解放され、セル番号は[1]からふり直される。
Colaboratoryについて ¶
Googleが提供しているColaboratoryというwebアプリを使うと、Anacondaを自分のパソコンにインストールしなくても、クラウド上でJupyter Notebookの開発環境を使うことができる。web browserが使える環境なら、タブレットでもスマホでも利用できる。自分で書いたコードもクラウド上に保存することになり、クラウド上のGPU(Graphical Prossesing Unit)を利用できるので、安いノートパソコンなどより高速に計算ができるというメリットもある。ただし、使いたいモジュールが一部インストールされていなかったり、常時接続環境でないといけないなどの制約があるため、本講義ではAnacondaでJupyterLabを使うことにする。
おすすめ設定¶
以下はある程度JupyterLabに慣れてきたらお勧めする設定。最初は飛ばしてかまわない。
(1) テーマの変更(ダークモード等)
メニューバーのSttings -> JupyterLab Themeから選べる。
(2) 特定のフォルダーでJupyterlabを起動させたいとき
Jupyter Notebookのconfigを書き直す必要がある。Windowsの場合は、スタートメニュー、Anaconda promptから、jupyter notebook --generate-config
と打ち込むと、C:\Users\ユーザー名\.jupyter\jupyter_notebook_config.py
というファイルが作成される。このファイルのThe directory to use for notebooks and kernels.
のところを、c.NotebookApp.notebook_dir = 'C:/デフォルトで起動したいフォルダー名'
に書き換える。このときバックスラッシュ\
をすべてスラッシュ/
に書き換える必要があることに注意。
(2) Extenstionのインストール
JupyterLabにはいろいろなextensionを入れて便利に使うことができるが、Anacondaでインストールしたデフォルトの状態では、extensionは使えないようになっている。まず、JupyterLab Extensionを有効にする。JupyterLabのSettings -> Advanced Settings Editor を選ぶ。Extension Managerを選択。System Defaultsのコードが、”enabled”: false
になっているはず。User Preferencesのウインドウの{}
の中に"enabled": true
と書いて、そのウインドウの右上のフロッピーのマークSave User Settingsで保存。
(3) フォントサイズの変更
Settings-> Advanced Settings Editor -> Notebook のUser Preferencesに下記を書き込んで保存。
{ “codeCellConfig”: { “lineNumbers”: true, “fontSize”: 16},
"markdownCellConfig": {
"fontSize": 16}
}
当サイトのテキスト・画像の無断転載・複製を固く禁じます。
Unauthorized copying and replication of the contents of this site, text and images are strictly prohibited.
© 2019 Go Yusa