第十六届全国大学生智能车竞赛线上赛增分:PaTTA的使用
本文以肖佬项目为例,介绍如何用PaTTA提升效果。先解压数据集到data文件夹,生成数据列表并分割训练、验证集,安装PaddleSeg。编写配置文件后训练、验证、导出模型,再下载安装PaTTA,用其工具处理测试集,最后打包结果提交。PaTTA默认配置约涨1.几分,可解决验证集与提交结果差异问题。

PaTTA的使用
以肖佬的项目为例,展示如何使用PaTTA增分。
如果您感觉不错的话,请watch、star、fork三联,别白嫖啦,谢谢您~
仓库地址:https://github.com/AgentMaker/PaTTA
免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈
效果展示
使用PaTTA默认配置大约能涨1.几分,PaTTA能解决训练时候在验证集上miou非常高,但在提交后跌许多的问题。
这是在同一个模型情况下,仅仅使用了默认配置的PaTTA后的效果:
项目主体
解压数据集
考虑到数据集大小和项目启动速度,所以将数据集解压至 data 文件夹每次进入项目都需要进行一次解压In [ ]# 解压数据集# q [quiet]:无输出# d [directory]:指定解压目录!unzip -d data data/data68698/智能车数据集.zip登录后复制
数据集预处理
生成格式为 “img_path anno_path” 的数据列表,供后续模型训练使用切分训练数据为:训练集和验证集,前者用于训练模型,后者用于验证模型效果In [ ]# 生成数据列表datas_list = [ 'data/image_4000/%d.webp data/mask_4000/%d.webp\n' % (x, x) for x in range(4000)]# 分割训练集,前 3900 张图像作为训练数据with open('train.txt', 'w') as f: for line in datas_list[:-100]: f.write(line)# 分割验证集,后 100 张图像作为验证数据with open('dev.txt', 'w') as f: for line in datas_list[-100:]: f.write(line)登录后复制 安装 PaddleSeg
可通过 pip 或者源码进行安装作为演示并为了节省拉取代码的时间,这里使用 pip 进行安装完成安装之后,建议点击 Notebook 上方的重启按钮重启环境后再使用In [ ]# 安装 PaddleSeg!pip install paddleseg登录后复制 In [ ]
!unzip PaddleSeg-release-v2.0.zip!mv PaddleSeg-release-v2.0 paddleseg登录后复制
编写配置文件
PaddleSeg 使用配置文件进行各种模型数据等各个方面的配置操作具体的配置方式请参考:最新配置文档更多的配置文件模板请参考:最新配置文件基线代码演示所需的配置文件放置于 Road_Line.yml示例的配置文件内容如下:# 设置数据批大小batch_size: 2# 设置训练步数iters: 1000# 训练集配置train_dataset: type: Dataset num_classes: 15 # 数据目录 dataset_root: ./ # 训练集列表 train_path: ./train.txt # 数据预处理 transforms: - type: Resize target_size: [512, 512] - type: Normalize mode: train# 验证集配置val_dataset: type: Dataset num_classes: 15 # 数据目录 dataset_root: ./ # 验证集列表 val_path: ./dev.txt # 数据预处理 transforms: - type: Resize target_size: [512, 512] - type: Normalize mode: val# 优化器配置optimizer: type: sgd momentum: 0.9 weight_decay: 4.0e-5# 学习率配置learning_rate: value: 0.01 decay: type: poly power: 0.9 end_lr: 0# 损失函数配置loss: types: - type: CrossEntropyLoss coef: [1.0, 0.4]# 模型配置model: type: FastSCNN num_classes: 15 enable_auxiliary_loss: True pretrained: null登录后复制
模型训练
使用 train.py 进行模型训练In [ ]# 模型训练# config:配置文件# save_dir:模型保存路径# do_eval:训练同时进行模型验证# 更多选项参数请参考源代码!python paddleseg/train.py \ --config Road_Line.yml \ --save_dir saved_models \ --do_eval登录后复制
模型验证
使用 val.py 脚本进行模型验证In [ ]# 模型验证# config:配置文件# model_path:模型文件# 更多选项参数请参考源代码!python paddleseg/val.py \ --config Road_Line.yml \ --model_path saved_models/best_model/model.pdparams登录后复制
模型导出
使用 export.py 脚本进行模型预测In [ ]!python paddleseg/export.py \ --config Road_Line.yml \ --model_path saved_models/best_model/model.pdparams登录后复制
使用TTA
在经过模型导出后,得到下列文件,下列文件将用于PaTTA的使用。
output ├── deploy.yaml # 部署相关的配置文件 ├── model.pdiparams # 静态图模型参数 ├── model.pdiparams.info # 参数额外信息,一般无需关注 └── model.pdmodel # 静态图模型文件登录后复制
下载PaTTA
In [ ]!git clone https://github.com/AgentMaker/PaTTA.git登录后复制 In [ ]
!unzip PaTTA.zip登录后复制
生成测试集
In [ ]import globpath = glob.glob('data/infer/*')f = open('test.txt', 'w')for i in path: f.write(i+'\n')f.close()登录后复制 安装PaTTA
In [ ]!pip install PaTTA/登录后复制
一键使用
注意:请将seg.py里面的crop_size参数改成和训练一致!!!
In [16]!python PaTTA/tools/seg.py --model_path='output/model' \ --batch_size=16 \ --test_dataset='test.txt'登录后复制
结果提交
In [ ]# 打包结果文件!zip -r result.zip result登录后复制
相关攻略
Pywinrm 通过Windows远程管理(WinRM)协议,让Python能够像操作本地一样执行远程Windows命令,真正打通了跨平台管理的最后一公里。 在混合IT环境中,Linux机器管理Wi
早些时候,聊过 Python 领域那场惊心动魄的供应链攻击。当时我就感叹,虽然我们 JavaScript 开发者对这类套路烂熟于心,但亲眼目睹这种规模的“投毒”还是头一次。 早些时候,聊过 Pyth
Toga 是 BeeWare 家族的核心成员,号称“写一次,跑遍所有平台”,而且用的是系统原生控件,不是那种一看就是网页套壳的界面 。 写了这么多年 Python,你是不是也想过:要是能一套代码跑
异常处理的核心:让错误在正确的地方被有效处理。正确的地方,就是别在底层就把异常吞了,也别在顶层还抛裸奔的 Exception。 异常处理写得好,半夜不用起来改 bug。1 你是不是也这么干过?tr
1 Skills机制概述 提起OpenClaw的Skills机制,不少人可能会把它想象成传统意义上的可执行插件。其实,它的内涵要更精妙一些。 简单说,Skills本质上是一套基于提示驱动的能力扩展机制。它并不是一个可以独立“跑”起来的程序模块,而是通过一份结构化描述文件(核心就是那个SKILL m
热门专题
热门推荐
加密货币行业翘首以盼的监管里程碑,终于有了实质性进展。美国证券交易委员会(SEC)主席保罗·阿特金斯(Paul Atkins)近日证实,那份允许加密项目在早期获得注册豁免权的“安全港”框架提案,已经正式送抵白宫,进入了最终审查阶段。 在范德堡大学与区块链协会联合举办的数字资产峰会上,阿特金斯透露了这
微策略Strategy报告:第一季录得144 6亿美元浮亏 再斥资约3 3亿美元买进4871枚比特币 市场震荡的威力有多大?看看Strategy的最新季报就明白了。根据其最新向美国证管会(SEC)提交的8-K报告,受市场剧烈波动影响,这家公司所持的比特币在第一季度录得了一笔惊人的数字——144 6亿
稳定币巨头Tether的动向,向来是加密世界的风向标。这不,它向Web3基础设施的版图扩张,又迈出了关键一步。公司执行长Paolo Ardoino在社交平台X上透露,其工程团队正在全力“烹制”一个新项目——去中心化搜索引擎 “Hypersearch”。这个消息一出,立刻引发了行业的广泛猜想。 采用D
基地位于Coinbase旗下以太坊Layer2网络Base的Seamless Protocol,日前正式宣告了服务的终结。这个曾经吸引了超过20万用户的原生DeFi借贷协议,在运营不到三年后,终究没能跑赢时间。它主打的核心产品是Integrated Leverage Markets(ILMs)——一
PAAL代币揭秘:深度解析Web3社区治理的核心钥匙 在去中心化自治组织的浪潮中,谁真正掌握了项目的话语权?PAAL代币提供了一套系统化的答案。它不仅是生态内流转的价值媒介,更是开启链上治理大门的核心凭证。通过持有并质押PAAL代币,用户能够对协议升级、资金分配乃至战略方向等关键事务投出决定性的一票





