PyTorch3DはWindowsにインストールするのが困難だと思っていたら何の苦もなくインストールできてしまった。
環境は
- RTX3090
- Visual Studio 2019
- PyTorch3D 0.4.0
- pytorch 1.8.0 py3.9_cuda11.1_cudnn8_0
ソースをGitHubからgit cloneしINSTALL.mdに従いcondaとpipで依存ライブラリをインストールし、CUBを適当な場所に置きパスを通し(←CUDA11.1以降ではCUBが同梱されているので別途のセッティングは不要)、x64 Native Tools Command Prompt for VS 2019でpython setup.py install
を叩くとインストールできた。
INSTALL.md等々にあるソースコードの修正は不要。
これまでの苦労はなんだったのか。
RTX30XX+pytorch 1.8+cuda11.1の組み合わせだけでうまくいくのかもしれない。
以下は古い情報。
最初はこの通りブチギレメモをとりながらやっていたがpytorch 1.6+cuda10以下はRTX3090で動かないことがわかり絶望し、pytorch 1.8+cuda11.1を試したらあっさり動いたのであった。
ありがとうFacebook様、お前がナンバーワンだ。
PyTorch3Dの2021/03/25の時点でのバージョンがついている最新版はv0.4.0だ。
INSTALL.mdによればWindowsにインストールすることもできそうだ。
しかしこのINSTALL.mdに書いてあるInstall from local clone on Windows:
は全くメンテされておらず、これに従ってもインストールできない。
最悪だ。こんな不自由なソフトウェアを使うべきではない。
しかしどうしてもPyTorch3DをWindowsで動かさなければならないことは稀に良くあると思います。
偉いので泣く泣くがんばることにする。
ちょくちょくWindowsにインストールできない系のissueが立っており(例えば最新は https://github.com/facebookresearch/pytorch3d/issues/614 )
そのたびにメンテナのおっさんがこのissue https://github.com/facebookresearch/pytorch3d/issues/323 に誘導している。
なのでこれに従えばよさそうだ。
わかったことは
- pytorchのソースをビルドする必要があるがVisual Studioではコンパイルが通らないため手作業で修正する必要がある(これはINSTALL.mdにも書いてある、Visual Studioという全人類が使ってるIDEでコンパイル通らないのとか舐めてんのか?)
- しかし該当箇所がpytorchのバージョンによって変わる(これがINSTALL.mdではメンテされていない)
- pytorch 1.6の時に動かすための修正方法がこのissueにまとまっている
- pytorch 1.7以降を併用してPyTorch3DをWindowsにインストールする手順を人類はまだ知らない
ビルドに必要なことは
- pytorch 1.6を使う
- cast.hはINSTALL.mdに従って変更する
- argument_spec.hとmodule.hはこのissue https://github.com/facebookresearch/pytorch3d/issues/323 に従って変更する
- 最初に
python setup.py install
したら怒られるのでワーニングに従ってset DISTUTILS_USE_SDK=1
Facebook様はWindowsという全人類が使っているOSのサポートを真面目にするつもりはないようだ。私はブチ切れている。