LoginSignup
1
0

More than 3 years have passed since last update.

PyTorch + Cuda10 GPU + windows 最新セットアップ注意点まとめ(2020年4月)

Last updated at Posted at 2020-04-13

最終セットアップ一覧(2020年4月時点)

  • セットアップマシン:azure vm NV6
  • OS: Win10
  • python: 3.7.7
  • virtualenv + pipインストール環境
  • torch: 1.4.0
  • torchvision: 0.5.0
  • CUDA: 10.2.89

cudaセットアップ

python version

  • 結論:64bitを選んで、現時点pythonは3.7を選ぼう。
  • cuda10は32bitがサポートしていないので、pythonは86_64の64ビットを使わないといけない。
  • python3.8はまだいろいろ試されていなくて、下記エラーが結構出る。
    なので3.7が最新の実行できる環境。
    RuntimeError: error in LoadLibraryA
  • リリース予定のtorch1.5で解決しそう。
    いつ出るか。

pytorchのインストール方法

  • 結論:思い込みのpipインストールが行かず、公式サイトで環境通りにセットアップする。
    Screen Shot 2020-04-13 at 9.33.38.png
  • 実行コマンド: pip install torch===1.4.0 torchvision===0.5.0 -f https://download.pytorch.org/whl/torch_stable.html

cudaはwindowsでのマルチスレッドサポートしないケースがあるので要注意!

  • pythonのmultiprocessingのPoolなど使って、モデルのクラスをラップしたりして実行すると、RuntimeError: cuda runtime error (801) : operation not supportedが発生する。
  • 文字通りに使用できない。ここが公式サイトの説明
  • でもなぜかazure vm NV6では実行ができてしまう。他の環境では高い確率で失敗するからできれば避けましょう。
  • THCudaCheck FAIL file=C:\w\1\s\windows\pytorch\torch/csrc/generic/StorageSharing.cpp line=245 error=801 : operation not supported Traceback (most recent call last): File "C:\python-venv\****.py", line 97, in <module> main(args) File "C:\python-venv\****.py", line 87, in main p.map(prcess_img_wrapper, values) File "c:\users\your\appdata\local\programs\python\python37\lib\multiprocessing\pool.py", line 268, in map return self._map_async(func, iterable, mapstar, chunksize).get() File "c:\users\your\appdata\local\programs\python\python37\lib\multiprocessing\pool.py", line 657, in get raise self._value File "c:\users\your\appdata\local\programs\python\python37\lib\multiprocessing\pool.py", line 431, in _handle_tasks put(task) File "c:\users\your\appdata\local\programs\python\python37\lib\multiprocessing\connection.py", line 206, in send self._send_bytes(_ForkingPickler.dumps(obj)) File "c:\users\your\appdata\local\programs\python\python37\lib\multiprocessing\reduction.py", line 51, in dumps cls(buf, protocol).dump(obj) File "C:\python-venv\lib\site-packages\torch\multiprocessing\reductions.py", line 242, in reduce_tensor event_sync_required) = storage._share_cuda_() RuntimeError: cuda runtime error (801) : operation not supported
1
0
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
1
0