UbuntuでのGPUディープラーニング環境の構築【Ubuntu 16.04 LTS対応】機械学習&ディープラーニング環境構築入門(4/4 ページ)

» 2018年04月18日 05時00分 公開
[一色政彦デジタルアドバンテージ]
前のページへ 1|2|3|4       

3. ディープラーニング開発環境の準備

3.1. Python仮想環境の使い分け指針

 開発環境において、特に複数のディープラーニング用ライブラリを使い分けたいという場合、Pythonバージョンが異なる複数の仮想環境を使い分ける手段があると便利になる。この用途のツールには、Virtualenvがあり、TensorFlowのインストールガイドでも利用が推奨されている。

 しかしデータサイエンスの分野では、AnacondaというPythonディストリビューションパッケージも人気があり、よく使われている。Anacondaは、データサイエンスでよく使われるPythonライブラリ(NumPyやSciPyなど)を簡単にインストール&バージョン管理できるツールが同梱されており、かつPython仮想環境の切り替えも可能である。

 Anacondaの仮想環境にインストールできるのは、Anacondaで用意されているパッケージだけではない。一般的なPythonパッケージ管理ツールであるpipを使っても各種パッケージのインストールが可能だ。なお、pipコマンドを使ってインストールした場合、Anacondaのライブラリ管理機能は当然ながら使えないので注意してほしい。逆に、Anacondaのライブラリ管理機能を使いたくない場合は、pipコマンドを使ってインストールする必要がある。例えばTensorFlowなどのディープラーニング用ライブラリは、pipコマンドを使って、Anacondaで作った仮想環境上にインストールしていくことが推奨されている。

 この他、AnacondaにはJupyter Notebookも含まれているなど、データサイエンスの作業をするためのほとんどの機能が入っているので、ディープラーニングをこれから始める人にはお勧めだ。本稿でもこれを用いる。

 ちなみに、nvidia-dockerをインストールしたのであれば、Python仮想環境は使わずに、Dockerコンテナーごと切り替えてもよい。ただし、Anacondaによる簡単なPythonライブラリ導入の機能も捨てがたいので、取りあえずDockerコンテナー上にAnacondaはインストールして、その仮想環境は使わずに、パッケージ管理機能だけを活用するという手段を採用するのがよりよいだろう。

 以上、いくつかのPython環境の構築方法があるので、以下にその使い分け指針をまとめておこう。

  • pipのみ: Pythonパッケージやディープラーニング用ライブラリを、OSに直接、インストールしたい人向け。さまざまなライブラリを導入したい人には、これ以外をお勧めする。
  • Virtualenv: シンプルにPython仮想環境の切り分けだけしたい人向け。全てのパッケージを自分でインストールして、細かく管理したい人には向いている。
  • Anaconda: データサイエンス関連のライブラリをまとめてインストールして管理したい人向け。これをインストールするだけでさまざまな作業が楽になるのでお勧め。
  • nvidia-docker: できるだけゼロからのまっさらな環境で個別のディープラーニング用ライブラリをインストールして使いたい人にはお勧め。Dockerコンテナーごと、環境を簡単に捨てられるのが魅力。

3.2. Anaconda

 それではAnacondaのインストール方法を紹介しよう。なお本稿では、環境の重さは考慮せず、フルに機能がそろった環境を構築することを目指している。一方で、本以外の本Tutorシリーズでは、より軽量なバージョンであるMinicondaを使って解説している。そのインストール方法は、各連載の中で紹介するので、Minicondaを使いたい場合はこの手順はスキップしてよい。

 Anacondaのインストールも厳密には公式のインストールガイドを参照してほしい。ここでは参考までにどのような手順でインストールしたのかを、以下に示しておこう。

 まずはAnacondaのLinux用インストーラー(本稿の例ではAnaconda3-5.1.0-Linux-x86_64.sh)をダウンロードする。これには、Anaconda for Linux Downloadsで、[Python 3.6 version](Python 3系のAnaconda: 以下、Anaconda3)枠にある[64-Bit (x86) Installer (525 MB)]リンクを右クリックしてリンクのアドレスをコピーする(図8)。なお、[Python 2.7 version](Python 2系のAnaconda: 以下、Anaconda2)も選択できるが、特別な理由がなければPython 3系をインストールしておけばよい(執筆時点で、3系が最新のPython環境である)。

