YOLOv7的学习心得

这个任务拖到现在终于差不多完成了,因为电脑是Mac而且租服务器太贵了,加上自己本身有个不带显卡的服务器,所以就买了个显卡,换了主板和CPU。中间的坎坷历程就不说了,总之搞了快4天,十分痛苦。重新配置了环境,配置了pycharm的ssh远程连接,这里我会在下面写一下我是怎么搞的,如果你的电脑没有显卡或者性能不佳可以参考一下这种做法。

1、SSH远程连接的配置

环境要求

需要用到Linux环境(ubuntu或者其他Linux发行版都行),我这里以ubuntu为例;支持远程调试的IDE(我用的是pycharm),和公网环境(移动只有ipv6,电信和联通可申请ipv4公网,具体网上有教程就不展开了)

SFTP协议的开启

  • openssl的安装
  • sudo apt-get install openssh-server
    
  • 添加SFTP用户,创建 SFTP 用户组
sudo adduser alice
sudo addgroup sftp-users
# 将alice从所有其他用户组中移除并加入到sftp-users组,并且关闭其Shell访问
#/bin/false也可以替换为/sbin/nologin,目的是不允许该用户登录到系统中
sudo usermod -G sftp-users -s /bin/false alice
  • 创建sftp服务器的管理员身份,并且加入ssh用户组(不限制他的shell操作权限)
sudo adduser admin
sudo addgroup ssh-users
# -a 表示以追加形式将 admin 加入 ssh-users 
sudo usermod -a -G ssh-users admin
  • 执行如下命令,编辑SSH配置文件
sudo nano /etc/ssh/sshd_config
  • 在sshd_config文件的中,添加如下内容
   AllowGroups ssh-users sftp-users
   Match Group sftp-users
   ChrootDirectory /home/sftp_root
   AllowTcpForwarding no
   X11Forwarding no
   ForceCommand internal-sftp

随后重启系统使配置生效

至此SFTP服务器配置完成

进入pycharm测试连接 

在pycharm的欢迎界面找到ssh连接

YOLOv7的学习心得_第1张图片

 随后填写好服务器的配置

YOLOv7的学习心得_第2张图片

 随后本地IDE会自动检索服务器端的IDE是否安装,若未安装则会在下一步自动安装

YOLOv7的学习心得_第3张图片

这里需要填写项目目录,你可以通过sftp客户端将项目上传到服务器也可以远程控制,在服务器端下载,也可以在这里打开ssh终端直接git项目下来

YOLOv7的学习心得_第4张图片

项目准备好后就可以进入项目界面了

如果你有一点网络基础我是十分推荐这种做法的,训练在服务器上跑,本地电脑不用担心发热和功耗问题,经测试延迟很小(显示在右下角),基本无感,代码同步非常快。

2、YOLOv7训练自己的数据集

数据集的准备

这里我用的是labelimg标注软件,具体使用教程可以搜索一下

在项目文件夹内新建一个文件夹,自行命名,例如我训练的是头部数据集,命名为head_datas

YOLOv7的学习心得_第5张图片

在这个文件夹下添加images和labels两个文件夹,随后再分别添加train和val文件夹

YOLOv7的学习心得_第6张图片

train代表你要训练的图片,val代表验证集(可以从训练的图片中抽取一部分放进去),labels即是将labelimg标注后产生的txt文件放进去,train和val的txt要对应放入。

随后在项目文件夹内添加一个扩展名为yaml的文件

YOLOv7的学习心得_第7张图片

 YOLOv7的学习心得_第8张图片

train: head_datas/images/train # train images
val: head_datas/images/val # val images
test: data/images/test # test images (optional)

nc: 1
names: ['head']

路径对应填入train和val,填写相对路径

nc代表标注的类别数目,names代表标注的类别名称

修改参数

YOLOv7的学习心得_第9张图片

 1处改为你训练时想使用的权重模型,2处改为上面你自己创建的.yaml文件,同样是相对路径,3处是你希望使用显存的大小,我这里是12G的显卡,保险起见填了8

开始训练

运行train.py即可开始训练

YOLOv7的学习心得_第10张图片

训练好的模型会放在下图所示的文件夹中

YOLOv7的学习心得_第11张图片

测试自己的权重

修改detect.py

YOLOv7的学习心得_第12张图片

权重路径为绝对路径

修改完后运行detect.py

即可在终端中显示的路径找到

YOLOv7的学习心得_第13张图片

验收成果

你可能感兴趣的:(深度学习,计算机视觉,服务器,人工智能)