dust3r部署踩坑全记录

目前dust3r是三维重建最新最好的技术,运用了ViT编码器、Transformer、注意力机制、回归等技术,无需相机参数标定。

但是我部署过程中有很多坑,记录一下。

1.OSError: CUDA_HOME environment variable is not set. Please set it to your CUDA install root.

我最开始是完全按照readme.md里面的方式部署,用了conda,新建一个环境,环境装了Python3.11。但是安装到 

python setup.py build_ext --inplace

这一步时就会报错。我查了一下,说是Anaconda安装的cudatoolkit不完整,需要下载完整的Nvidia CUDA Toolkit。似乎要在虚拟环境再装一个cudatoolkit。但是网上找的解决方案并不能解决问题。

后来我考虑到虚拟环境装不了,试试不用Anaconda,于是在另一台电脑上,没有装Anaconda,直接装的Python3.8,然后直接装,这一步居然没报错,过去了。Python3.8后面会有报错,但是有办法解决。而我又装了Python3.12和Python3.11,还是会报这个错。还有就是Python3.8没有能装起来pytorch和pytorch-cuda,报错好像是说没有找到满足条件的库,但是不影响后面运行。

2.ImportError: cannot import name 'cache' from 'functools' (D:\Python38\lib\functo
ols.py)

这就是前面说的Python3.8的报错,查了一下Python3.8及以前的版本没有这个,用Python3.9就没问题。但是我装了Python3.12和Python3.11又有了第一个报错。Python3.8及以前的版本用的不是cache,而是叫lru_cache的,名字变了一下而已。于是我就用Python3.8,把报错的dust3r\dust3r\cloud_opt\init_im_poses.py里面的cache全部改成lru_cache(共两处),然后就可以run了。

3.TypeError: 'int' object is not subscriptable

网上查了一下,说是int型不可以被引用。因为报错的地方是assert(dust3r\dust3r\model.py),于是我直接把这句话注释掉了,就可以run了。

4.File "demo.py", line 294, in <module>
    model = AsymmetricCroCo3DStereo.from_pretrained(weights_path).to(args.device)

因为之前按readme下载了DUSt3R_ViTLarge_BaseDecoder_512_dpt.pth在新建的checkpoints文件夹里面,而demo.py读取的地方是

weights_path = "naver/" + args.model_name
args.model_name就是DUSt3R_ViTLarge_BaseDecoder_512_dpt。
故weights_path应为checkpoints/DUSt3R_ViTLarge_BaseDecoder_512_dpt.pth。
解决方案:将这一行改为
weights_path = "checkpoints/" + args.model_name + ".pth"
然后就可以run了。

展示一下效果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/18928.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Itme4 对象使用前进行初始化

