【Ubuntu20.04】Clion 配置 Libtorch + OpenCV

首先根据自己的CUDA版本安装正确对应的cudacudnn并进行配置。
在这里插入图片描述
这里安装的是cuda-11.3版本,以下基于这个版本进行安装。

1. 安装 Clion

因为Clion更容易直接编写CMakelists.txt,所以使用Clion作为IDE。
需要在File -> Setting -> CMakeCMake options中添加

-DCMAKE_CUDA_ARCHITECTURES=86 -DCMAKE_CUDA_COMPILER=”/usr/local/cuda/bin/nvcc”

不然在编译时会出现“CMAKE_CUDA_ARCHITECTURIES must be non-empty if set.”的错误。

2. 下载 Libtorch

注意libtorch的版本一定要和pytorch的版本完全相同。可根据Libtorch各版本下载进行下载,这里下载的是对应的1.11.0版本

https://download.pytorch.org/libtorch/cu113/libtorch-shared-with-deps-1.11.0%2Bcu113.zip

3. 下载 OpenCV

注意opencv的版本不能高于4.0.0,不然在编译的时候会因为-D_GLIBCXX_USE_CX11_ABI=0问题与libtorch产生冲突。所以不要使用sudo apt-get install -y libopencv-dev直接安装,会下载最新版本。这里安装3.4.20版本

首先进行依赖包的下载

sudo apt update
sudo apt install build-essential cmake git pkg-config libgtk-3-dev \
                 libavcodec-dev libavformat-dev libswscale-dev libv4l-dev \
                 libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev \
                 gfortran openexr libatlas-base-dev python3-dev python3-numpy \
                 libtbb2 libtbb-dev libdc1394-22-dev

如果在下载时遇到没有依赖包的问题,可以使用

sudo apt-get install aptitude
sudo aptitude install XXX
会有如下提示
Accept this solution? [Y/n/q/?] n
The following actions will resolve these dependencies:
Downgrade the following packages:
Accept this solution? [Y/n/q/?] y
The following packages will be DOWNGRADED:
Accept this solution? [Y/n/q/?] y

从官方库中下载对应版本的opencv

git clone https://github.com/opencv/opencv.git
cd opencv
git checkout 3.4

git clone https://github.com/opencv/opencv_contrib.git
cd opencv_contrib
git checkout 3.4

进行build

cd ~/opencv
mkdir build
cd buildcmake -D CMAKE_BUILD_TYPE=RELEASE \
      -D CMAKE_INSTALL_PREFIX=/usr/local \
      -D INSTALL_C_EXAMPLES=ON \
      -D INSTALL_PYTHON_EXAMPLES=ON \
      -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
      -D BUILD_EXAMPLES=ON ..

最后进行安装

make -j$(nproc)
sudo make install
sudo ldconfig

4. 编写 CMakelists.txt

Clion的工程下的CMakelists.txt中进行如下编写

cmake_minimum_required(VERSION 3.27)
project(test2)
set(CMAKE_CXX_STANDARD 14)
set(Torch_DIR /home/t2/libtorch/share/cmake/Torch)
find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
link_directories(${OpenCV_LIBRARIES})
find_package(Torch REQUIRED)
set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} ${TORCH_CXX_FLAGS})

add_executable(test2 main.cpp)
target_link_libraries(test2 ${TORCH_LIBRARIES})
target_link_libraries(test2 ${OpenCV_LIBS})
set_property(TARGET test2 PROPERTY CXX_STANDARD 14)

最后点击File -> Reload CMake Project重新build就完成了。

5. 测试

以下是测试代码main.cpp

#include <iostream>
#include <torch/torch.h>
#include <opencv2/core.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/opencv.hpp>
using namespace cv;

int main(){
	torch::Tensor tensor = torch::rand({2, 3});
	std::cout << tensor << std::endl;

	Mat image = cv::imread("/t2/clion-2023.3.4/bin/clion.png", 1);
	cv::imshow("image", image);
	cv::waitKey(0);
	
	return 0;
}

测试效果如下
在这里插入图片描述

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Ubuntu 20.04上安装Notepad需要使用Snap程序包管理器。根据引用和的信息,您可以通过在终端中输入以下命令来安装Notepad: sudo snap install notepad-plus-plus 这将下载并安装Notepad及其所有依赖项。请注意,您需要具有管理员权限才能运行此命令。安装完成后,您可以在应用程序菜单中找到Notepad并开始使用它。 请记住,Notepad是Windows和Mac OS系统上的一个简单但功能强大的代码编辑器,而Ubuntu上的Notepad-plus-plus是为类Unix操作系统提供的兼容版本。如果您对Notepad-plus-plus在Linux上的功能有任何疑问,您可以参考引用中提到的另一个名为Notepadqq的替代编辑器。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Ubuntu 安装 notepad++ 以及 解决中文字体乱码显示 以及 字体倒了的问题](https://blog.csdn.net/jisuanji198509/article/details/118706780)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* [如何在Ubuntu 20.04安装NotePad++](https://blog.csdn.net/hhhhhhhhhhwwwwwwwwww/article/details/117193524)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值