機械学習の勉強環境を構築する

Pocket

機械学習を勉強するにあたり、基本的な環境を構築する手順を残します。

必要な環境は以下。
・Windowsマシン
・Docker Toolbox
 ※後継のDocker For Windowsは仮想環境にVirtualBoxではなくHyper-Vを使う兼ね合いで
  問題が多発する様子(WindowsがHOME版だから?)(2018/1時点)

構築する機械学習環境は以下。
・R、RStudio(Server)
・Anaconda(Python, Jupyter notebook, 各種機械学習に必要なPythonライブラリを含む)

【環境構築】
(1)Docker Quickstart Terminalを起動
 ※初回はDockerを動かすためのベースとなるlinux用ISOをダウンロードするため時間がかかる
 ※PCが休止状態になった後など、VirtualBoxのネットワーク挙動がおかしくなる場合がある
  その際はVirtualBox上の仮想マシン(default)の電源オフ後、Docker Quickstart Terminalを起動し直す
 ※プロキシ環境課の場合は過去記事「プロキシ環境下でDockerToolbox(Windows)を動かす」を参照
(2)機械学習の環境はUbuntuをベースとするため、以下のコマンドを実行し、最新版をDocker Hubから取得する

docker pull ubuntu:latest

(3)学習環境起動

docker run -it -v /c/Users/Windowsログインユーザ名/適当なフォルダ名:/root/適当なフォルダ名 --name 〇〇 -p 22:22 -p 8888:8888 -p 8787:8787 ubuntu:latest /bin/bash

※〇〇は適当に名前を付ける(コンテナ名、構築後はこの名前でコンテナを起動する)
※-pオプションは22(SSH), 8888(JupyterNotebook), 8787(RStudio)接続用のポート転送設定
※-vオプションはWindowsフォルダと機械学習環境(Linux)のフォルダ共有(共有しないならオプション不要)
(4)パッケージ情報を最新にする

apt-get update

(5)最低限必要になる(であろう)ツール類をインストールしておく
 ・SSHサーバやvi, wget, sudoコマンド

apt-get isntall -y openssh-server vim wget sudo

 ・日本語環境

apt-get install -y language-pack-ja-base language-pack-ja ibus-mozc

 ・日本語環境設定

update-locale LANG=ja_JP.UTF-8

 ・tar, bunzip2コマンド(Anacondaインストール時に必要)

apt-get install tar libbz2-dev bzip2 apt-transport-https

※libbz2-devはいらなかったかも?
(6)Anacondaインストール
・場所移動

cd /root

・インストーラ取得

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

・インストーラ実行

bash ./Anaconda3-5.0.1-Linux-x86_64.sh

※環境変数 PATH に anaconda の場所を追加(/root/anaconda3)
※tar、bunzip2のコマンドが必要
(7)R, RStudioダウンロードの準備
・パス確認

cat /etc/lsb-release

※DISTRIB_CODENAMEの値を控える
・パスを記述

sudo vi /etc/apt/sources.list

※最終行に「deb https://cran.ism.ac.jp/bin/linux/ubuntu artful/」を記述
※artful/の部分はDISTRIB_CODENAMEの値に変える(今回はxenialだった)
・鍵準備

gpg --keyserver keyserver.ubuntu.com --recv-key E084DAB9
gpg -a --export E084DAB9 | sudo apt-key add -

・パッケージ情報更新

sudo apt-get update

(8)R, RStudioインストール
・Rインストール

sudo apt-get install r-base r-base-dev

・ローカルインストール用パッケージインストール

sudo apt-get install gdebi-core

・R Studio(Server)取得

wget https://download2.rstudio.org/rstudio-server-1.1.383-amd64.deb

・R Studioインストール

sudo gdebi rstudio-server-1.1.383-amd64.deb

(インストール時にエラーが発生した場合、以下を実行)

vi /etc/rstudio/rserver.conf

 ※「server-app-armor-enabled = 0」を追記
・ログイン用ユーザ作成

adduser user

※パスワードはpasswordを設定(別の値でもよい)
(9)Jupyter Notebook設定
・設定ファイル作成

jupyter notebook --generate-config --allow-root

・パスワード設定記述

vi ~/.jupyter/jupyter_notebook_config.py

※「c.NotebookApp.token = ‘password’」を追記

以上で環境構築は終了です。

以下は使い方。

Dockerを以下コマンドで抜けます。

exit

次回以降は以下コマンドで起動します

docker start 〇〇
docker attach 〇〇

※〇〇は構築時に付けたコンテナ名
起動後は以下コマンドでSSHやJupyterNotebookやRStudio(Server)を起動して使用します
・SSH起動

/etc/init.d/ssh start

・JupyterNotebook起動

cd /root
jupyter notebook --ip=0.0.0.0 --allow-root &

・RStudio起動

sudo rstudio-server start

SSH接続して機械学習環境を直接操作したい場合
 →TeraTerm等で「P:192.168.99.100、ポート:22に接続
JupyterNotebookを使いたい場合は、Windowsマシンのブラウザで以下アクセス
 →http://192.168.99.100:8888
※パスワードはpassword
RStudioを使いたい場合は、Windowsマシンのブラウザで以下アクセス
 →http://192.168.99.100:8787
※ログイン情報はuser/password

JupyterNotebookのroot許可や不適切なパスワード値を使っていますが、ローカルでの使用を想定しているので問題ないかと思います。

作成したコンテナをDockerHubにアップロードしておくと、自宅や会社など、好きなマシンにすぐインストールできるので便利です。

お疲れ様でした。

広告

Pocket

One Comment

  • ぺく 返信

    【追記】
    Windows環境なら、今はAnacondaを普通にインストールして使う方が色々楽で便利です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です