安装

要求

核心库

核心库是用 PyTorch 编写的。多个组件在 CUDA 中具有底层实现,以提高性能。这些组件的子集在 C++/PyTorch 中具有 CPU 实现。建议使用支持 GPU 的 PyTorch3D 以使用所有功能。

  1. Linux 或 macOS 或 Windows

  2. Python 3.8、3.9 或 3.10

  3. PyTorch 1.12.0、1.12.1、1.13.0、2.0.0、2.0.1、2.1.0、2.1.1、2.1.2 或 2.2.0。

  4. 与 PyTorch 安装匹配的 torchvision。您可以按照 pytorch.org 中的说明将它们一起安装,以确保这一点。

  5. gcc & g++ ≥ 4.9

  6. fvcore FVCORE公司

  7. ioPath

  8. 如果要使用 CUDA,请使用相应 pytorch 版本支持的版本,并且至少是 9.2 版本。

  9. 如果要使用早于 11.7 的 CUDA,并且您是从源代码构建的,则 CUB 库必须可用。建议使用 1.10.0 版。

可以通过运行以下命令来安装运行时依赖项:

conda create -n pytorch3d python=3.9
conda activate pytorch3d
conda install pytorch=1.13.0 torchvision pytorch-cuda=11.6 -c pytorch -c nvidia
conda install -c fvcore -c iopath -c conda-forge fvcore iopath

对于 CUB 生成时间依赖关系(仅当 CUDA 早于 11.7 时才需要),如果您使用的是 conda,则可以继续使用

conda install -c bottler nvidiacub

否则,从 https://github.com/NVIDIA/cub/releases 下载 CUB 库并将其解压缩到您选择的文件夹中。在构建之前定义环境变量CUB_HOME,并将其指向包含 CMakeLists.txt CUB 的目录。例如在 Linux/Mac 上,

curl -LO https://github.com/NVIDIA/cub/archive/1.10.0.tar.gz
tar xzf 1.10.0.tar.gz
export CUB_HOME=$PWD/cub-1.10.0

测试/linting 和演示

要在 PyTorch3D 之上进行开发或做出贡献,您需要运行 linter 和测试。如果您想运行任何笔记本教程 docs/tutorials 或示例, docs/examples 您还需要 matplotlib 和 OpenCV。

  1. scikit-image
  2. black
  3. usort
  4. flake8
  5. matplotlib
  6. tdqm
  7. jupyter
  8. imageio
  9. plotly
  10. opencv-python

这些可以通过运行以下命令进行安装:

# Demos and examples
conda install jupyter
pip install scikit-image matplotlib imageio plotly opencv-python

# Tests/Linting
pip install black usort flake8 flake8-bugbear flake8-comprehensions

安装 PyTorch3D 的预生成二进制文件

安装上述依赖项后,运行以下命令之一:

1. 在 Anaconda Cloud 的 CUDA 支持下安装,仅在 Linux 上

# Anaconda Cloud
conda install pytorch3d -c pytorch3d

或者,要安装夜间(非官方,alpha)版本,请执行以下操作:

# Anaconda Cloud
conda install pytorch3d -c pytorch3d-nightly

2. 安装适用于 Linux 的轮子

对于每个受支持的 CUDA 版本,适用于 Python 3.8 和 3.9,我们为 PyTorch 1.11.0 提供了带有 CUDA for Linux 的预构建轮。这是为了便于在 Google Colab 上使用。这些是以特殊方式安装的。例如,要安装 Python 3.8、PyTorch 1.11.0 和 CUDA 11.3

pip install --no-index --no-cache-dir pytorch3d -f https://dl.fbaipublicfiles.com/pytorch3d/packaging/wheels/py38_cu113_pyt1110/download.html

通常,在 IPython 内部、Google Colab 或 jupyter 笔记本中,您可以使用

import sys
import torch
pyt_version_str=torch.__version__.split("+")[0].replace(".", "")
version_str="".join([
    f"py3{sys.version_info.minor}_cu",
    torch.version.cuda.replace(".",""),
    f"_pyt{pyt_version_str}"
])
!pip install fvcore iopath
!pip install --no-index --no-cache-dir pytorch3d -f https://dl.fbaipublicfiles.com/pytorch3d/packaging/wheels/{version_str}/download.html

从源代码构建/安装。

如果 CUDA 在 pytorch 中可用,或者环境变量 FORCE_CUDA 设置为 1 ,则将包括 CUDA 支持。

1. 从 GitHub 安装

pip install "git+https://github.com/facebookresearch/pytorch3d.git"

要使用已发布版本的代码而不是从主分支进行安装,请改用以下命令。

pip install "git+https://github.com/facebookresearch/pytorch3d.git@stable"

对于版本早于 CUDA 11 的 CUDA 构建, CUB_HOME 请在构建之前进行设置,如上所述。

在 macOS 上从 Github 安装:应提供一些环境变量,如下所示。

MACOSX_DEPLOYMENT_TARGET=10.14 CC=clang CXX=clang++ pip install "git+https://github.com/facebookresearch/pytorch3d.git"

2. 从本地克隆安装

git clone https://github.com/facebookresearch/pytorch3d.git
cd pytorch3d && pip install -e .

若要在从本地克隆运行安装后重新生成, rm -rf build/ **/*.so 请 pip install -e . 执行 .重新安装 PyTorch 后,您经常需要重建 pytorch3d。对于版本早于 CUDA 11 的 CUDA 构建, CUB_HOME 请在构建之前进行设置,如上所述。

在 macOS 上从本地克隆安装:

MACOSX_DEPLOYMENT_TARGET=10.14 CC=clang CXX=clang++ pip install -e .

在 Windows 上从本地克隆安装:

根据 PyTorch 的版本,在编译之前可能需要对某些 PyTorch 标头进行更改。这些经常在此存储库中的问题中讨论。

进行任何必要的修补后,您可以转到“适用于 VS 2019 的 x64 本机工具命令提示符”进行编译和安装

cd pytorch3d
python3 setup.py install

安装后,可以运行单元测试

python3 -m unittest discover -v -s tests -t .

来源:https://github.com/facebookresearch/pytorch3d/blob/main/INSTALL.md