YOLOV7语义分割(日后自用笔记)

系统win10。本文只是根据readme文件走流程,记录一些常用公式。

RizwanMunawar/yolov7-segmentation at 87b016cda50371d6e2824378d641c2d4417ea1c3 (github.com)

目录

一、项目文件的下载与直接运用

1.将工程文件git到本地

2.创建并配置虚拟环境,记录常用公式

3.下载权重文件进行训练后结果测试

 二、用自己的数据集进行训练

1.数据集的预处理

 2.文件个性化修改

3.开始训练

4.训练完成


一、项目文件的下载与直接运用

1.将工程文件git到本地

error1:直接使用Anaconda Prompt报错

fatal: unable to access 'https://github.com/RizwanMunawar/yolov7-segmentation.git/': OpenSSL SSL_read: Connection was reset, errno 10054

通过解除ssl安全验证,如下所示:
git config --global http.sslVerify “false”

error2:提示连接服务器失败,如unable to access ‘https://gitee...‘: Failed to connect to 127.0.0.1 port 31181 after 2029 ms。解决方法:http://t.csdn.cn/XOGJaicon-default.png?t=N3I4http://t.csdn.cn/XOGJa

随后再在Prompt或者git bash中输入下列代码即可git到本地目标文件夹

git clone https://github.com/RizwanMunawar/yolov7-segmentation.git

2.创建并配置虚拟环境,记录常用公式

#查看当前的虚拟环境
conda env list
#创建虚拟环境
conda create -n yolov7seg python=3.8
#激活环境
conda activate yolov7seg
#配置环境
pip install -r requirements.txt

3.下载权重文件进行训练后结果测试

https://github.com/RizwanMunawar/yolov7-segmentation/releases/download/yolov7-segmentation/yolov7-seg.pt

下载yolov7-seg.pt权重文件,放到主文件夹下。

输入以下代码对目标进行预测

#视频
python segment/predict.py --weights yolov7-seg.pt --source "football1.mp4"
#图片
python segment/predict.py --weights yolov7-seg.pt --source 1.jpg
文件夹
python segment/predict.py --weights yolov7-seg.pt --source test

图片效果如下,位置在runs文件夹下

 二、用自己的数据集进行训练

1.数据集的预处理

使用labelme提前标记好数据集,格式如下,每一个image有一个json格式的标注文件。

 作者推荐使用roboflow进行数据标记

Roboflow: Give your software the power to see objects in images and video

在已有数据集的情况下,进行格式转换,根据流程走,全程默认选项,最后输出格式为:

 输出的数据集文件夹如下:

 2.文件个性化修改

根据readme文件指示要求,将train和test文件夹放到工程文件的的data子文件夹下方

 在data文件夹下创建一个custom.yaml文件,valid文件夹可一并放入data中,并将代码内容编辑如下,用pwd命令确定文件夹的位置进行修改:

#标准train和val文件夹位置,..中的内容用pwd确定
train: ../yolov7-segmentation/data/train/images
val: ../yolov7-segmentation/data/valid/images
#nc为number of classes,即标记的种类的个数
nc: 2
#按以下格式将label的内容填入
names: ['car','person']

3.开始训练

按作者要求将上面用到的权重文件下载到主文件夹下,并输入以下代码进行训练:

#根据个人需求进行参数修改,如batch和epoch等
python segment/train.py --data data/custom.yaml --batch 4 --weights "yolov7-seg.pt" --cfg yolov7-seg.yaml --epochs 10 --name yolov7-seg  --img 640 --hyp hyp.scratch-high.yaml

如果显示如下,即启用了cuda,用的是显卡进行训练,如果最后一行显示CPU,则未成功启用显卡。

如果未成功启用显卡,问题存在于pytorch可能下载为cpu的版本,因为环境配置是根据requirements.txt文件直接安装的,可能会存在差错。

这里将torch和torchvision进行卸载,去pytorch官网进行安装,如我的电脑cuda版本是11.6,去官网下载了适用于11.7的2.0.0的torch版本,即可成功启用cuda。

 以下会报错,说是np.int不存在(该问题每次重启后都会出现,幸而不麻烦,也未作处理)

AttributeError: module 'numpy' has no attribute 'int'.`np.int` was a deprecated alias for the builtin `int`. To avoid this error in existing code, use `int` by itself. Doing this will not modify any behavior and is safe. When replacing `np.int`, you may wish to use e.g. `np.int64` or `np.int32` to specify the precision. If you wish to review your current use, check the release note link for additional information.The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at:https://numpy.org/devdocs/release/1.20.0notes.html#deprecations

经尝试发现,只有numpy1.20.3符合要求,因此使用pip进行安装

pip install numpy==1.20.3

安装完指定版本的numpy以后,重新输入代码进行训练。显示如下,可以看到显存调用起来了,如果未成功启用显卡,那么GPU_mem将显示0G

4.训练完成

Results saved to runs\train-seg\yolov7-seg2

根据命令行提示,可以去相应文件夹下看到一些训练信息,很多直观的图片。在weight文件中存在的是训练后的权重文件。其中best.pt即为所得。

 输入如下代码进行预测,可根据个人需求进行修改。

python segment/predict.py --weights "runs/train-seg/yolov7-seg2/weights/best.pt" --source test

  • 5
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
要进行yolov7分割训练,你可以按照以下步骤进行操作: 1. 首先,你需要下载yolov7分割的权重文件。你可以在\[1\]中找到yolov7-seg.pt的下载链接。 2. 接下来,你需要了解yolov7不仅仅是一个目标检测框架,还集成了姿态检测和实例分割功能。你可以在\[2\]中了解更多关于yolov7的信息。 3. 然后,你需要准备自己的数据集进行实例分割的训练。请确保你已经将权重文件下载到主文件夹下,并按照作者的要求进行参数修改。你可以使用以下代码进行训练: ``` python segment/train.py --data data/custom.yaml --batch 4 --weights "yolov7-seg.pt" --cfg yolov7-seg.yaml --epochs 10 --name yolov7-seg --img 640 --hyp hyp.scratch-high.yaml ``` 在这段代码中,你可以根据自己的需求修改参数,比如批量大小(batch)、训练轮数(epochs)等。请确保你已经准备好了自己的数据集,并将数据集的配置文件(custom.yaml)和模型配置文件(yolov7-seg.yaml)放在相应的位置。 希望这些信息对你有帮助!如果你还有其他问题,请随时提问。 #### 引用[.reference_title] - *1* *3* [YOLOV7语义分割日后自用笔记)](https://blog.csdn.net/weixin_42077193/article/details/129993111)[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^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [[课程][原创]yolov7训练自己数据集实例分割模型](https://blog.csdn.net/FL1623863129/article/details/127666688)[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^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值