Git Product home page Git Product logo

dianexam's Introduction

dianexam

AIA曾明杰2201智实

10.17测试结果: 同时使用官方提供的baseline和yolov5两条技术路线,其中yolov5路线率先达到0.9正确率(2022.10.17,7:00结果:91.54%),目前天池长期赛排名165,昵称:aliyun9779476569
yolov5pipeline:
使用readjson处理赛事提供的数据成yolov5支持的格式
使用training.txt的训练命令(即yolov5文件里的train.py
使用training.txt中的测试命令(即yolov5文件里的detect.py
使用out.py将输出数据格式化成赛事提交的格式
注意事项:batchsize不能调太大,不仅占用显存大还延缓模型收敛速度
注意事项:有三个.yaml应当更改,--cfg,--data,--hyp,其中前两个为了改识别物体类别,最后是把图像水平翻转的图像增强去掉

baseline-pipeline
main.py函数 (因验证集正确率不理想故没有继续往下做输出)

ps:其余未作标注的文件是做baseline和fasterRCNN时留下的源码

详细过程:
10.15早上8点收到测试要求,得知信息:街景字符检测,初步想法:图像检测0-9,按水平坐标拼接起来。
中午:得到两个技术方向,一个是yolov5为基础的图像检测模型,一个是自己写以torchvision的fasterrcnn为基础的图像检测
晚上:尝试写数据读入和训练,因dataset不支持不定长的getitem且engine中train_one_epoch 运行出错而不知如何修改而终止,后尝试yolov5(此时关键参数:img320,batch64)并调整--data和--cfg进行训练)
10.16早:训练完成,输出识别并上传,62.5正确率(现在分析应该是推理的时候选的参数文件选错了,因为那个时候的验证集正确率有80)
中午:发现天池官方提供了baseline,是以图像识别为基础(resnet18)做的,且长度更小的字符串识别(以X代指没有这个数字)。按照baseline在验证集得到了56%正确率
下午:参照各种方法(如减少输出字符串长度为4,提高网络复杂度,增加标签平滑,增加dropout层抑制过拟合),最终将正确率提高到64%,判断此方法可能无法在测试结束前优化到90%正确率
晚上:查阅yolov5训练数据案例,发现有--img默认的(640),没有--cache的,--batch=3,测试了10epoch发现img默认效果良好(现在分析可能是由于图像变大显存放不下,于是将batch从64改成16,反而batch应该是效果最明显的超参数)上传得到的成绩为87.4%。尔后测试25epoch,几个loss下降得很明显,最终成绩是89.74%.最后通宵测试40epoch,同时在--hyp把图像水平翻转去掉了,达到91.4%正确率,正式收工。

dianexam's People

Contributors

unmaple avatar

Stargazers

Ye Wang avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.