Ubuntu 安装Yolo-FastestV2 的一般流程(4),配置好Ubuntu的环境.

在这个地方,我浪费的时间最多,也学到了不少的东西,现在我将其总结出来.

首先,我明确一个东西,就是在Ubuntu使用在Yolo-FastestV2训练出来的模型,我采用了ncnn框架.

接下来就是安装ncnn需要的依赖.

第一,最终要的一点,在vm安装的Ubuntu版本自己一定要明确,这边建议使用Ubuntu还在更新维护的版本,这样下载依赖包的时候更加的方便和快捷,因为在Ubuntu不维护的版本,对应的源网站的位置是修改过的,而且修改后的的源网站位置比较难找.

如果你不知道自己的版本是否还在更新,输入以下命令.

lsb_release -a

你会发现他出现以下的内容:

所以,我们Ubuntu的版本为21.10,Codename为impish.我这个版本支持到2022年的7月.

如果你出现下面几个问题,就代表你可以使用升级版本来解决问题.

1.安装任何包都报依赖错误.

这个错误可以使用将apt-gco换成aptitude安装来解决,但是当你发现你在安装aptitude的时候也报依赖错的时候,你就会无语了,这时候,你在网上搜答案的时候,不少网站推荐你换源.

输入以下内容:

sudo gedit /etc/apt/sources.list

 你会发现以下内容:

 这里我已经进行过换源操作了,这里需要一个重点 ,链接中的ubuntu/groovy中的groovy是我们版本的Codename,这个一定要对应一致,否则会报一些莫名奇妙的错误.

 

仔细看,我这边使用正确的Codename和源,使用命令sudo atp-get update时还是会报错,它一直保持在1%[waiting for headers]的字眼,这代表你ubuntu的版本已经官方已经不支持了,得使用别的方法.

方法一是换源,换成官网中专门支持旧版的源,这个源包括了所有旧版本的内容,使用起来非常不方便,所以我使用了方法二.

方法二是换版本.这就是我使用21.10的原因.

接下来,我默认使用Ubuntu21.10版本.

安装ncnn前需要安装其依赖.

第一,编译安装openssl,这个东西一般Ubuntu自带,你可以使用 openssl version -a命令来看一下有没有安装openssl,

 这个是我默认安装好的openssl.

第二,安装cmake,使用命令安装sudo apt install cmake,不出意外的话,应该一个命令就搞定了.完成后,输入cmake --version可以发现你安装cmake的版本.

 第三,安装protobuf,输入命令sudo apt-get install libprotobuf-dev protobuf-compiler,当然,你也可以使用安装包来下载.地址如下:地址,认准 protobuf-cpp-3.13.0.tar.gz 字样,将安装包放好位置后,输入下面命令也可以,这样安装的版本高一点.

tar -zxvf protobuf-cpp-3.13.0.tar.gz
cd protobuf-3.13.0/
./configure
make && sudo make install

第四,安装opencv for c++,opencv安装也要安装其依赖,根据官方文档,依赖如下:

sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

安装好opencv依赖后,输入下面命令:

git clone https://github.com/opencv/opencv.git
# git 命令也可以换成自己从网上下载安装包,然后解压,后面的命令不变.
cd opencv/
mkdir build && cd build
cmake ../
make -j2 && sudo make install

这个编译要好久,电脑配置好的可以稍微改一下make -j2 后面的2,这个2表示线程数(大概).

运行sudo make install 后,你可以看到一些路径,这些路径是使用opencv时调用的路径,在我们调用的时候,需要一个opencv.pc文件来编写系统变量,但是我们使用安装包安装是没有的,所以我们自己要写一个放进去.


cd /usr/local/lib/pkgconfig
sudo gedit opencv.pc

输入下面内容:
prefix=/usr/local
exec_prefix=${prefix}
includedir=${prefix}/include
libdir=${exec_prefix}/lib

Name: opencv
Description: The opencv library
Version:4.0.1
Cflags: -I${includedir}/opencv4
Libs: -L${libdir} -lopencv_shape -lopencv_stitching -lopencv_objdetect -lopencv_superres -lopencv_videostab -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_ml -lopencv_imgproc -lopencv_flann  -lopencv_core
~                                               

一般这样就好了,在不行就使用sudo apt install libopencv-dev 命令试一试.

最后输入pkg-config --modversion opencvm命令看一下版本.

 安装好opencv后,ncnn的依赖算是安装好了,下面就是安装ncnn了,这个我们下篇再说.

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值