Windowsでの環境構築ってめんどくさいね
前書き
この本を買ったので早速環境構築をすることにしました。しかし、それが苦難の道のりでした...。
つくりながら学ぶ! PyTorchによる発展ディープラーニング
- 作者: 小川雄太郎
- 出版社/メーカー: マイナビ出版
- 発売日: 2019/07/29
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
※今回のお話は有益な情報があまりないので暇な人だけ見てください
環境構築
OS: Winodows 10 Python: 3.7.3 conda: 4.7.10
conda
まず考えたのは、Anacondaはインストール済みだったのでconda install
しよう、ということでした。公式サイトへ行き、提示されたコマンドconda install pytorch-cpu torchvision-cpu -c pytorch
を実行しようとしました。(CUDAは本に合わせてインストールしていません)すると、upgradeを実行してくれといわれたため、先にconda update -n base conda
を実行しました。その後conda info -e
を実行すると、
# >>>>>>>>>>>>>>>>>>>>>> ERROR REPORT <<<<<<<<<<<<<<<<<<<<<< Traceback (most recent call last): File "C:\Users\under\Anaconda3\lib\site-packages\conda\exceptions.py", line 1062, in __call__ return func(*args, **kwargs) File "C:\Users\under\Anaconda3\lib\site-packages\conda\cli\main.py", line 84, in _main exit_code = do_call(args, p) File "C:\Users\under\Anaconda3\lib\site-packages\conda\cli\conda_argparse.py", line 80, in do_call module = import_module(relative_mod, __name__.rsplit('.', 1)[0]) File "C:\Users\under\Anaconda3\lib\importlib\__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1006, in _gcd_import File "<frozen importlib._bootstrap>", line 983, in _find_and_load File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 677, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 728, in exec_module File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "C:\Users\under\Anaconda3\lib\site-packages\conda\cli\main_info.py", line 19, in <module> from ..core.index import _supplement_index_with_system File "C:\Users\under\Anaconda3\lib\site-packages\conda\core\index.py", line 9, in <module> from .package_cache_data import PackageCacheData File "C:\Users\under\Anaconda3\lib\site-packages\conda\core\package_cache_data.py", line 15, in <module> from conda_package_handling.api import InvalidArchiveError File "C:\Users\under\Anaconda3\lib\site-packages\conda_package_handling\api.py", line 3, in <module> from libarchive.exception import ArchiveError as _LibarchiveArchiveError File "C:\Users\under\Anaconda3\lib\site-packages\libarchive\__init__.py", line 1, in <module> from .entry import ArchiveEntry File "C:\Users\under\Anaconda3\lib\site-packages\libarchive\entry.py", line 6, in <module> from . import ffi File "C:\Users\under\Anaconda3\lib\site-packages\libarchive\ffi.py", line 48, in <module> libarchive = ctypes.cdll.LoadLibrary(libarchive_path) File "C:\Users\under\Anaconda3\lib\ctypes\__init__.py", line 434, in LoadLibrary return self._dlltype(name) File "C:\Users\under\Anaconda3\lib\ctypes\__init__.py", line 356, in __init__ self._handle = _dlopen(self._name, mode) TypeError: LoadLibrary() argument 1 must be str, not None
このようなエラーがでてconda info
, conda list
が使えなくなりました。
ここを見たのですが、結局どのように修正するかよくわかりませんでした...(わかる方いたら教えてください)
pip
次に、TwitterのTL上で
1度環境ぶっ壊していいならvenvとpipがいいかと。condaはあまりPythonライブラリの管理に向いてない気がする...
— 世界のTANEO (@TaneoKoyama) 2019年8月2日
このようなアドバイスをもらったのでpipをつかおうと思いました。やり方はこの記事を参考にしました。
pip3 install _
を行うとSSLのエラーが起きましたが、これはOpenSSLを入れたら解決しました。
その後仮想環境はたてられたのですが、torchvisionをインストールする際に問題が起きます。
pip3 install https://download.pytorch.org/whl/cpu/torchvision-0.3.0-cp37-
cp37m-win_amd64.whl
を実行すると
ERROR: Could not find a version that satisfies the requirement torch>=1.1.0 (from torchvision==0.3.0) (from versions: 0.1.2, 0.1.2.post1, 0.1.2.post2) ERROR: No matching distribution found for torch>=1.1.0 (from torchvision==0.3.0)
このようなエラーがでてしまいました。torchとtorchvision別々にインストールすると、
>>> import torchvision Traceback (most recent call last): File "<stdin>", line 1, in <module> File "C:\Users\under\app\pytorch_practice\venv\lib\site-packages\torchvision\__init__.py", line 1, in <module> from torchvision import models File "C:\Users\under\app\pytorch_practice\venv\lib\site-packages\torchvision\models\__init__.py", line 11, in <module> from . import detection File "C:\Users\under\app\pytorch_practice\venv\lib\site-packages\torchvision\models\detection\__init__.py", line 1, in <module> from .faster_rcnn import * File "C:\Users\under\app\pytorch_practice\venv\lib\site-packages\torchvision\models\detection\faster_rcnn.py", line 7, in <module> from torchvision.ops import misc as misc_nn_ops File "C:\Users\under\app\pytorch_practice\venv\lib\site-packages\torchvision\ops\__init__.py", line 1, in <module> from .boxes import nms, box_iou File "C:\Users\under\app\pytorch_practice\venv\lib\site-packages\torchvision\ops\boxes.py", line 2, in <module> from torchvision import _C ImportError: DLL load failed: 指定されたモジュールが見つかりません。
torchvisionのインストールの際にエラーが起きました。競合が起きてそうでしたが詳細がよくわかりませんでした...。
結局
google colab上で!pip install torch torchvision
をするとインストールできてimportもうまくいきました。今までの苦労はいったい....。とはいえ今後はdockerで環境構築をしてみようと思います。