LoginSignup
11
1

More than 3 years have passed since last update.

pipでReNomをインストールして起動する方法

Last updated at Posted at 2019-12-03

機械学習フレームワークであるReNomをUbuntu環境に構築してみました。
GitHubのREADMEを参考にしています。

インストールしたアプリは、

  • ReNom本体:TensorflowやChainerのような機械学習ライブラリ
  • ReNomTAG:教師データ作成アプリ、単体で動く
  • ReNomIMG:画像解析アプリ、ReNom本体が必要
  • ReNomDP:数値データ前処理アプリ、単体で動く
  • ReNomRG:数値データ回帰アプリ、ReNom本体が必要

です。

検証環境

Ubuntu16.04, python3.6, cuda10.2, cudnn7.6

ReNomはGPUでもCPUでも使えるようで、基本的にはGPUとCPUの環境でインストール方法に違いはありませんでした。(pipでインストールする場合の話)

GPU環境がセットアップされていればGPUが使われるし、セットアップされてなければCPUが使われるということのようです!

事前準備

pythonやGPUの環境をセットアップしていきます。趣旨とずれるので細かい説明は書かずにコマンドだけ載せます。

python3.6およびpipのインストール
※ppa:jonathonfが使えなくなったので、変更する必要があります。
参考:https://qiita.com/pudding167/items/1d7226155cbfcd76bb1a

$ sudo add-apt-repository ppa:jonathonf/python-3.6
$ sudo apt update
$ sudo apt install -y python3.6 python3.6-dev

$ wget https://bootstrap.pypa.io/get-pip.py
$ sudo python3.6 get-pip.py

cuda10.2のインストール
参考:https://developer.nvidia.com/cuda-downloads

$ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-ubuntu1604.pin
$ sudo mv cuda-ubuntu1604.pin /etc/apt/preferences.d/cuda-repository-pin-600
$ sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
$ sudo add-apt-repository "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/ /"
$ sudo apt-get update
$ sudo apt-get -y install cuda

cudnn7.6のインストール
https://developer.nvidia.com/rdp/cudnn-download
にてダウンロードして、マシン内にコピーして下記を実行。

$ sudo dpkg -i libcudnn7_7.6.5.32-1+cuda10.1_amd64.deb
$ sudo dpkg -i libcudnn7-dev_7.6.5.32-1+cuda10.1_amd64.deb

ReNom本体をインストール

ここからが本題です。
まずは本体をインストールします。
GitHubには、git cloneしてソースコードからビルドする方法と、whlファイルをダウンロードしてpipでインストールする方法が用意されています。

pipの方が圧倒的に簡単なので、pipでインストールします。
whlファイルはOSやcudaのバージョンで異なるようです。
image.png

今回は、Ubuntu16.04, Python3.6, cuda10.0, cudnn7.6 のwhlファイルを利用します。

該当リンクURLをコピーしてpipでインストールします。

$ sudo pip install https://renom.jp/docs/downloads/wheels/renom_dl/ubuntu1604/python3.6/cuda10.0/cudnn7.6.2.24/ReNom2.7.3/renom-2.7.3-cp36-cp36m-linux_x86_64.whl

pandasをインストールします。(pandasはwhlファイルでインストールされなかったですが、起動するためには必要でした…)GitHubにあるrequirements.txtにある通りのバージョンにしています。

$ sudo pip install pandas==0.21.1

pythonを起動してimportできるかテストします。

$ python3.6
Python 3.6.8 (default, Oct  9 2019, 14:04:01)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import renom
>>> 

エラーは何も出力されず、問題なくimportできました!

ReNomTAGを起動する

さてここからは実際のアプリをインストールしていきます。

GitHubを見ると、バージョンによって複数のwhlファイルが用意されています。
今回は現時点で最新バージョンをインストールします。

$ sudo pip install https://grid-devs.gitlab.io/ReNomTAG/bin/renom_tag-1.4b0-py3-none-any.whl

では実際に起動してみます。

$ renom_tag
Bottle v0.12.13 server starting up (using WSGIRefServer())...
Listening on http://0.0.0.0:8080/
Hit Ctrl-C to quit.

http://0.0.0.0:8080/ でサーバが起動したみたいなので、ブラウザからアクセスしてみます。(リモートマシンを対象に構築している場合は、0.0.0.0ではなく実際のIPアドレスを指定する必要があります。例えば、 http://192.168.1.100:8080 といった形式になるかと。)

URLを入力してアクセスすると、ReNomTAGの画面が表示されました。
NOTICEとしてデータを格納するディレクトリを作成するか聞かれていますので、「OK」を押します。

image.png

次はユーザ名を設定する画面になります。ユーザ名を入力して「OK」を押すと下記のように成功したメッセージがでます。
image.png

