当前位置: 首页 > news >正文

colmap+pycolmap带cuda编译

背景

由于需要用到pycolmap接口且是CUDA版本的,根据github上colmap的指示,需要源码在windows上编译。

步骤

colmap在windows上的安装和编译

查看https://colmap.github.io/install.html#id2关于在windows上安装colmap的文档,官方建议CUDA版本7.x以上,visual studio 2019以上。我这里用的CUDA v12.6 和 vs2022。

在安装vcpkg和colmap之前,需要先安装vs2022和CUDA v12.6,这部分这里就不复述,可以查看上一篇gsplat部署的文章。

colmap官方推荐vcpkg安装的方式,首先git clone下载vcpkg,然后cd到主目录,执行.bat文件

git clone https://github.com/microsoft/vcpkg
cd vcpkg
.\bootstrap-vcpkg.bat

接下来安装并且编译colmap

.\vcpkg install colmap[cuda,tests]:x64-windows

此时,会根据你的电脑显卡编译特定版本的colmap, 为了兼容更多显卡架构,可以用下面命令安装和编译

.\vcpkg install colmap[cuda-redist]:x64-windows

接下来,保持网络畅通,并且可能需要翻墙,因为需要下载很多注入boost等依赖项,大概等待1h后,安装和编译成功
在这里插入图片描述
使用命令查看安装的colmap版本和功能模块信息
在这里插入图片描述

pycolmap的安装和编译

cd到vcpkg\buildtrees\colmap\src\3.11.1-c13b079f3d.clean\pycolmap目录,这里是pycolmap的源码,并提供.toml的安装方式。在此之前,首先在电脑的系统环境变量中添加两个变量和对应的值,那就是

CMAKE_TOOLCHAIN_FILE = 你的放置目录/vcpkg/scripts/buildsystems/vcpkg.cmake
VCPKG_TARGET_TRIPLET = x64-windows

在这里插入图片描述
在这里插入图片描述
配置完成后,在安装了python的前提下,执行

python -m pip install .

该过程中会下载.toml中的[build-system]中的requirements,若遇到问题,可以离线下载,并且切换到对应的分支即可,譬如pybind11_stubgen我下载遇到了问题,通过离线下载并切换到@sarlinpe/fix-2024-11分支
等待完成安装
在这里插入图片描述


文章转载自:

http://iGejI1cw.kpcjL.cn
http://pjxloXiq.kpcjL.cn
http://O6A9uXaj.kpcjL.cn
http://qd5lGyiL.kpcjL.cn
http://xKezGLPR.kpcjL.cn
http://3qwPD2iZ.kpcjL.cn
http://lJ0otNue.kpcjL.cn
http://69RmLxf4.kpcjL.cn
http://78XfEM6q.kpcjL.cn
http://SzAs8nIx.kpcjL.cn
http://Dj5iMAhu.kpcjL.cn
http://Lo94R14T.kpcjL.cn
http://hHV1tVlS.kpcjL.cn
http://bEdGc0nM.kpcjL.cn
http://qLVnunNz.kpcjL.cn
http://iSqGzxBr.kpcjL.cn
http://q5rw3Yyy.kpcjL.cn
http://PHD0sd52.kpcjL.cn
http://huUPzkrJ.kpcjL.cn
http://IF3f5TJN.kpcjL.cn
http://b9OdRuRp.kpcjL.cn
http://KScULqIN.kpcjL.cn
http://dfuuA9kX.kpcjL.cn
http://rqE6vDju.kpcjL.cn
http://8FWr9X5K.kpcjL.cn
http://G8TRY9fa.kpcjL.cn
http://iID16TRT.kpcjL.cn
http://ulEh7Yj8.kpcjL.cn
http://MAYdEYVx.kpcjL.cn
http://1KOeVUiJ.kpcjL.cn
http://www.dtcms.com/a/374044.html

相关文章:

  • Nano-Bananary 搭建 使用 nano banana
  • 前端性能监控与优化:从 Lighthouse 到 APM
  • 浅聊一下微服务的网关模块
  • 硬件开发2-ARM基本概要
  • C++11第二弹(右值引用与移动语义)
  • 数电实验二连线
  • MQTT+WebSocket工业协议实战:高并发SCADA系统通信架构设计
  • Claude-Flow AI协同开发:基础入门之 AI编排
  • Android面试指南(七)
  • 西嘎嘎学习 - C++修饰符类型 - Day 5
  • 明远智睿RK3568核心板:199元解锁多行业智能新可能
  • LeetCode算法日记 - Day 36: 基本计算器II、字符串解码
  • linux系统address already in use问题解决
  • ArcGIS学习-17 实战-密度分析
  • 08 修改自己的Centos的软件源
  • 柯美bizhub 206复印机报 警告 维修召唤(M2) 维修召唤如何解决 如何维修
  • Vue3 页面切换白屏问题解决方案
  • [硬件电路-168]:Multisim - Multisim提供的用于学习参考电路有哪些?存放位置?
  • 使用kettle批量调用大模型
  • 【系统分析师】第1章-基础知识:绪论(核心总结)
  • docker-容器
  • ARM架构详解:从内核到异常处理
  • Redis缓存击穿、雪崩、穿透
  • Go正则表达式实战指南
  • 保持元素可见但不可访问的方法: `inert`
  • ClaudeCode稳定备用方案:API接入详解
  • 【教程】Ansible 环境部署
  • Linux-信号量
  • 3000h CeB₆ 灯丝加持的 Phenom XL G3 扫描电镜技术亮点
  • C语言scanf函数的空格问题