図9 AnacondaのLinux用インストーラーのダウンロードリンクの取得 図9 AnacondaのLinux用インストーラーのダウンロードリンクの取得

 取得したダウンロードリンクを使って、リスト3.1のコマンドを実行した(当然ながら、wgetに指定するダウンロードリンクは、各自でコピーしたものに差し替える必要がある)。

$ wget https://repo.continuum.io/archive/Anaconda3-5.1.0-Linux-x86_64.sh


リスト3.1 AnacondaのLinux用インストーラーをダウンロードするコマンド

 このコマンド例ではAnaconda3-5.1.0-Linux-x86_64.shという名前のファイル(=Linux用のシェルスクリプトで、通常は.shという拡張子がつく)がダウンロードされる。念のため、ファイルが壊れていないかをチェックサムで確認しておくとよい。そのためのコマンドはリスト3.2のようになる。

$ md5sum Anaconda3-5.1.0-Linux-x86_64.sh
966406059cf7ed89cc82eb475ba506e5  Anaconda3-5.1.0-Linux-x86_64.sh


リスト3.2 AnacondaのLinux用インストーラーのチェックサムを確認するコマンド

 966406059cf7ed89cc82eb475ba506e5がチェックサムの値になるが、こちらのリンク先でファイルに対する正常なチェックサム値を参照して、両者が一致するか確認すればよい。

 それでは、ダウンロードしたシェルスクリプトを使ってAnacondaをインストールしよう。リスト3.3のようにコマンドを実行する。

$ bash Anaconda3-5.1.0-Linux-x86_64.sh


リスト3.3 AnacondaのLinux用インストーラーを実行するコマンド

 インストーラーの実行内容は、リスト3.4に掲載した。ポイントを簡単に紹介しておこう。

  • インストール前にライセンスへの同意が求められ、[Enter]キーを押してライセンス内容を確認し、「yes」を入力して同意する必要がある
  • その後、Anaconda3をインストールする場所を聞かれるので、通常は(=ユーザーごとのインストールで問題なければ)[Enter]キーを入力して続行すればよい
  • インストールが開始されると、Python 3.6が未インストールの環境では最初にそれがインストールされる。ちなみにUbuntu 16.04 LTSの場合、すでにPython 3.5/2.7はすでにインストール済みのはずである(python3 --versionpython --versionコマンドで確認できる)。pipコマンドについてはインストールされていないが、Anacondaのインストーラーがインストールしてくれる。これでPython環境に最低限必要なものはそろう
  • 最後に、「Anaconda3インストール場所を環境変数PATHに追加するか?(.bashrcファイル内で設定)」を聞かれるので、「yes」を入力する
  • 続けて、「VSCode(Visual Studio Code)をインストールするか?」を聞かれるので、必要に応じて「yes」を入力する(後述の3.4でもインストール方法を説明している)

$ bash Anaconda3-5.1.0-Linux-x86_64.sh

Welcome to Anaconda3 5.1.0

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 prepend the Anaconda3 install location
to PATH in your /home/user-name/.bashrc ? [yes|no]
[no] >>> yes

……環境変数PATHにAnacondaのパス設定が追加される……

Thank you for installing Anaconda3!

……ここでインストールは完了……

===========================================================================

……続けて、Anaconda がMicrosoft Visual Stduio Codeのパートナーであることの説明があり……

Do you wish to proceed with the installation of Microsoft VSCode? [yes|no]
>>> yes

……Visual Studio Codeのインストールが実行される……


$ # 最後にBashの実行コマンド(runcom)を読み込み直す
$ source ~/.bashrc


リスト3.4 AnacondaのLinux用インストーラーの実行内容

 インストールが終わったら、デスクトップ画面を開いてターミナルを立ち上げ、リスト3.5のコマンドを実行してみよう(SSHでリモートからインストールしている場合やGUIを使わない場合は、この手順はスキップして、次に説明するコマンド操作を実行してほしい)。

$ anaconda-navigator


リスト3.5 Anaconda Navigatorを起動するコマンド

 図10に示すAnaconda Navigatorというウィンドウが表示されるはずだ。ここにJupyter Notebookも含まれていることが分かる。

