Azure Machine Learningで使用するAnaconda仮想環境の構築とJupyterとの連携方法


はじめに

Azure Machine Learning上のJupyter notebooksを使用して機械学習環境を構築するための方法をまとめたものです。

Azure Machine Learning StudioとJupyter notebooksの起動が行える状態を前提としています。
仮想環境の構築や切り替えにはAnacondaを使用します。

Anacondaとは

データサイエンス向けのPythonパッケージ集合体
- 1,500以上のパッケージに対応
- GUIとコマンドラインの両方に対応
- condaコマンドを使って操作できる

Anacondaを使うことでライブラリのインストール等に時間を取られることなく簡単に開発環境の構築や切り替えを行うことが可能です。

参考:https://www.creativevillage.ne.jp/72837

手順

1. jupyter notebooks上でTerminalを起動

2. Anaconda仮想環境のセットアップとJupyter連携

以下手順はJupyter上のTerminalに入力していきます。

2.1 condaによる仮想環境の構築

$ conda create --name my_notebook_env python=3.7 -y

-name my_notebook_env:仮想環境の名前. 好きなものを設定できる
python=3.7:仮想環境で使用するPythonバージョン
-y:確認項目に自動的にyesで応答する

※conda環境の一覧を表示:jupyter kernelspec list

2.2 仮想環境の有効化

$ conda activate my_notebook_env

※無効化するには:conda deactivate

2.3 仮想環境内でのライブラリのインストール

Azure Machine Learning SDK for Python をインストールします。

$ pip install --upgrade azureml-sdk[explain,automl,interpret,notebooks]

インストールしてるコンポーネントの詳細については下記をご覧ください。
Azure Machine Learning SDK for Python

2.4 Jupyterへの仮想環境カーネルの追加

仮想環境をアクティベートした状態のまま下記コマンドを実行します。

$ ipython kernel install --user --name=my_notebook_env --display-name=my_notebook_env

--user:現在のユーザー環境にインストール
--name:カーネルの名前を指定
--display-name:カーネルの表示名。今回はカーネル名と同一にしたが、ここに分かりやすい表示名を設定できる。

※Jupyterカーネル一覧の表示:jupyter kernelspec list
※カーネルの削除:jupyter kernelspec uninstall my_notebook_env

3. Jupyter notebooks上でのカーネル切り替え

3.1 Jupyterのリロード

変更を反映させるため、開いているノードブックがあれば、ブラウザのリロードを行う等して再読み込みを行います。

3.2 カーネルの切り替え

ノードブック上でKernel→Change kernelを選択し、今回作成した仮想環境 (my_notebook_env)を選択します。

ノードブック画面右上の表示が正しく切り替わっていれば成功です。

まとめ

Anacondaを使うことで簡単に開発環境の構築や切り替えを行えます。
Azure Machine Learningを使うことで使い慣れたJupyter環境での機械学習を行っていけます。

参考

Azure Machine Learning とは
Azure Machine Learning SDK for Python
Anaconda (conda)の簡単な使い方メモ