alike-cpp 编译

1. 源码链接:

https://github.com/Shiaoming/ALIKE-cpp

2.已经安装好显卡驱动,cuda,cudnn,没安装的参考:

切记装cuda-11.x的版本,最好cuda11.3的版本

ubuntu重装系统后,安装cuda,cudnn-CSDN博客

3.安装opencv

下载所需要的版本,camke 安装即可

4.libtorch

官网给出了下载链接**(用这个最好)** :https://download.pytorch.org/libtorch/cu113/libtorch-cxx11-abi-shared-with-deps-1.11.0%2Bcu113.zip

但是只支持cuda11.3的版本,由于系统是ubuntu 22.04,无法安装cuda11.3的版本,我这里是安装的cuda11.8的版本,需要pytorch的支持的版本也是11.8的,找到libtorch的下载网址:https://download.pytorch.org/libtorch/cu118,其他版本可参考:清华源和torch源_torch清华源-CSDN博客

将CMakeLists.txt中的torch路径指定到刚才下载的版本上:

set(Torch_DIR "/xx/libtorch/share/cmake/Torch")

然后开始编译:

mkdir build

cd build

cmake ..

make

编译完成后运行时报错:

terminate called after throwing an instance of 'c10::CUDAError' what(): CUDA error: an illegal memory access was encountered CUDA kernel errors might be asynchronously reported at some other API call,so the stacktrace below might be incorrect.

应该是torch版本不兼容,我下载的是torch2.0.0+cu118,应该用torch1.11.0+cu118,

这里不要用cuda12以上的版本,编译很浪费时间,直接换成cuda-11.x的版本,别问我怎么知道的

5.下载pytorch源码进行编译

参考:【libtorch】pytorch源码编译生成c++ 17 libtorch记录_libtorch编译-CSDN博客

(1)先下载pytorch源码,不要从官网下载source,里面third_party中的内容还要单独下载,直接用下面的命令下载:

git clone https://github.com/pytorch/pytorch.git

(2)切换到libtorch版本对应tag

cd pytorch

git tag -l *1.11.0* // git tag查看版本,git tag -l搜索特定版本的tag

git checkout v1.11.0 // 切换到特定tag的代码

(3)更新所有显示modified的submodule

git submodule sync

git submodule update --init --recursive

(4)cmake 安装:

cd pytorch

mkdir build && cd build

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/opt/libtorch -D CMAKE_CXX_STANDARD=17 -D CMAKE_CXX_STANDARD_REQUIRED=ON -D USE_CUDA=ON -D USE_CUDNN=ON -DCMAKE_CUDA_ARCHITECTURES=86 ..

make -j4

make install

将CMakeLists.txt中的torch路径指定到刚才编译的版本上即可:

set(Torch_DIR "/opt/libtorch/share/cmake/Torch")

(5)编译时提示:

可忽略,也可参考:cmake配置libtorch报错Failed to compute shorthash for libnvrtc.so-CSDN博客,在CMakeLists.txt最开始加上find_package(PythonInterp REQUIRED)

(6)运行: ./demo 图像文件夹目录 模型 --cuda

相关推荐
杀生丸学AI12 天前
【三维重建】近期进展(完善中)
3d·aigc·slam·三维重建·nerf·视觉大模型
WHAT81617 天前
【Orb-Slam3学习】 特征匹配函数的目的与分类
c++·人工智能·算法·slam
Chris·Bosh20 天前
intel RealSense D435i自制数据集跑SLAM
linux·slam
Johaden1 个月前
视觉SLAM ch3补充——在Linux中配置VScode以及CMakeLists如何添加Eigen库
linux·c++·ide·vscode·编辑器·slam
风与铃的约定1 个月前
2.2 视觉SLAM 实践:Eigen
c++·机器人·slam·视觉slam·eigen·机器人运动学
Johaden2 个月前
在C++程序中新建并使用库
linux·运维·服务器·c++·slam
WHAT8162 个月前
【视觉SLAM】 G2O库编写步骤介绍
算法·slam·g2o
什么都不会的小澎友2 个月前
(秋招复习)自动驾驶与机器人中的SLAM技术(一)
自动驾驶·秋招·slam
遥感摆烂人2 个月前
松灵机器人scout mini小车 自主导航(3)——建图导航仿真
slam