当前位置: 首页 > news >正文

[paddle]paddleseg快速开始

快速开始

为了让大家快速了解PaddleSeg,本文档使用一个简单示例进行演示。在实际业务中,建议大家根据实际情况进行调整适配。

在开始下面示例之前,请大家确保已经安装好PaddleSeg开发环境(安装说明)。

1 准备数据

本示例将使用视盘分割(optic disc segmentation)数据集,数据集的原始图像和分割效果图如下所示。

通过以下命令可以下载视盘分割数据集(下载链接),解压保存到PaddleSeg/data目录下。

cd PaddleSeg
mkdir data && cd data
wget https://paddleseg.bj.bcebos.com/dataset/optic_disc_seg.zip
unzip optic_disc_seg.zip
cd ..

2 准备配置文件

我们常用PaddleSeg配置化驱动方式进行开发,配置文件是模型训练、评估、预测和部署的关键。

配置文件中定义了分割模型、损失函数、训练超参、训练数据集、验证数据集等信息。

本示例使用的配置文件是:PaddleSeg/configs/quick_start/pp_liteseg_optic_disc_512x512_1k.yml

3 模型训练

在PaddleSeg根目录下,执行如下命令进行单机训练。

export CUDA_VISIBLE_DEVICES=0 # Linux下设置1张可用的卡
# set CUDA_VISIBLE_DEVICES=0 # Windows下设置1张可用的卡python tools/train.py --config configs/quick_start/pp_liteseg_optic_disc_512x512_1k.yml --save_interval 500 --do_eval --use_vdl --save_dir output

训练完成后,模型在验证集上的mIoU达到90.65%(数据可能变动),精度最高的模型权重保存在PaddleSeg/output/best_model目录。

4 模型评估

在PaddleSeg根目录下,执行如下命令,使用val.py脚本来评估模型的精度,即计算验证数据集的精度。

python tools/val.py --config configs/quick_start/pp_liteseg_optic_disc_512x512_1k.yml  --model_path output/best_model/model.pdparams

5 模型预测

在PaddleSeg根目录下,执行如下命令,使用predict.py脚本加载模型,对图像进行预测,并且保存预测结果。

python tools/predict.py --config configs/quick_start/pp_liteseg_optic_disc_512x512_1k.yml  --model_path output/best_model/model.pdparams --image_path data/optic_disc_seg/JPEGImages/H0002.jpg --save_dir output/result

预测完成,可以在PaddleSeg/output/result目录下查看预测结果,如下图。

6 后续

得到训练好的模型后,上述预测步骤可以得到预测结果。此外,我们还可以导出预测模型并部署,实现更快的推理速度,具体请参考PaddleSeg的详细文档。

 

参考文章:https://gitee.com/paddlepaddle/PaddleSeg/blob/release/2.9/docs/quick_start_cn.md

http://www.lryc.cn/news/456012.html

相关文章:

  • UNIAPP popper气泡弹层【unibest框架下】vue3+typescript
  • launcher.py: error: the following arguments are required: --output_dir
  • C语言基础之结构体
  • Redis入门第四步:Redis发布与订阅
  • MySQL 之权限与授权
  • 解决方案:Pandas里面的loc跟iloc,有什么区别
  • C# 和 C++ 混合编程
  • Vxe UI vue vxe-table 实现表格单元格选中功能
  • 组合模式详解
  • AltiumDesigner脚本开发-DIP封装制作
  • 乌班图基础设施安装之Mysql8.0+Redis6.X安装
  • 【动态规划-最长递增子序列(LIS)】力扣673.最长递增子序列的个数
  • SQL优化 where谓词条件is null优化
  • Starrocks 元数据恢复 failed to load journal type 10242
  • 《深度学习》神经语言模型 Word2vec CBOW项目解析、npy/npz文件解析
  • 黄粱一梦,镜花水月总是空
  • 【分布式事务-01】分布式事务之2pc两阶段提交
  • docker 安装 rabbitMQ
  • 知识改变命运 数据结构【java对象的比较】
  • 01_23 种设计模式之《简单工厂模式》
  • Android 12.0 关于定制自适应AdaptiveIconDrawable类型的动态日历图标的功能实现系列一
  • 【源码+文档+调试讲解】基于安卓的小餐桌管理系统springboot框架
  • C语言中的文件操作(二)
  • 【C++篇】继承之韵:解构编程奥义,领略面向对象的至高法则
  • Ubuntu 22.04 安装 KVM
  • 101 公司战略的基本概念
  • 【devops】devops-ansible之剧本初出茅庐--搭建rsync和nfs
  • @RestController 和 @Controller 注解的联系及要点
  • 机器学习篇-day03-线性回归-正规方程与梯度下降-模型评估-正则化解决模型拟合问题
  • 图像人脸与视频人脸匹配度检测