训练集-测试集-验证集
(23条消息) 训练集,验证集,测试集分别是什么_训练集验证集测试集_又决定放弃的博客-CSDN博客
(23条消息) 【深度学习】训练集、测试集和验证集_训练集测试集验证集_莫克_Cheney的博客-CSDN博客
训练集(Training Set):用于训练模型。
验证集(Validation Set):用于调整和选择模型--调整模型参数
测试集(Test Set):用于评估最终的模型。
卷积-下采样-上采样
(25条消息) 卷积和池化的区别、图像的上采样(upsampling)与下采样(subsampled)_5行5列的原图像怎么子采样池化_liulina603的博客-CSDN博客
锚框-先验框概念及其生成
(25条消息) 锚框(anchor box)/先验框(prior bounding box)概念介绍及其生成_是苍啊!的博客-CSDN博客
(24条消息) 目标检测中的先验框(Anchor)_热血厨师长的博客-CSDN博客
对图像的像素框进行遍历,数据量太大,先进行下采样处理,降低图像的分辨率,得到图像的特征图,对特征图上的每个特征点取三个先验框,通过对先验框中心位置的偏移以及其宽高的变化得到预测框,与目标框对比,通过设定Iou阈值选出预测框,针对一个目标框,我们生成很多预测框并选取了一个IOU最大的预测框。通过分类头对这个先验框的类别做出预测,通过回归头归一化处理对先验框的位置和大小进行修改。
YOLOV7代码中的一些参数
(23条消息) YOLOV7开源代码讲解--训练参数解释_yolov7代码_爱吃肉的鹏的博客-CSDN博客
batch_size
(23条消息) 机器学习中的batch_size是什么?_batch size_勤奋的大熊猫的博客-CSDN博客
(23条消息) Batch Size的理解_Altoria.的博客-CSDN博客
例: 训练集有1000个样本,batch_size=10,那么训练完整个样本集需要:
100次iteration,1次epoch。
batch_size(批大小)即为一次传递给程序用以训练的样本个数
epoch表示训练了多少轮---1个epoch表示将所有的样本训练一轮
iteration表示训练多少batch_size批次的样本--1个iteration等于使用batchsize个样本训练一次;
基于Pytorch搭建DeepLabv3+语义检测平台实验步骤:
(53条消息) 憨批的语义分割重制版9——Pytorch 搭建自己的DeeplabV3+语义分割平台_Bubbliiiing的博客-CSDN博客
参考:
源码下载GIthub地址:GitHub - bubbliiiing/deeplabv3-plus-pytorch: 这是一个deeplabv3-plus-pytorch的源码,可以用于训练自己的模型。
博客详解地址:(48条消息) 憨批的语义分割重制版9——Pytorch 搭建自己的DeeplabV3+语义分割平台_Bubbliiiing的博客-CSDN博客
视频详解地址:
【Pytorch 搭建自己的DeeplabV3+语义分割平台(Bubbliiiing 深度学习 教程)】
- 搭环境--连接服务器
- 使用WinSCP在服务器与电脑之间进行文件的进行文件的上传和下载
- 使用电脑系统自带的--远程桌面连接--与服务器连接
- 搭环境--pycharm安装
- 使用服务器上的pycharm
- 搭环境--deeplabv3+项目下载
- 在github上下载deeplabv3+项目
- 在服务器上搭建所需的环境 【Pytorch 搭建自己的DeeplabV3+语义分割平台(Bubbliiiing 深度学习 教程)】
-
语义分割数据集的制作过程:
-
在根目录下的datasets下的before文件夹下存放jpg原图和json标签文件
-
使用labelme对before文件中的图片进行标注,生成对应的json文件
-
修改json_to_dataset.py中的参数classes的值为标签中的类别,第一个为背景_background_,并运行根目录下的json_to_dataset.py,将before文件夹下的jpg文件根据json标签文件转化为png文件格式
-
程序将输出的png格式的标签文件保存至datasets/SegmentatinClass中,将rgb原图保存至datasets/JPEGImages中
-
- 数据集的处理
- 设置参数annotation_mode = 0,生成ImageSets里面的txt文件,对数据集分类:训练集train.txt,测试集test.txt,验证集val.txt
- 设置参数num_classes 存放数据标注类型的类别
- 网络训练
-
在train.py中修改 model_path = 'model_data/deeplab_xception.pth' 表示模型的预训练权重,模型的预训练权重对不同数据集是通用的,因为特征是通用的。在训练的时候使用预训练权重文件,不使用的话主干部分的权值太过随机,特征提取效果不明显,网络训练的结果也不会好。按照个人需求以及服务器硬件配置修改相应的参数,然后运行train.py。完成训练后,在根目录下的logs文件夹中生成训练好的权值文件,包含过程中产生的权重文件,以及最后last和最好best的权重文件。
-
- 训练结果预测
-
修改deeplab.py中的相关参数: model_path参数指向上述logs文件夹下的权值文件,name_classes参数指标签图片中的类别,dir_origin_path指向待预测的原始图片地址,dir_save_path指向预测所输出的图片存放地址。运行predict.py文件进行预测,并将预测图片保存到指定位置dir_save_path,随后便可以查看预测结果。
-