Ubuntu系统下的深度学习目标检测实现

在linux系统下,从头开始配置一套深度学习目标检测模型,里面有很多自己踩的坑,记录一下,方便自己也方便他人。

要注意:: ubuntu版本是18.04 Anconda 2021.11——python 3.9版本,pycharm2021.3版本

1、下载ubuntu18.04镜像文件,下载vmware虚拟机软件。

这两个内容就直接下载即可完成,然后打开vmware软件,选择新建虚拟机,选择典型选项,然后将你下载的iso镜像文件导入,之后没有什么大问题,一路绿灯下去就行。此处要记得自己设置的虚拟机账户名和密码!!

2、对虚拟机目录进行汉化

一部分人虚拟机打开后不能正常联网,那么你就需要先关闭虚拟机,在你当前的虚拟机主页上点击编辑虚拟机配置,将网络配置改为NAT模式,或者是自定义模型,将自定义模式中选项设置为VMnet8,其实也就还是NAT模式。
下面来说如何汉化??点击设置,进入后选择区域与语言选项,你会看到下面这个画面:在这里插入图片描述点击这个选项,你就可以进入到能下载语言的界面,下载简体中文,然后将中文选项调到最高优先级,重启系统即可。

3、下载PyCharm编辑器

下载pycharm直接在官网下载即可完成。我这下载的是免费社区版。

4、下载Anaconda环境配置

进入Anaconda官网,选择好与python版本相匹配的Anaconda版本,最好选择新一点的anaconda,比如说支持python3.8或者3.9以上的anaconda。
下载完成后,到你设定的下载文件目录下打开终端,输入命令

sh ./Anaconda3-2021.11-Linux-x86_64.sh   运行即可

安装完成后切记要重启终端!!!!
重启完成后,输入python 如果显示出下图,就说明成功了!
在这里插入图片描述自己尝试创建环境

conda create -n object-detection python=3.8

激活环境

conda activate object-detection

5、准备数据集,直接下载或者自己制作都可以

直接下载数据集就不介绍了,下面说一下如何自己制作数据集。
在制作数据集的时候,我们要满足目标检测,就至少需要三个文件,一个是原图像文件夹image,一个是图像类别信息文件classes.txt,还有一个就是带有目标位置和目标信息的xml文件夹。
1)收集数据集,放入image中
2)将类别写入到txt文件中
3)使用labelImg工具来对每一张图片做标注,自动对每张图像生成xml文件。labelImg工具是github上开源的标注工具,你需要用pip下载pip install labelImg 。然后在上述三个文件所在目录打开终端,输入labelImg ./image ./classes.txt 正常情况下会出现下图:在这里插入图片描述如果报错了,说明你少了一个包文件,利用下面这条命令安装即可

sudo apt-get install libxcb-xinerama0

我们可以看到这个界面左侧可以选择图片,选择你xml文件保存的位置,然后开始创建区域,将你要识别的区域框出来,选择对应类别,然后点击保存就行。这样就可以创建自己的数据集了。
最后你需要遍历自己的image文件夹,将训练集和测试集分开到两个文件夹下,主要,你不是把图片分到两个文件夹下,而是把图片名称分到train.txt文件和val.txt文件中。

代码使用这个数据集的流程是:先根据训练程序从train.txt文件内读取文件名,然后根据文件名到image文件夹下找图片和对应的xml文件信息,将其一起读入算作一个训练文件。

6、简单配置一下pycharm

6.1 配置git
首先你要下载git sudo apt-get install git 在终端输入上述命令,即可下载git。
6.2 新建或者从github上拉取项目到本地

7. 下载安装跟本机GPU相匹配的torch或者tensorflow框架

要安装的包:
sudo apt install --reinstall gcc
pip install torch==1.5
pip install pycocotools
直接pip安装即可,只不过要注意查一下本机配置的cuda和cudnn版本以及显卡版本。

当你成功的把代码利用git工具拉取到本地或者你自己写完一个模型时,你可能继续完整的数据集或者已经训练完的检查点文件,这时你可以利用SSH直接从windows平台传入到虚拟机内。具体步骤如下:
1)你需要在windows下载SSH工具 像winscp等
2)查看虚拟机ip,连接要用。不过ubuntu默认不开放ip查看工具,所以你必须按照才可以查看,使用pip install net-tools。
3)ubuntu系统默认不开放SSH链接接口,所以需要在ubuntu上执行下面代码。

sudo apt-get install openssh-server

sudo apt-get install ufw

sudo ufw enable

sudo ufw allow 22

此时你就可以在windows主机中把自己要用的传输到ubuntu上。
如果你还想把普通用户身份转换为root用户来下载包,那就需要su root。输入密码即可。不过在第一次切换时因为root用户没有初始密码,导致不能切换,给root付一个初始密码即可。
sudo passwd root 然后输入密码,确认密码即可。

8、将准备好的数据集和程序联系起来

在训练代码中将数据集位置指向你所制作或者下载的数据集train文件,运行程序即可运行代码。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值