事实上,只要按照官方文档的说明就可以完美安装。其中坑的地方在于conda的管理可能会导致下载的版本不符合你的要求(例如下载成了cpu版本、下载的cuda版本)而同样尝试使用源码编译以及其他方式下载库都会导致同样的问题,这里主要的原因是由于python的版本不对以及conda 版本不对。这里先简单总结一下本人成功安装的步骤,再简单阐述一下其中的坑,请务必完整阅读后再进行安装。
安装步骤
由于pytorch3d对于conda的要求非常刁钻,!!!这里十分建议重新创建一个虚拟环境!!!
官方链接
此外,目前测试python3.11还不可用,python3.8有点老(不太推荐)
conda create -n pytorch3d python=3.10
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
conda install -c fvcore -c iopath -c conda-forge fvcore iopath
conda install pytorch3d -c pytorch3d
#for test
pip install scikit-image matplotlib imageio plotly opencv-python
问题列表
1、conda问题
下载速度过慢/solving environment 一直转圈
下载速度过慢可以尝试更换源
清华源
vim ~/.condarc
清除原有内容,将下面内容复制进去。保存并退出。
channels:
- defaults
show_channel_urls: true
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
deepmodeling: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/
最后,使用如下命令
conda clean -i
如果出现了solving environment转圈然后失败,可能是因为你之前就已经通过命令行的方式换过源了,这将会导致换源后需要搜索的目标过大,从而导致解析失败。解决方法与上述一致,更新过后的源将会是非常干净的清华源。
当然,一直转圈的原因也有可能是conda版本过旧,可以使用如下方法更新conda
更新conda
conda update -n base -c defaults conda
若失败,则尝试
conda update -n base -c defaults conda --repodata-fn=repodata.json
2、安装pytorch3d中重新又安装了一个pytorch的cpu版本
(1)我们强烈建议先检查一下conda版本是否过低,当确认无误后再查看本节。
(2)注意:请不要使用pip来安装pytorch环境
这是因为使用pip安装的pytorch环境将不会被conda安装的pytorch3d环境检测到,这样的话会导致其认为没有pytorch的合适版本而重新安装一次,这样将会导致你之前的pytorch环境完全崩溃
(3)请检查python版本是否过老或过新
3、cuda问题
有关cuda的一些简单概念参考
我们知道pytorch和pytorch都需要使用gpu版本。但是我们需要注意到pytorch系列使用到的cuda相关工具都会再conda安装时被自动嵌入到相关环境中(如果你仔细观察会发现conda下载时会下载一些带有cuda的包),老版本的pytorch中会下一个cudatoolkit,好像新版本中不需要了。因此,我们这里所参考的cuda版本实际上就是pytorch对应后面的版本,例如
而像外部环境中nvida-smi 和nvcc- V的版本这里都不用管。
为了增加论证,这里列出我的这两个相应的显示结果
可以看出,我的这两个版本与我下载的pytorch-cuda版本均不一致,但不影响使用
by the way:下载pytorch的时候还是要保证其gpu版本尽量和nvidia-smi显示的版本尽量一致,否则会出现虽然正常检测但是运算速度极慢的情况。
测试
请在安装pytorch后测试如下代码,检测你的版本和gpu是否可用
import torch
print(torch.__version__)
print(torch.cuda.is_available())
请在安装pytorch3d后测试如下代码,检测你的pytorch3d是否可用
CMU 3dvision 作业1