最近看到这个可用于三维重建的网络很火,就像跑来试试,跑的过程中不像各位大佬那么流畅,但是也暴露了新手常遇的问题。
记录过程中的一些解决了的问题和还没有解决的问题
软硬件配置
- 系统:win11
- 显卡:NVIDIA GeForce RTX 3050
- 环境的配置已上传了requirements.txt
配置中需要注意的问题
1.torch环境
最开始,我直接用了官方的requirements.txt,但是面对后面出现的问题,我怀疑torch安装的和我的环境不配对,所以把下面这三个包做了替换,torch官网查了下面这个代码。
pip install torch==2.3.0 torchvision==0.18.0 torchaudio==2.3.0 --index-url https://download.pytorch.org/whl/cu121
出现了这个问题,不知道怎么解决,我就下载到本地安装了
2.路径设置
2.1 Demo.py
直接跑出现如下问题
发现是开了科学上网,关闭即可。
没发现这个原因的时候,把下载的文件放在checkpoints下,在代码最前面做一个路径赋值,也可以运行。
args.weights='chechpoints/DUSt3R_ViTLarge_BaseDecoder_512_dpt.pth'
跑完后会出一个网址,复制到网页即可使用。
2.2 工程主页的Usage
把工程主页的代码新建一个Temp.py放了进去,直接运行出现这个问题,看了看是判断assert,就直接隐掉了。
但是换了torch版本后再试了一下,这个问题似乎是不出现了。
# assert img_size[0] % patch_size == 0 and img_size[1] % patch_size == 0, \
# f'{img_size=} must be multiple of {patch_size=}'
然后在修改模型路径,运行即可。
model_name = "chechpoints/DUSt3R_ViTLarge_BaseDecoder_512_dpt.pth"
仍未解决的问题(已解决)
前面的各种修改后,这个warning还是在的,有没有好心的大佬知道这是什么原因呀。
解决cannot find cuda-compiled version of RoPE2D
这个问题是由于该论文基于 croco网络的基本框架,因此DUST3R依赖于RoPE2D,虽然不编译也是可以的,但是根据警告提示可以看出,这会影响速度,因此我们需要为此编译一些cuda内核以获得更快的运行时间。
1.编译RoPE2D
cd croco/models/curope/
python setup.py build_ext --inplace
2.下载生成工具
在运行这个命令的时候可能会出现这样的错误“Microsoft Visual C++ 14.0 or greater is required.”,这就需要配置visualstudio
- 进入 Microsoft C++ 生成工具 - Visual Studio
- 下载生成工具
- 按照默认提示进行即可(没有截图,也可查询其他博客自行安装
3.使VS和CUD适配
这个安装好了之后,由于现在的VS版本太高,CUDA跟不上,会出现这个问题
fatal error C1189: #error: – unsupported Microsoft Visual Studio version! Only the versions between 2013 and 2017 (inclusive) are supported!
这个时候可以更改这个文件,记得打开这个文件的可改权限哦
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\include\crt\host_config.h
大概在151行,改成这样
就可正常配置RoPE2D环境了