admin 管理员组文章数量: 886993
用于记录下在windows下安装pytorch3d过程,方便后期查阅,在安装过程中,以下链接提供了非常大的帮助。
pytorch3D Windows下安装经验总结
Pytorch3d Installation
1 安装Anaconda
2 创建环境
conda create -n igev python=3.9
conda activate igev
3 安装cuda及cudnn
先安装gpu驱动,本机选用537.34,安装好以后在conda下用命令 nvidia-smi 可以查看当前驱动支持的最高cuda版本。
结合将使用的pytorch版本,本机选择安装CUDA 11.7,然后下载Cudnn 8.8.1并解压,将解压后的文件拷入cuda11.7对应的目录中即可。此时,在conda下用命令 nvcc -V 或者 nvcc --version 查看到当前使用的默认cuda版本。
4 安装Pytorch
从INSTALLING PREVIOUS VERSIONS OF PYTORCH中选择对应的版本安装。
# CUDA 11.7
conda install pytorch==1.13.0 torchvision==0.14.0 torchaudio==0.13.0 pytorch-cuda=11.7 -c pytorch -c nvidia
因本环境之前安装过其他版本,导致安装过程中出现了一些报错,按照报错提示从路径
C:\Users\Administrator\anaconda3\pkgs
找到错误提示的包并删除,然后重新执行上面的 conda install xxxxxx 直到安装成功。如果是重新创建的环境,应该不会有这种烦恼。安装好以后,可以执行以下代码测试看看是否运行正常。
>>> import torch
>>> torch.__version__
'1.13.0'
>>> torch.version.cuda
'11.7'
>>> torch.cuda.is_available()
True
>>> import torchvision
>>> torchvision.__version__
'0.14.0'
>>> torch.rand(2, 3).to(device='cuda')
tensor([[0.1089, 0.0720, 0.3776],
[0.9196, 0.8839, 0.5279]], device='cuda:0')
5 安装NVIDIA CUB
从 NVIDIA CUB 根据cuda版本下载对应的cub版本(本机选择cub-1.17.2),解压并设置环境变量 CUB_HOME。
6 安装pytorch3d依赖项
因为本机环境事先安装过不少依赖项,所以只安装了以下项。
conda install -c fvcore -c iopath -c conda-forge fvcore iopath
按照 pytorch3D Windows下安装经验总结 则需要依次安装以下项。
conda install -c fvcore -c iopath -c conda-forge fvcore iopath
conda install jupyter
pip install scikit-image matplotlib imageio plotly opencv-python
pip install black usort flake8 flake8-bugbear flake8-comprehensions
7 安装pytorch3d
按照 Pytorch3d Installation 说明,根据pytorch版本从 Pytorch3d Release 选择下载pytorch3d-0.7.2,解压后进入编译安装环节。
从windows开始菜单中搜索"x64 Native Tools Command Prompt for VS 2019",并以管理员身份打开。然后进入pytorch3d文件夹的目录,先配置visual studio环境变量。这一步的作用没做细致验证,作用未知,跳过这一步,直接进入下一步,不知道是否也可行。
cd F:\d2l\__install__\pytorch1.13.0_cuda11.7\pytorch3d-0.7.2
set DISTUTILS_USE_SDK=1
set PYTORCH3D_NO_NINJA=1
接着,切换到Anaconda环境,进入pytorch3d文件夹的目录,执行。等待几分钟,可看到安装成功提示。
cd F:\d2l\__install__\pytorch1.13.0_cuda11.7\pytorch3d-0.7.2
python setup.py install
8 测试
测试环节出了一点小插曲,在上一步Anaconda下提示成功后执行以下可以成功,
>>> import pytorch3d
>>> pytorch3d.__version__
'0.7.2'
但是,执行 Pytorch3d Get Started 测试代码时报错 " ImportError: cannot import name '_C' from 'pytorch3d' "
from pytorch3d.utils import ico_sphere
from pytorch3d.io import load_obj
from pytorch3d.structures import Meshes
from pytorch3d.ops import sample_points_from_meshes
from pytorch3d.loss import chamfer_distance
# Use an ico_sphere mesh and load a mesh from an .obj e.g. model.obj
sphere_mesh = ico_sphere(level=3)
verts, faces, _ = load_obj("model.obj")
test_mesh = Meshes(verts=[verts], faces=[faces.verts_idx])
# Differentiably sample 5k points from the surface of each mesh and then compute the loss.
sample_sphere = sample_points_from_meshes(sphere_mesh, 5000)
sample_test = sample_points_from_meshes(test_mesh, 5000)
loss_chamfer, _ = chamfer_distance(sample_sphere, sample_test)
通过google ImportError: cannot import name '_C' from 'pytorch3d',从 pytorch3d issue 中找到问题根源。
在Anaconda中执行
>>> print(pytorch3d)
<module 'pytorch3d' from 'C:\\Users\\Administrator\\anaconda3\\envs\\igev\\lib\\site-packages\\pytorch3d-0.7.2-py3.9-win-amd64.egg\\pytorch3d\\__init__.py'>
可确定当前import pytorch3d 是否pytorch3d的安装路径,而不是它的解压缩路径。确定原因后,重启Anaconda, 重新activate环境后,上述测试代码正常运行。
版权声明:本文标题:windows下安装pytorch3d 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1733296162h1572519.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论