fun(){ int a; printf("%d\n", a); cout << a << endl; //会报错 使用了未初始化的变量a } //若a是全局变量则不会报错 会默认初始化为0 在对象中优先使用初始化列表&#xff1a; ABEntry::ABEntry(const std::string& name, const std::string&…

数字工厂管理系统可以和哪些软件集成

随着工业4.0时代的到来&#xff0c;数字工厂管理系统已成为制造业转型升级的核心驱动力。数字工厂管理系统通过集成各种软件和技术&#xff0c;实现了生产过程的数字化、网络化和智能化&#xff0c;大大提高了生产效率和管理水平。本文将探讨数字工厂管理系统可以与哪些软件集成…

Axure RP软件汉化操作步骤

随着互联网产业的发展&#xff0c;设计师已经成为一个越来越受欢迎的职业&#xff0c;设计软件已经成为设计师必不可少的工具。说到设计软件&#xff0c;不得不说的是 Axure rp &#xff0c;越来越多的设计师使用它来设计产品原型&#xff0c;作为美国 Axure Software Solution…

OrangePi Kunpeng Pro体验——安装Hass与驱动SPI小屏幕

OrangePi Kunpeng Pro 是一款面向开发者和爱好者的高性能开发板。在本次测评中&#xff0c;主要将以前的一些代码在该开发板上实现&#xff0c;包括docker部署hass&#xff0c;引脚驱动SPI小屏幕。中间遇到了一些小小问题&#xff0c;但都成功了&#xff0c;一起来试试吧~ 一、…

IDM有哪些优势?

IDM&#xff08;Internet Download Manager&#xff09;作为一款功能强大的文件下载工具&#xff0c;其优势主要体现在以下几个方面&#xff1a; 高速下载&#xff1a; IDM采用动态分段算法&#xff0c;将文件分成多个段同时下载&#xff0c;从而显著加快了下载速度。支持从多个…

删除中间节点

题目链接 删除中间节点 题目描述 注意点 node既不是链表头节点&#xff0c;也不是链表尾节点 解答思路 将当前节点的值替换为下一个节点的值&#xff0c;并将当前节点的next指针设置为下一个节点的next指针&#xff0c;可以理解为删除了当前节点 代码 /*** Definition f…

考研计组chap1计算机系统概述

目录 一、计算机发展历程(不考了) 二、计算机硬件的基本组成 3 1.五个部分 &#xff08;1&#xff09;输入设备 &#xff08;2&#xff09;控制器 &#xff08;3&#xff09;运算器 &#xff08;4&#xff09;&#xff08;主&#xff09;存储器 &#xff08;5&#xff0…

c语言基于mmap实现的内存池

文章目录 0. 概要1. mmap基础2. 为什么使用内存池&#xff1f;3. 使用示例4. 设计考虑5. 实现步骤 0. 概要 c语言基于mmap实现的内存池模块 仓库地址&#xff1a; https://gitee.com/liudegui/mem_allocator_c 1. mmap基础 mmap系统调用在进程的虚拟地址空间和某个文件对象或…

doxygen 1.11.0 使用详解(十四)——输出格式

目录 HTMLLATEXMan pagesRTFXMLDocBookCompiled HTML Help (a.k.a. Windows 98 help)Qt Compressed Help (.qch)Eclipse HelpXCode DocSetsPostScriptPDF The following output formats are directly supported by doxygen: HTML Generated if GENERATE_HTML is set to YES i…

时政|共享员工

概念 有人称“共享员工”就是变相的“劳务派遣”“外包”“临时工”&#xff0c;是对劳动者的变相压榨。专家表示&#xff0c;应从根源上理清“共享员工”的概念&#xff0c;否则会破坏正常的劳动合同秩序&#xff0c;无法让劳动者的合法权益得到有效保障。“共享员工”是指企…

被忽视的模块化领域:聚合、结算与执行层

原文标题&#xff1a;《Aggregation, settlement, execution》撰文&#xff1a;Bridget Harris 编译&#xff1a;Chris&#xff0c;Techub News 在关注度和创新方面&#xff0c;模块化堆栈的各个部分并不一样&#xff0c;虽然之前有许多项目在数据可用性&#xff08;DA&#xf…

[AI OpenAI] OpenAI董事会成立安全与保障委员会

这个新委员会负责就所有OpenAI项目的关键安全和保障决策提出建议&#xff1b;在90天内提出建议。 今天&#xff0c;OpenAI董事会成立了一个由主席Bret Taylor、Adam D’Angelo、Nicole Seligman和Sam Altman&#xff08;CEO&#xff09;领导的安全与保障委员会。该委员会将负责…

MySQL alter 语句

ALTER TABLE user ADD COLUMN cdkey varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT CD-Key, ADD COLUMN erp_userid varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT ERP用户ID, ADD UNIQUE INDEX un…

虹科Pico汽车示波器 | 免拆诊断案例 | 2017款吉利帝豪GL车发动机偶尔无法起动

故障现象  一辆2017款吉利帝豪GL车&#xff0c;搭载JLC-4G18发动机和手动变速器&#xff0c;累计行驶里程约为39.3万km。车主反映&#xff0c;该车发动机偶尔无法起动。故障发生频率比较频繁&#xff0c;冷机状态下故障比较容易出现。 故障诊断  接车后试车&#xff0c;故…

【Windows】本地磁盘挂载 Minio 桶

目录 1.软件安装安装winfsp支持安装rclone 2.新建rclone远程存储类型S3服务类型验证方式地区终端地址ACL服务端加密KMS 3.挂载存储盘 1.软件安装 安装winfsp支持 下载地址 或 下载地址2 文件为msi文件&#xff0c;下载后双击直接安装即可&#xff0c;可以选择安装路径 安装r…

Java多线程——线程强制执行

Join合并线程&#xff0c;待此线程执行完成后&#xff0c;再执行其他线程&#xff0c;其他线程阻塞。 可以想象成插队。 代码演示&#xff1a; //测试Join方法 //想象为插队 public class TestJoin implements Runnable{Overridepublic void run() {for (int i 0; i < 1…

手机号码携号转网查询保障用户权益、信息透明、优化用户体验

携号转网服务是指在同一本地网范围内&#xff0c;蜂窝移动通信用户&#xff08;不含物联网用户&#xff09;变更签约的基础电信业务经营者而用户号码保持不变的一项服务。近年来&#xff0c;随着通信行业的不断发展&#xff0c;携号转网服务已成为满足用户个性化需求、提升服务…

Strust2 远程代码执行漏洞[s2-005]

漏洞复现环境搭建请参考 http://t.csdnimg.cn/rZ34p kali切换jdk版本请参考 Kali安装JAVA8和切换JDK版本的详细过程_kali安装jdk8-CSDN博客 漏洞原理 Strust2会将http的每个参数名解析成为OGNL语句执行&#xff0c;OGNL表达式通过#来访问Struts的对象&#xff0c;并且通过过…

JS裁剪图片底部的水印

效果 源码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Image Popup</title><style>…

python dict字典

mapping 对象会将 hashable 值映射到任意对象。 映射属于可变对象。 目前仅有一种标准映射类型 字典。 &#xff08;关于其他容器对象请参看 list, set 与 tuple 等内置类&#xff0c;以及 collections 模块。&#xff09; 字典的键 几乎 可以为任何值。 不是 hashable 的值&am…