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

相关推荐
CS_Zero4 天前
无人机避障——MID360+FasterLIO+EGO-planner实测问题解决
slam·无人机避障·lio
冰水不凉6 天前
robot_localization实现imu和odom融合
前端·slam
大势智慧7 天前
智影R200手持slam使用教程二:开始与结束采集
教程·数据采集·slam·开机·三维扫描·三维激光扫描仪
胡摩西8 天前
室内定位技术方法汇总:从WiFi到超声波,机器人如何在室内“找准自己”?
人工智能·机器人·slam·室内定位·roomaps
加油JIAX8 天前
为什么边缘化先验的Hessian矩阵可分解得到Jacobian矩阵?
slam·滑动窗口·边缘化
冰水不凉9 天前
amcl_pose vs tf的位姿输出频率
slam
巷尚UP3D-三维扫描检测逆向建模10 天前
Artec Jet:高精度测绘级SLAM激光扫描仪,自主高效【巷尚UP3D】
slam·高精度三维扫描·巷尚up3d
加油JIAX12 天前
LIO-SAM Scan-to-Map退化检测
slam·lio-sam·退化检测
加油JIAX12 天前
LIO-SAM系统架构
slam·imu·lio-sam
加油JIAX13 天前
滑动窗口模型与边缘化
slam·边缘化·滑动窗口优化