0
点赞
收藏
分享

微信扫一扫

[HarmonyOS应用开发]使用NAPI实现C与ArkTS交互

GG_lyf 2024-11-05 阅读 12

主要的安装流程参考pytorch3D Windows下安装经验总结_conda pytorch3d v windows-CSDN博客,其中提到的cub和MinGW我都没安装。

记录一下我的windows 10安装pytorch3d的过程

一、版本

conda虚拟环境

python3.11.9(亲测,下述步骤在python=3.9.19上也能安装)

pytorch2.3.1

pytorch0.7.7

cuda toolkit 12.1

二、步骤

1、安装anaconda(参照其他帖子),创建虚拟环境。

conda create -n yourenv python=3.11
conda activate yourenv

2、安装必要的库。依次执行下面的代码(一行一行来,复制一行粘贴然后回车等待安装完成再继续下一行,直到全部安装完成)

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

3、安装pytorch,在官网(Previous PyTorch Versions | PyTorch)上找合适的版本(匹配自己的python版本和cuda toolkit版本)。我这里选择的版本如下。将这段代码输入到conda命令提示符窗口并运行。

4、下载pytorch3d源码(Releases · facebookresearch/pytorch3d (github.com)),注意匹配自己的torch版本。点击链接下载压缩包。然后找个位置解压缩,注意路径不要太长,有说法是路径太长可能导致失败。

5、以管理员身份打开x64 Native Tools Command Prompt for VS 2022,激活conda环境。然后进入你解压pytorch3d的目录下。

conda activate yourenv
e:
cd E:\test\pytorch3d-0.7.7

Prompt 窗口依次输入执行下面的命令

set DISTUTILS_USE_SDK=1
set PYTORCH3D_NO_NINJA=1

6、修改“cuda\config.h”

编辑位于 "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\(你的cudatoolkit版本)\include\thrust\system\cuda\config.h"的config.h文件。Ctrl+F搜索。

#ifndef THRUST_IGNORE_CUB_VERSION_CHECK

然后在它前面加上一行

#define THRUST_IGNORE_CUB_VERSION_CHECK

7、修改工具集版本号

打开目录“(你的VS的安装目录)\2022\Community\VC\Auxiliary\Build”,目录下类似于这样:

找到以 14.2x 开头的文件夹。然后在Prompt 窗口输入:

"(你的vs安装目录)\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64 -vcvars_ver=14.2x

这个14.2x根据上一步找到的目录下面的文件夹名的数字来确定,例如我的就是:

"D:\Microsoft\VisualStudio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64 -vcvars_ver=14.29.16.11

如果不执行这一步,可能会报错:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\include\crt/host_config.h(153): fatal error C1189: #error:  -- unsupported Microsoft Visual Studio version! Only the versions between 2017 and 2022 (inclusive) are supported! The nvcc flag '-allow-unsupported-compiler' can be used to override this version check; however, using an unsupported host compiler may cause compilation failure or incorrect run time execution. Use at your own risk.
error: command 'C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v12.1\\bin\\nvcc' failed with exit code 2

8、开始安装,在Prompt 窗口输入:

python setup.py install

安装成功的效果:

Using d:\anaconda\yourenv\hggd2\lib\site-packages
Finished processing dependencies for pytorch3d==0.7.7

三、测试安装是否成功

Prompt 窗口输入:

python

 然后输入:

import torch
import pytorch3d

def test_pytorch3d():
    print("PyTorch3D imported successfully!")
    
    if torch.cuda.is_available():
        device = torch.device("cuda")
        print("CUDA is available. Testing PyTorch3D with GPU...")
        
        # 创建一个 tensor 并移动到 GPU
        x = torch.tensor([[1.0, 2.0, 3.0]], device=device)  # 确保点是二维的
        
        from pytorch3d.transforms import RotateAxisAngle
        rot = RotateAxisAngle(angle=90, axis="X").to(device)  # 将变换移动到 GPU
        x_transformed = rot.transform_points(x)
        
        print("Tensor on GPU: ", x)
        print("Transformed Tensor: ", x_transformed)
    else:
        print("CUDA is not available. Please check your PyTorch and GPU settings.")

test_pytorch3d()

测试成功like:

PyTorch3D imported successfully!
CUDA is available. Testing PyTorch3D with GPU...
Tensor on GPU:  tensor([[1., 2., 3.]], device='cuda:0')
Transformed Tensor:  tensor([[ 1.0000, -3.0000,  2.0000]], device='cuda:0')

四、记录一下遇到的问题

1、其他很多说法里提到要使用x64 Native Tools Command Prompt for VS 2019,但是现在(2024.8.23)已经无法再下载VS 2019。

实测按照安装步骤的7操作,可以安装。

2、关于toolkit

注意cuda toolkit和cuda驱动是不一样的一文讲清楚CUDA、CUDA toolkit、CUDNN、NVCC关系-CSDN博客。

在安装pytorch的时候,一定要选择对应的cuda版本,例如:

如果没有这个版本的cuda toolkit,就得装一下,否则会在编译的时候出错!安装toolkit可以找找其他博客。装完之后记的修改环境变量CUDA_HOME和CUDA_PATH。例如我的cuda 12.1:

3、奇怪的问题

LINK : fatal error LNK1181: 无法打开输入文件“E:\Shared\pytorch3d-0.7.7\build\temp.win-amd64-cpython-39\Release\Shared\pytorch3d-0.7.7\pytorch3d\csrc\ball_query\ball_query.obj”
error: command 'D:\\Microsoft\\VisualStudio\\2022\\Community\\VC\\Tools\\MSVC\\14.40.33807\\bin\\HostX64\\x64\\link.exe' failed with exit code 1181

这个问题搜了一圈,没有看到解决方案。但是重启了一次电脑好像就好了……

除此以外,还可以参考pytorch3D Windows下安装经验总结_conda pytorch3d v windows-CSDN博客中提到的问题。

祝好运!

举报

相关推荐

0 条评论