開発環境において、特に「複数のディープラーニング用ライブラリを使い分けたい」という場合、Pythonバージョンが異なる複数の仮想環境を使い分ける手段があると便利になる。この用途のツールには、Virtualenvがあり、TensorFlowのインストールガイドでも利用が推奨されている。
しかしデータサイエンスの分野では、AnacondaというPythonディストリビューションパッケージも人気があり、よく使われている。Anacondaには、データサイエンスでよく使われるPythonライブラリ(NumPyやSciPyなど)を簡単にインストール&バージョン管理できるツールが同梱されており、かつPython仮想環境の切り替えも可能である。
Anacondaの仮想環境にインストールできるのは、Anacondaで用意されているパッケージだけではない。一般的なPythonパッケージ管理ツールであるpipを使っても各種パッケージのインストールが可能だ。なお、pipコマンドを使ってインストールした場合、Anacondaのライブラリ管理機能は当然ながら使えないので注意してほしい。逆に、Anacondaのライブラリ管理機能を使いたくない場合は、pipコマンドを使ってインストールする必要がある。例えばTensorFlowなどのディープラーニング用ライブラリは、pipコマンドを使って、Anacondaで作った仮想環境上にインストールしていくことが推奨されている。
この他、AnacondaにはJupyter Notebookも含まれているなど、データサイエンスの作業をするためのほとんどの機能が入っているので、ディープラーニングをこれから始める人にはお勧めだ。本稿でもこれを用いる。
また、必要最小限のものしか要らない場合は、Anacondaの軽量バージョンであるMinicondaもお勧めだ。Minicondaのインストール方法も、後述の「3.2. Anaconda/Miniconda」で簡単に紹介する。
ちなみに、nvidia-dockerをインストールしたのであれば、Python仮想環境は使わずに、Dockerコンテナごと切り替えてもよい。ただし、Anacondaによる簡単なPythonライブラリ導入の機能も捨てがたいので、取りあえずDockerコンテナ上にAnacondaはインストールして、その仮想環境は使わずに、パッケージ管理機能だけを活用するという手段を採用するのがよりよいだろう。
以上、幾つかのPython環境の構築方法があるので、以下にその使い分け指針をまとめておこう。
それではAnaconda/Minicondaのインストール方法を紹介しよう。
これも厳密には公式のAnacondaインストールガイド/Minicondaインストールガイド(英語)を参照してほしい。ここでは参考までにどのような手順でインストールしたのかを、以下に示しておこう。基本的にはAnacondaについて説明し、Minicondaについては補足的に紹介する。
まずはLinux用インストーラー(本稿の例では、Anacondaの場合:Anaconda3-2019.07-Linux-x86_64.sh/Minicondaの場合:Miniconda3-4.7.10-Linux-x86_64.sh)をダウンロードする。
これには、Anacondaの場合であれば、Anaconda for Linux Installerで、[Python 3.7 version](Python 3系のAnaconda: 以下、Anaconda3)枠にある[64-Bit (x86) Installer (517 MB)]リンクを右クリックしてリンクのアドレスをコピーする(図8)。なお、[Python 2.7 version](Python 2系のAnaconda: 以下、Anaconda2)も選択できるが、特別な理由がなければPython 3系をインストールしておけばよい。Minicondaの場合も同様に、Miniconda for Linux Installerで、[Python 3.7](以下、Miniconda3)枠にある[64-bit (bash installer)]リンクを右クリックしてリンクのアドレスをコピーする。
取得したダウンロードリンクを使って、リスト3.1のコマンドを実行した(※当然ながら、wgetに指定するダウンロードリンクは、各自でコピーしたものに差し替える必要がある)。
$ wget https://repo.anaconda.com/archive/Anaconda3-2019.07-Linux-x86_64.sh
このコマンド例ではAnaconda3-2019.07-Linux-x86_64.sh(もしくはMiniconda3-4.7.10-Linux-x86_64.sh)という名前のファイル(=Linux用のシェルスクリプトで、通常は.shという拡張子がつく)がダウンロードされる。念のため、ファイルが壊れていないかをチェックサムで確認しておくとよい。そのためのコマンドはリスト3.2のようになる。
$ md5sum Anaconda3-2019.07-Linux-x86_64.sh
ec6a6bf96d75274c2176223e8584d2da Anaconda3-2019.07-Linux-x86_64.sh
Anacondaの場合、ec6a6bf96d75274c2176223e8584d2daがチェックサムの値になるが、こちらのリンク先でファイルに対する正常なチェックサム値を参照して、両者が一致するか確認すればよい。Minicondaの場合は、こちらのリンク先で確認できる。
それでは、ダウンロードしたシェルスクリプトを使ってAnaconda(もしくはMiniconda)をインストールしよう。リスト3.3のようにコマンドを実行する。
$ bash Anaconda3-2019.07-Linux-x86_64.sh
Anacondaのインストーラーの実行内容は、リスト3.4に掲載した。ポイントを簡単に紹介しておこう(※Minicondaについての以降の説明は割愛する)。
$ bash Anaconda3-2019.07-Linux-x86_64.sh
Welcome to Anaconda3 2019.07
In order to continue the installation process, please review the license
agreement.
Please, press ENTER to continue
>>>
===================================
Anaconda End User License Agreement
===================================
……ライセンス内容……
Do you accept the license terms? [yes|no]
[no] >>> yes
Anaconda3 will now be installed into this location:
/home/user-name/anaconda3
- Press ENTER to confirm the location
- Press CTRL-C to abort the installation
- Or specify a different location below
[/home/user-name/anaconda3] >>>
……インストールが実行される……
Do you wish the installer to initialize Anaconda3
by running conda init? [yes|no]
[no] >>> yes
……環境変数PATHへのAnacondaパスの追加といった初期設定が行われる……
Thank you for installing Anaconda3!
……省略……
// 最後にOSを再起動して、OS全体をリセットしておこう
$ sudo reboot
インストールが終わったら、デスクトップ画面を開いてターミナルを立ち上げ、リスト3.5のコマンドを実行してみよう(※Anacondaの場合のみ)。
$ anaconda-navigator
図10に示すAnaconda Navigatorというウィンドウが表示されるはずだ。ここにJupyter Notebookも含まれていることが分かる。
左側のメニューから[Environments]タブを選択すると、右側に各種ライブラリの一覧が表示され、ここでライブラリバージョンの管理が可能だ(図11)。また、中央の部分はPython仮想環境(前述)を作成したり選択したりする場所となっている。
この仮想環境はもちろん、GUIだけでなく、コマンドで操作することもできる(リスト3.6を参照)。
// 「tensorflow2」という名前の仮想環境を作成する。Pythonのバージョンは3.7で、numpy/scipy/pandas/jupyterというライブラリを最初からインストールしている
$ conda create -n tensorflow2 python=3.7 numpy scipy pandas jupyter
// 後から追加ライブラリ(この例ではmatplotlib/pillow)をインストールするには以下のようにする
$ conda install -n tensorflow2 matplotlib pillow
// 仮想環境「tensorflow2」の一覧を表示
$ conda env list
# conda environments:
#
base * /home/user-name/anaconda3
tensorflow2 /home/user-name/anaconda3/envs/tensorflow2
// 仮想環境「tensorflow2」を利用開始する
$ conda activate tensorflow2
// 仮想環境「tensorflow2」上で各種コマンドが実行できる
(tensorflow2)$ python --version
Python 3.7.4
// 仮想環境「tensorflow2」を利用終了する
$ conda deactivate
// 仮想環境「tensorflow2」を削除する(実行する場合は、次のリスト3.7の後で)
$ conda remove -n tensorflow2 --all
ライブラリバージョンのアップデートについても、コマンド操作が可能だ(リスト3.7を参照)。
// 個別のライブラリ(この例ではnumpy)」を最新にアップデートする
$ conda update numpy
// 全てのライブラリを最新にアップデートする
$ conda update --all
// 仮想環境を利用開始する
$ conda activate tensorflow2
// 仮想環境「tensorflow2」上でライブラリを全てアップデートする
(tensorflow2)$ conda update --all
以上、必要最小限の使い方だけを紹介したが、機会があれば別記事でAnacondaを使う方法をより詳しく説明したい。
PyCharmは、Python開発者の間で人気のある、JetBrains社製の統合開発環境(IDE)だ。Jupyter Notebookによる開発にも対応しており、データサイエンスやディープラーニング開発にも役立つので、ここでインストールして試してみるとよいだろう。
PyCharmには、有償のProfessional版と無償のCommunity版がある。執筆時点ではCommunity版でも商用利用可能となっているので、まずはCommunity版から使い始めてみることをお勧めする。
インストールするには、まず、デスクトップ画面を開いてブラウザを立ち上げ、下記リンク先から圧縮ファイル(.tar.gzファイル)をダウンロードして、任意の場所(本稿の例では/home/user-name/pycharm-community/)に展開する。
デスクトップ画面上のターミナルからリスト3.8のコマンドを実行すると、図12のようにPyCharmが起動する。
$ cd /home/user-name/pycharm-community/
$ bash bin/pycharm.sh
PyCharmは本格的に開発したい場合に役立つが、もっと手軽にPythonコードを修正したいなどのニーズも多く発生するのではないだろうか。そういった場合は、Pythonなどのプログラミングコードに対応したテキストエディタ(=コードエディタ)が便利だ。コードエディタと言えば、Visual Studio Codeが最もお勧めである。
Visual Studio Codeは、ここまでに何度か登場している.debファイル、つまりインストーラーパッケージとして提供されているので、インストールは簡単だ。
デスクトップ画面を開いてブラウザを立ち上げ、上記リンク先から.debファイルをダウンロードして、ダブルクリックするなどして実行すればインストールできる。
インストールが完了したら、[アプリケーション]メニューの[開発]−[Visual Studio Code]を実行すれば、Visual Studio Codeが起動する。図13は実際に起動したところ。
かなり長い記事になってしまったので、インストール作業はこれで最後としよう。他にもインストールをお勧めしたいソフトウェアは幾つかあるのだが、これから先は読者自身が必要に応じて探していただければと思う。
本稿が皆さんのこれからのディープラーニングの実践に役立てばうれしい。ニーズがあれば、年1ぐらいの間隔で、この記事もアップデートできればよいなと考えている。Please follow on Twitter @DeepInsiderJP.
Copyright© Digital Advantage Corp. All Rights Reserved.