ReNomを使ってみようと思ったけど、できなかった話

# ReNom
先日何かで知ったReNomを試してみることにした。
そもそも知った契機は前処理が簡単にできるということで知ったのだが、
調べてみるとDLのフレームワークでひとしきりのことができるみたいなので、一式試してみる（つもりだった）
※[これ](https://rnug.connpass.com/event/123060/)に行ってみて、やる気になったというのが一番大きい

## そもそもReNomって？
https://gridpredict.jp/our_service/%E3%81%95%E3%81%BE%E3%81%96%E3%81%BE%E3%81%AA%E3%83%87%E3%83%BC%E3%82%BF%E8%A7%A3%E6%9E%90%E3%82%92%E5%8F%AF%E8%83%BD%E3%81%AB%E3%81%99%E3%82%8Bai-2/

https://www.renom.jp/ja/


## ReNom DP
前処理用のGUIらしい。
これが一番の目当て

### セットアップ
https://www.renom.jp/packages/renomdp/ja/rsts/installation/installation.html

こっちをセットアップしようと思ったら、なんだかエラー。

こっちを先にやらないとダメなのかな。
http://www.renom.jp/packages/renomdl/rsts/installation/installation.html

```
C:\PJ\02_ML\ReNom\ReNom>python setup.py build_ext -f -i
Traceback (most recent call last):
  File "setup.py", line 5, in <module>
    from Cython.Distutils import build_ext as orig_build_ext
ModuleNotFoundError: No module named 'Cython'
```

Cythonがないと申される。

```
pip install cython
```

※管理権限がないと入らない。

```
C:\PJ\02_ML\ReNom\ReNom>python setup.py build_ext -f -i
Failed to detect cuda.
running build_ext
```

CUDAも無いとダメっぽい？
でもそもそもツールキットはインストールされているはずなのだが。。。

ただ、そもそもよく読んだら[githubの方](https://github.com/ReNom-dev-team/ReNom)にこんなんあった。

>Then install all required packages
pip install -r requirements.txt

ということでまとめて実行してくれるっぽい。
でも、そもそも前処理するだけなのにcudaなんて必要なのか？

改めてgithubの方の手順を確認する
https://github.com/ReNom-dev-team/ReNomDP

>cp <csvfile path> <ReNom DP installed path>/ReNomDP/data/
3.Run server.py script and the application server starts.
python server.py

これって、CSVファイルをdataフォルダにコピーしてserver.pyを実行すればいけるんじゃないのか？

タイタニックのファイルをtrainファイルをコピーして実行してみる

```
C:\PJ\02_ML\ReNom\ReNomDP>python server.py
Traceback (most recent call last):
  File "server.py", line 12, in <module>
    from renom.utility import interpolate
ModuleNotFoundError: No module named 'renom'
```

あー。renomモジュールそのものがないのか。
じゃあやっぱりReNomをインストールが必要か。

### ReNomのインストール

```
C:\PJ\02_ML\ReNom\ReNom>python setup.py build_ext -if
running build_ext
Traceback (most recent call last):
  File "setup.py", line 275, in <module>
    version='2.7.2')
  File "C:\Program Files\Python36\lib\site-packages\setuptools\__init__.py", line 129, in setup
    return distutils.core.setup(**attrs)
  File "C:\Program Files\Python36\lib\distutils\core.py", line 148, in setup
    dist.run_commands()
  File "C:\Program Files\Python36\lib\distutils\dist.py", line 955, in run_commands
    self.run_command(cmd)
  File "C:\Program Files\Python36\lib\distutils\dist.py", line 974, in run_command
    cmd_obj.run()
  File "setup.py", line 103, in run
    build_clib.run()
  File "setup.py", line 30, in run
    return build_clib.run(self)
  File "C:\Program Files\Python36\lib\distutils\command\build_clib.py", line 115, in run
    self.build_libraries(self.libraries)
  File "setup.py", line 61, in build_libraries
    "--compiler-options", ','.join(self.compiler.compiler_so[1:])] + arch_arg
AttributeError: 'MSVCCompiler' object has no attribute 'compiler_so'
```

よりわからないエラーが。。

GPUを使わない場合は[python setup.py build_ext -if]をすっとばしていいみたいなので、
[pip install -e .]を実行してみる。

```
Command ""c:\program files\python36\python.exe" -c "import setuptools, tokenize;__file__='C:\\PJ\\02_ML\\ReNom\\ReNom\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" develop --no-deps" failed with error code 1 in C:\PJ\02_ML\ReNom\ReNom\
```

うーむ。わからぬ。。。
ただ、-e オプションを外したらSuccessになる。

```
Installing collected packages: renom
  Running setup.py install for renom ... done
Successfully installed renom-2.7.2
```

### DP起動
インストールできたくさいので、改めて起動

```
C:\PJ\02_ML\ReNom\ReNomDP>python server.py
Bottle v0.12.16 server starting up (using WSGIRefServer())...
Listening on http://0.0.0.0:8090/
Hit Ctrl-C to quit.
```

起動しているような気配は見せるのだが、特に変化は無し。
本来はブラウザが起動するとかなのか？

サクッと動かなそうなので、ここでいったん終了。


## Recommended Environment

<img width="296" alt="2019-04-21_11h08_44.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106639/b233f30d-f713-9a37-1258-243cdff8b7b8.png">

Windowsじゃないと動かないとか？
なんかもちっとサクッと使えるようにならないかなぁ。。

そのうち気が向いたら、またリトライする予定。。。