植木鉢メモ

IT素人文系が半径5mどころか植木鉢レベルの狭さでいろいろ試してメモするだけ。

pythonのmxnetをwindowsにインストールする話

mxnetのpythonwindowsに入れようとして引っかかった話

 
こいついっつも(ry
 
AWSにmxnet採用だそうで。
mxnet入れてみましょうか。
 
Windows10
Python2.7
で行います。
CPUオンリー。
 
 
・引っかかったパターン1
 
<方法>
を見ながら、windowsのpre-installパッケージをダウンロード。
dllを使ってパス入れたりなんなり。
ダウンロードしたフォルダ内へ
cd python
で"日付_win10_x64_cpu"のなかのpythonフォルダに。
python setup.py install
でmoduleどーん。
 
<結果>
最初はlibinfoが見つからないから始まる。
いや、あるんですよ。
あるんですよ、libinfo! おもっきし階層内にある!
 
一応もう一回importしてみると
 
File "C:\Anaconda2\lib\ctypes\__init__.py", line 365, in __init__
self._handle = _dlopen(self._name, mode)
WindowsError: [Error 126] 指定されたモジュールが見つかりません。
 
あ~^^
そうか~^^
 
 
・引っかかったパターン2
<方法>
一回すべて削除してから
pre-installまで終わらせた後に、上記をgit clone して、cloneした方のpython/mxnetの中に無理やり
libmxnet.dll
を入れる。
(エラー見ながら入れたんで人によっては違う場所かも)
 
<結果>
importはうまくいったけれども、model.fit時に
import error  'model' object has no attribute '_sample_uniform'
だっけね。
が、出てしまって一向にできない。
ちなみにimport元の中身は

"""NDArray namespace used to register internal functions"""

のみである。

レジストリ関係なのかな? うまく構成ができていないのかな、と推測。

 
 
・成功パターン
<方法>
より、pre-installをダウンロードして解凍する。
置き場所はC直下にした。名前はmxnet。
 
先に、フォルダ内の
setupenv.cmd
をダブルクリックにて起動。
 
その後、コマンドラインにて
mxnet/python
へ移動し、
python setup.py install
を行う。
あとはpython
import mxnet
 
<原因>
正直わからない。
いろいろやりすぎた感はある。
最初にpipとかを試してしまったせいかもしれない。
試行錯誤している最中にパスを通しなおしたりしていたためそれかもしれない。
mxnetはドキュメントだったり試してみた結果が少ないので、これをみてなんとなく原因を探っていただければ幸い。
 
 
・追記
大方の敗因がパスであることが判明しました。
なんかこう、唐突に使えなくなったー! やべー! って方は、
setupenv.cmd を起動して作成されるmxnetの環境変数をコピーして、PATHに書き込むとうまくいくようになると思います。
お試しあれー