建设共享经济网站的可行性,网店推广的作用有哪些,山西网站建设平台,微网站开发工具一、创建项目
此博客仅是运行PP-YOLOE源码#xff0c;这里以变压器渗漏数据集为例COCO数据集太大了#xff0c;跑不动#xff0c;V100训练预估计得7天左右#xff0c;即便是A100也得4天半#xff0c;变压器渗漏油数据集跑一个小时左右#xff0c;还可以接受#xff0c;…一、创建项目
此博客仅是运行PP-YOLOE源码这里以变压器渗漏数据集为例COCO数据集太大了跑不动V100训练预估计得7天左右即便是A100也得4天半变压器渗漏油数据集跑一个小时左右还可以接受那么不墨迹直接进入手把手环节。 首先进入百度搜索飞桨进入云平台选择项目–创建项目–NoteBook 然后输入项目名称添加数据集点击添加数据集按需搜索即可也可自己创建数据集。之后点击高级配置根据自己的需求选择合适的配置我这里用到了PaddlePaddle2.5.0版本的框架所以选择了BML CodelabAI Studio没有PaddlePaddle2.5.0之后项目框架选择PaddlePaddle2.5.0选择项目的标签可以根据项目选择随便选项目描述可写。。。 之后点击创建即可创建项目并自动进入项目点击启动环境即可进入项目编辑。
值得一提的是点击启动环境之后有一个选择环境的选项。百度每天会赠送算力卡8个点基础版无GPU不浪费点V10016GB一个小时2个点相当于一天有4个小时免费V10032GB一个小时3个点相当于一天不到3个小时如需更多时间或者更高级的GPU需要开会员花钱了应该是一个月19.9RMB。
二、搭建PP-YOLOE模型
为了能多跑几个小时保证科研的资源充分利用性可以先用基础版启动环境搭建模型然后切换环境用V100甚至更好的GPU跑。 上图中点击确定后点击进入 即可进入项目。
2.1 配置环境
输入如下程序克隆PaddleDetection项目因为我选的是PaddlePaddle2.5.0因此选择2.5版本项目。
%cd work/
# gitee 国内下载比较快
!git clone https://gitee.com/paddlepaddle/PaddleDetection.git -b release/2.5
# github 下载慢需要等待很长时间
# !git clone https://github.com/PaddlePaddle/PaddleDetection.git -b release/2.5此时程序被Clone到work文件夹下点进去就可以看到项目。 然后一次输入如下的程序配置所需要的环境和库(这里一步一步来不要着急一个一个运行)
#安装PaddleDetection依赖
!pip install -r /home/aistudio/work/PaddleDetection/requirements.txt#编译安装paddledet
%cd work/PaddleDetection
!python setup.py install#安装其他依赖
from PIL import Image
import matplotlib.pyplot as plt
import numpy as np
import os
import random#测试安装是否成功最后输出OK说明编译安装成功
!python ppdet/modeling/tests/test_architectures.py出现如下图片中的结果表示成功了 另外还要装一个库pycocotools后面训练会用到不然会报错。
!pip install pycocotools2.2 准备数据集
目前给出的数据集是VOC格式的然而PP-YOLOE仅支持COCO数据集因此需要将数据集进行转换转换成COCO标准格式。 依次执行如下程序即可。注意解压数据集时路径“data“后面要改
#解压数据集
!unzip -oq /home/aistudio/data/data180502/oil.zip -d /home/aistudio/data/#划分数据集
#根据挂载的数据集制作制作标签文件并进行划分
#生成train.txt和val.txt
random.seed(2020)
xml_dir /home/aistudio/data/oil/Annotations#标签文件地址
img_dir /home/aistudio/data/oil/JPEGImages#图像文件地址
path_list list()
for img in os.listdir(img_dir):img_path os.path.join(img_dir,img)xml_path os.path.join(xml_dir,img.replace(jpg, xml))path_list.append((img_path, xml_path))
random.shuffle(path_list)
ratio 0.8 #测试集和验证集划分比例0.8:0.2
train_f open(/home/aistudio/data/oil/train.txt,w) #生成训练文件
val_f open(/home/aistudio/data/oil/val.txt ,w)#生成验证文件for i ,content in enumerate(path_list):img, xml contenttext img xml \nif i len(path_list) * ratio:train_f.write(text)else:val_f.write(text)
train_f.close()
val_f.close()#生成标签文档
label [oil]#设置你想检测的类别
with open(/home/aistudio/data/oil/label_list.txt, w) as f:for text in label:f.write(text\n)最终生成的数据集文件夹目录为
使用x2coco.py将voc格式的数据集转换成coco数据集 只需要将这四个参数指定成上面生成的标签文件即可
voc_anno_dir 总的标注文件
voc_anno_list 训练数据集文件列表
voc_label_list 标签文件
voc_out_name 输出的coco文件路径
!python tools/x2coco.py \--dataset_type voc \--voc_anno_dir /home/aistudio/data/oil/Annotations \--voc_anno_list /home/aistudio/data/oil/train.txt \--voc_label_list /home/aistudio/data/oil/label_list.txt \--voc_out_name /home/aistudio/data/oil/train.json
!python tools/x2coco.py \--dataset_type voc \--voc_anno_dir /home/aistudio/data/oil/Annotations \--voc_anno_list /home/aistudio/data/oil/val.txt \--voc_label_list /home/aistudio/data/oil/label_list.txt \--voc_out_name /home/aistudio/data/oil/valid.json!mkdir oil
%cd oil
!mkdir images mkdir annotations
!mv /home/aistudio/data/oil/train.json /home/aistudio/work/PaddleDetection/oil/annotations
!mv /home/aistudio/data/oil/valid.json /home/aistudio/work/PaddleDetection/oil/annotations
!cp -r /home/aistudio/data/oil/JPEGImages/* /home/aistudio/work/PaddleDetection/oil/images/
%cd ..这个是标准的COCO数据集格式
2.3 训练模型
在这就可以切换环境了切换到V10032GB的切记切记切记不要在项目里切换也有可能是我电脑太辣鸡了切换不过来我的失败了很多次先停止环境再重新启动。
首先查看PP-YOLOE使用的配置文件PaddleDetection/configs/ppyoloe/ppyoloe_crn_l_300e_coco.yml 可以看到依赖的相关配置文件如下图所示 注意这里将预训练权重换成coco数据集上的预训练权重更多预训练权重 点击链接进入选择配置文件的config找到预训练权重将其复制进去即可。就一行 具体的配置文件修改情况以及说明情况请转至基于PaddleDetection的绝缘子的缺陷检测查看 另外值得注意的是coco_detection.yml的配置修改位置是PaddleDetection/configs/datasets/coco_detection.yml否则加载数据集失败无法训练。 然后输入程序开始训练。建议用第二条指令可以边训练边评估开启可视化。
#** 注意: ** 使用默认配置训练需要设置--amp以避免显存溢出.
#!python tools/train.py -c configs/ppyoloe/ppyoloe_crn_l_300e_coco.yml --amp
#或者运行下面这条指令边训练边评估开启可视化
!python tools/train.py -c configs/ppyoloe/ppyoloe_crn_l_300e_coco.yml --amp --eval --use_vdlTrue --vdl_log_diroutput训练完是这样的。
3.4 评估模型
python -u work/PaddleDetection/tools/eval.py -c work/PaddleDetection/configs/ppyoloe/ppyoloe_crn_l_300e_coco.yml \
-o weights/home/aistudio/output/ppyoloe_crn_l_300e_coco/best_model.pdparams点击可视化–设置logdir下面的添加找到work/PaddleDetection/output点击确定即可 之后点击启动VisualDL服务再点击进入VisualDL在弹出网页的左上角点击标量数据。 就可以看到各种可视化的图起会跟着训练的过程随时更新。