在 Windows 10 上使用 anaconda 和 pip 安装 PyTorch3D 失败

0 installation pip anaconda pytorch pytorch3d

我看到似乎有更多人有同样的问题,但没有解决。我正在尝试使用 Anaconda 安装Pytorch3D并收到以下 PackageNotFound 错误。

Collecting package metadata (current_repodata.json): done Solving environment: failed with initial frozen solve. Retrying with flexible solve. Collecting package metadata (repodata.json): done Solving environment: failed with initial frozen solve. Retrying with flexible solve.
PackagesNotFoundError: The following packages are not available from current channels:
  - pytorch3d
Current channels:
  - https://conda.anaconda.org/pytorch3d/win-64
  - https://conda.anaconda.org/pytorch3d/noarch
  - https://repo.anaconda.com/pkgs/main/win-64
  - https://repo.anaconda.com/pkgs/main/noarch
  - https://repo.anaconda.com/pkgs/r/win-64
  - https://repo.anaconda.com/pkgs/r/noarch
  - https://repo.anaconda.com/pkgs/msys2/win-64
  - https://repo.anaconda.com/pkgs/msys2/noarch
To search for alternate channels that may provide the conda package you're looking for, navigate to
    https://anaconda.org
and use the search bar at the top of the page.
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述 在此输入图像描述

我还尝试使用 pip install 'git+https://github.com/facebookresearch/pytorch3d.git' 并获取以下内容:

C:\Users\Alexandra>pip install 'git+https://github.com/facebookresearch/pytorch3d.git'
ERROR: Invalid requirement: "'git+https://github.com/facebookresearch/pytorch3d.git'"

C:\Users\Alexandra>pip install git+https://github.com/facebookresearch/pytorch3d.git
Collecting git+https://github.com/facebookresearch/pytorch3d.git
  Cloning https://github.com/facebookresearch/pytorch3d.git to c:\users\alexan~1\appdata\local\temp\pip-req-build-uspo7an4
  Running command git clone -q https://github.com/facebookresearch/pytorch3d.git 'C:\Users\ALEXAN~1\AppData\Local\Temp\pip-req-build-uspo7an4'
  ERROR: Error [WinError 2] The system cannot find the file specified while executing command git clone -q https://github.com/facebookresearch/pytorch3d.git 'C:\Users\ALEXAN~1\AppData\Local\Temp\pip-req-build-uspo7an4'
ERROR: Cannot find command 'git' - do you have 'git' installed and in your PATH?
Run Code Online (Sandbox Code Playgroud)

我使用的是 Windows 10,使用 python 3.8、PyTorch 1.5 和 CUDA 10.2。我对 python 很陌生,所以我不知道如何解决这个问题(你可以看出,我以前从未从 git 安装过..)(请宽容!)谢谢!

编辑:谢谢您的回答。我确实安装了 Git,它让我更进一步,但仍然没有完成构建..

截图3

另外,当我运行命令时,很有趣

!pip install torch torchvision
!pip install 'git+https://github.com/facebookresearch/pytorch3d.git@stable'
Run Code Online (Sandbox Code Playgroud)

在 Google Collab 中它似乎可以工作,但我无法在 jupyter 中运行它。还有更多想法吗?

B20*_*011 5

编辑 2022 年 10 月 17 日

使用 CUDA 11.6不再需要下载CUB和设置。CUB_HOME尝试使用CUB_HOME会出现nvcc.exe编译错误。在运行安装程序之前,应删除任何先前的CUB_HOME环境变量并重新启动命令行。


原答案

我还尝试在 Windows 10 上安装 pytorch3d。在撰写本文时, https://anaconda.org/pytorch3d/pytorch3d中没有 Windows 软件包。

Pytorch3d 安装文档有详细的说明,但缺少一些信息,只能在各种问题中找到。遇到各种问题后,我能够通过从pytorch 1.8.1和上的源代码编译来安装 pytorch3d 1.10.0(官方文档尚不支持此版本pytorch3d 0.6.0)。

我已经在带有 CUDA 10.2 的 pytorch 1.8.1 和带有 CUDA 11.3 的 pytorch 1.10.0 上进行了测试。我单独安装了 CUDA Toolkit 11.0、CuDNN,并设置了供 Tensorflow GPU 使用的环境变量。对于这两个环境,都使用了新的 python 3.9。Desktop Development with C++Visual Studio 16.11.5 与启用的 CMake 3.21.3一起使用。

最好使用与 Pytorch GPU 版本相同的 CUDA Toolkit 版本。有关于版本的警告,但就我而言,它已成功安装。

必须下载并解压 pytorch3d 源代码才能进行编译。从 pytorch3d 文件夹运行时,python setup.py install它会查找 CUDA_HOME。它能够根据其他标志找到正确的 CUDA 路径。

我最初遇到这些错误,

  • RuntimeError:编译扩展对象时出错。
  • xutility(...): 错误: 需要一个“(”

在 Windows 上安装

  • 创建conda环境,安装torch和依赖项。
conda create -n pytorch3d python=3.9
conda activate pytorch3d
conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch
conda install -c fvcore -c iopath -c conda-forge fvcore iopath
Run Code Online (Sandbox Code Playgroud)
  • 安装适当的 CUDA 工具包、CuDNN 并设置环境变量。
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\libnvvp
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\extras\CUPTI\lib64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\include
Run Code Online (Sandbox Code Playgroud)
  • cl.exe设置Visual C++ 编译器的正确路径。这将允许在选择正确的环境的情况下从 conda 提示符运行编译。使用主机 x64,使用 x86 作为内部文件夹,因为 x64 给我带来了错误。就我而言,是,
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x86
Run Code Online (Sandbox Code Playgroud)
  • 在此问题之后,PYTORCH3D_NO_NINJA系统环境变量被设置为1.

  • FORCE_CUDA值为1(尽管如果 CUDA 在 pytorch 中可用,则不需要),并且CUB_HOME系统环境变量是通过从https://github.com/NVIDIA/cub/releases下载它来设置的。

PYTORCH3D_NO_NINJA 1
CUB_HOME C:\portable\cub-1.9.9
Run Code Online (Sandbox Code Playgroud)
  • 以下环境变量可能是由 CUDA Toolkit 安装设置的。
CUDA_PATH_V11_0 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0
CUDA_PATH C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0
Run Code Online (Sandbox Code Playgroud)
  • 遵循这个问题,而不是-std=c++14extra_compile_argsin 中删除setup.py,注释掉"-std=c++14"innvcc_args对我有用。我确实检查了问题中建议的方法是否有效。

  • 现在python setup.py install从 pytorch3d 源文件夹运行应该开始编译并安装它。

  • 在 conda env 中安装以下要求以运行演示和示例。

conda install jupyter
pip install scikit-image matplotlib imageio plotly opencv-python
Run Code Online (Sandbox Code Playgroud)

上面提到的一些步骤可能是不需要的。无需修改任何头文件。这是对我有用的来源,https://github.com/facebookresearch/pytorch3d/tree/bfeb82efa38f29ed5b9cf8d8986fab744fe559ea