これで初期設定が完了したようで、画面が表示されました。ただ今回は何もデータは入れていないので、「No images found.」と表示されています。
image.png

ReNomIMGは画像データを入れて、Detection、Segmentation、Classificationに必要な教師データが作れるアプリで、どうやってデータを格納して、どうやって使うかは、GitHubやhttp://renom.jp/ja/index.html に解説がありました。
実際に使うときは参考にしながら進めれば良さそうです。

ReNomIMGを起動する

TAGと同じく現時点で最新のバージョンをインストールします。

$ sudo pip install https://grid-devs.gitlab.io/ReNomIMG/bin/renom_img-2.3.2-cp36-cp36m-linux_x86_64.whl

また、python3-tkをインストールしないと起動しないようなので、インストールしておきます。

$ sudo apt install python3-tk

では実際に起動してみます。

$ renom_img
Listening on http://0.0.0.0:8080/
Hit Ctrl-C to quit.

TAGと同じくブラウザからアクセスしたところ、下記のような画面が表示されました。

image.png

今度は、初期セットアップは何もなくいきなり表示されました。
TAGで作成した教師データと合わせて画像データを入れて画像解析をやってくれるアプリということで、データの入れ方などはTAGと同じく、GitHubやrenom.jpに解説があります。それを参考にして進めていけるかと。

ReNomRGを起動する

ReNomRGも他と同じくpipでインストールできました。

$ sudo pip install https://renom.jp/docs/downloads/wheels/renom_rg/renom_rg-0.6b1-py3-none-any.whl

起動します。

$ renom_rg
Directory scripts is newly created.
Directory datasrc/prediction_set/output is newly created.
Directory datasrc/prediction_set/output/dataset_scaling is newly created.
Directory datasrc/prediction_set/output/csv is newly created.
Directory storage/ml_models is newly created.
INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
INFO  [alembic.runtime.migration] Running upgrade  -> a1643f735a26, init
INFO  [alembic.runtime.migration] Running upgrade a1643f735a26 -> 710ce1a59d37, update_dataset_def
INFO  [alembic.runtime.migration] Running upgrade 710ce1a59d37 -> ca4a3a6fed87, update_model
INFO  [alembic.runtime.migration] Running upgrade ca4a3a6fed87 -> a22b45bfd754, add_target_data_to_dataset
INFO  [alembic.runtime.migration] Running upgrade a22b45bfd754 -> e8b6391f50bf, add paramsearcher
INFO  [alembic.runtime.migration] Running upgrade e8b6391f50bf -> 83b33c9bb091, add_true_pred_histogram
INFO  [alembic.runtime.migration] Running upgrade 83b33c9bb091 -> b87432936ccf, add histogram to dataset
INFO  [alembic.runtime.migration] Running upgrade b87432936ccf -> 4e2cc619c7bf, #16
INFO  [alembic.runtime.migration] Running upgrade 4e2cc619c7bf -> 1b16a19827b2, #42
INFO  [alembic.runtime.migration] Running upgrade 1b16a19827b2 -> 6cb95f3b3377, #18:add importances
INFO  [alembic.runtime.migration] Running upgrade 6cb95f3b3377 -> 2c2d0baf4e03, #90
INFO  [alembic.runtime.migration] Running upgrade 2c2d0baf4e03 -> 1b5fa6c3c388, fix #110
Listening on http://0.0.0.0:8080/
Hit Ctrl-C to quit.

こちらは何やら出力が多いですが、起動したようです。ブラウザからアクセスすると下記のような画面が表示されます。

image.png

404 Errorが出ていますが、「File data.pickle is not found.」とあるので、データがないよって言っているだけです。データを用意したら解消されそうです。

「OK」を押すとReNom IMGと同様の画面が表示されました。
ReNomRGは数値データを扱うアプリということで、csvファイルやpickleファイルを格納すれば回帰分析してくれるようです。

DPを起動する

pipでインストールします。

$ sudo pip install https://grid-devs.gitlab.io/ReNomDP/bin/renom_dp-0.2b2-py3-none-any.whl

起動します。

$ renom_dp
Bottle v0.12.16 server starting up (using WSGIRefServer())...
Listening on http://0.0.0.0:8080/
Hit Ctrl-C to quit.

ブラウザからアクセスすると下記のように画面が表示されました。Select Fileを選択しても何も表示されませんが、データを入れたら選択できるようになるようです。
image.png

まとめ

ReNomを色々インストールして起動してみました。
データを入れて使っていないので、片手落ち感がありますが、とりあえずReNomアプリが動く環境は簡単に構築できる、ということが分かりました!(ほぼpipだけ。GPU環境をセットアップする方が時間かかる…)

11
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
1