図10 Anaconda Navigatorの[Home]タブ 図10 Anaconda Navigatorの[Home]タブ

 左側のメニューから[Environments]タブを選択すると、右側に各種ライブラリの一覧が表示され、ここでライブラリバージョンの管理が可能だ(図11)。また、中央の部分はPython仮想環境(前述)を作成したり選択したりする場所となっている。

図11 Anaconda Navigatorの[Home]タブ 図11 Anaconda Navigatorの[Home]タブ

 この仮想環境はもちろん、GUIだけでなく、コマンドで操作することもできる(リスト3.6を参照)。

$ # 「tensorflow17」という名前の仮想環境を作成する。Pythonのバージョンは3.5で、numpy/scipy/pandas/jupyterというライブラリを最初からインストールしている
$ conda create -n tensorflow17 python=3.5 numpy scipy pandas jupyter

$ # 後から追加ライブラリ(この例ではmatplotlib/pillow)をインストールするには以下のようにする
$ conda install -n tensorflow17 matplotlib pillow

$ # 仮想環境「tensorflow17」の一覧を表示
$ conda env list
# conda environments:
#
tensorflow17             /home/user-name/anaconda3/envs/tensorflow17
root                  *  /home/user-name/anaconda3

$ # 仮想環境「tensorflow17」を利用開始する
$ source activate tensorflow17

$ # 仮想環境「tensorflow17」上で各種コマンドが実行できる
(tensorflow17)$ python --version
Python 3.5.5 :: Anaconda, Inc.

$ # 仮想環境「tensorflow17」を利用終了する
$ source deactivate

$ # 仮想環境「tensorflow17」を削除する
$ conda remove -n tensorflow17 --all


リスト3.6 仮想環境を操作するコマンド

 ライブラリバージョンのアップデートについても、コマンド操作が可能だ(リスト3.7を参照)。

$ # 個別のライブラリ(この例ではnumpy)」を最新にアップデートする
$ conda update numpy

$ # 全てのライブラリを最新にアップデートする
$ conda update --all

$ # 仮想環境を利用開始して、その仮想環境上でライブラリを全てアップデートする
$ source activate tensorflow17
(tensorflow17)$ conda update --all


リスト3.7 仮想環境を操作するコマンド

 以上、必要最小限の使い方だけを紹介したが、機会があれば別記事でAnacondaを使う方法をより詳しく説明したい。

3.3. PyCharm

 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


リスト3.8 PyCharmを起動するコマンド

図12 PyCharmの起動例 図12 PyCharmの起動例

3.4. Visual Studio Code

 PyCharmは本格的に開発したい場合に役立つが、もっと手軽にPythonコードを修正したいなどのニーズも多く発生するのではないだろうか。そういった場合は、Pythonなどのプログラミングコードに対応したテキストエディター(=コードエディター)が便利だ。コードエディターと言えば、Visual Studio Codeが最もお勧めである。

 Visual Studio Codeは、ここまでに何度か登場している.debファイル、つまりインストーラーパッケージとして提供されているので、インストールは簡単だ。

 デスクトップ画面を開いてブラウザーを立ち上げ、上記リンク先から.debファイルをダウンロードして、ダブルクリックするなどして実行すればインストールできる。

 インストールが完了したら、[アプリケーション]メニューの[開発]−[Visual Studio Code]を実行すれば、Visual Studio Codeが起動する。図13は実際に起動したところ。

図13 Visual Studio Codeの起動例 図13 Visual Studio Codeの起動例

 注意点として、本稿で紹介したX2Go経由だとVisual Studio Codeを起動できない問題があった。これを回避するには、リスト3.9のコマンドを実行してほしい。

$ sudo sed -i 's/BIG-REQUESTS/_IG-REQUESTS/' /usr/lib/x86_64-linux-gnu/libxcb.so.1


リスト3.9 X2Go経由だとVisual Studio Codeを起動できない問題を解消するコマンド


 かなり長い記事になってしまったので、インストール作業はこれで最後としよう。他にもインストールをお勧めしたいソフトウェアはいくつかあるのだが、これから先は読者自身が必要に応じて探していただければと思う。

 本稿が皆さんのこれからのディープラーニングの実践に役立てばうれしい。ニーズがあれば、年1ぐらいの間隔で、この記事もアップデートできればよいなと考えている。

「機械学習&ディープラーニング環境構築入門」のインデックス

機械学習&ディープラーニング環境構築入門

前のページへ 1|2|3|4       

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。