YOLOX源码解读系列
1.YOLOX总体结构
demo
MegEngine:旷视深度学习开源框架–天元(2020.03.25发布)
ONNX:Open Neural Network Exchange ,是微软和 Facebook 发布的一个深度学习开发工具生态系统,旨在让 AI 开发人员能够随着项目发展而选择正确的工具,可以直接在不同的框架上训练网络。
TensorRT:英伟达推出的高性能深度学习支持引擎,为了能更好地利用GPU
openvino :英特尔推出的一款全面的工具套件,用于快速部署应用和解决方案
ncnn:腾讯开放的一个专门针对移动设备(尤其是android)的开源深度学习前向框架
docs
manipulate_training_image_size.md
:介绍了如何在对自己的数据进行训练时控制图像大小。
modle_zoo.md
:介绍了各种标准模型。
quick_run.md
:介绍了代码的使用操作
train_custom_data.md
介绍如何使用YOLOX训练您自己的自定义数据。我们以VOC数据集上微调YOLOX-S模型为例,给出了更清晰的指导。
updates_note.md
讲了对代码的更新。比如:支持图像缓存以加快培训速度,这需要较大的系统RAM。消除对apex的依赖,支持torch放大器培训。优化预处理以加快训练速度用新的HSV aug替换旧的扭曲增强,以实现更快的训练和更好的性能。
exps:examples
介绍了对不同标准模型进行使用的配置文件,包括各种输入参数、模块方法选择, 具体的配置示例
tools
一些训练用的通用文件,训练、测试、demo等
yolox
核心部分
core:一些加载文件
datasets:数据处理
coco_classes.py
:coco数据集的类别
coco.py
:coco数据集的初始化、进行数据读取
voc_classes.py
:voc数据集的类别
voc.py
:是voc数据集的初始化、进行数据读取。
datasets_wrapper.py
:将处理后的数据集,进行整理和封装
mosaicdetection.py
:进行马赛克操作,实现数据增强
data_augment.py
:模块进行相关数据处理,包含hsv等一些数据增强方法
data_prefetcher.py
:加快pytorch的数据加载
dataloading.py
:该模块进行数据加载,获取数据集的文件
samplers.py
:该模块进行抽样,批取样器,将从另一个取样器生成(马赛克,索引)元组的小批
init.py
:一些依赖库
evaluator:测评
exp:base examples
model:模型主体代码
init.py
:一些依赖包,导入模块和函数
darknet.py
:主干网络Darknet53
losses.pyloss
:函数使用了IOUloss,计算交并比
network_blocks.py
:网络需要调用的模块,使用silu激活函数
yolo_fpn.py
:YOLOFPN模块。Darknet 53是此模型的默认主干。调用Darknet 53作为主干网络
yolo_head.py
:本模块有三个操作:decoupled head,Multi positives,SimOTA
yolo_pafpn.py
:另一个主干网络,backbone-YOLOPAFPN。PA指的是PANet的结构,FPN指的是特征金字塔结构。
yolox.py
:YOLOX模型模块。调用之前的主干网络和组件,模块列表由create_yolov3_modules函数定义。网络在训练期间从三个YOLO层返回损耗值,以及测试期间的检测结果。
utils:工具代码
2.datasets模块解读
2.1 Mosaic数据增强
参考博客
YOLOX源码解读系列相关推荐
- Alamofire源码解读系列(九)之响应封装(Response)
本篇主要带来Alamofire中Response的解读 前言 在每篇文章的前言部分,我都会把我认为的本篇最重要的内容提前讲一下.我更想同大家分享这些顶级框架在设计和编码层次究竟有哪些过人的地方?当然, ...
- Alamofire源码解读系列(五)之结果封装(Result)
本篇讲解Result的封装 前言 有时候,我们会根据现实中的事物来对程序中的某个业务关系进行抽象,这句话很难理解.在Alamofire中,使用Response来描述请求后的结果.我们都知道Alamof ...
- py-faster-rcnn源码解读系列
转载自: py-faster-rcnn源码解读系列(一)--train_faster_rcnn_alt_opt.py - sunyiyou9的博客 - 博客频道 - CSDN.NET http://b ...
- Hadoop源码解读系列目录
Hadoop源码解读系列 1.hadoop源码|common模块-configuration详解 2.hadoop源码|core模块-序列化与压缩详解 3.hadoop源码|core模块-远程调用与N ...
- Alamofire源码解读系列(十二)之请求(Request)
本篇是Alamofire中的请求抽象层的讲解 前言 在Alamofire中,围绕着Request,设计了很多额外的特性,这也恰恰表明,Request是所有请求的基础部分和发起点.这无疑给我们一个Req ...
- Alamofire源码解读系列(七)之网络监控(NetworkReachabilityManager)
Alamofire源码解读系列(七)之网络监控(NetworkReachabilityManager) 本篇主要讲解iOS开发中的网络监控 前言 在开发中,有时候我们需要获取这些信息: 手机是否联网 ...
- spring源码解读系列(八):观察者模式--spring监听器详解
一.前言 在前面的文章spring源码解读系列(七)中,我们继续剖析了spring的核心refresh()方法中的registerBeanPostProcessors(beanFactory)(完成B ...
- 【注意力机制集锦】Channel Attention通道注意力网络结构、源码解读系列一
Channel Attention网络结构.源码解读系列一 SE-Net.SK-Net与CBAM 1 SENet 原文链接:SENet原文 源码链接:SENet源码 Squeeze-and-Excit ...
- Alamofire源码解读系列(十一)之多表单(MultipartFormData)
本篇讲解跟上传数据相关的多表单 前言 我相信应该有不少的开发者不明白多表单是怎么一回事,然而事实上,多表单确实很简单.试想一下,如果有多个不同类型的文件(png/txt/mp3/pdf等等)需要上传给 ...
最新文章
- Python十大装腔语法
- 64位游戏找call_游戏安全之游戏Call检测的对抗与防护
- Ueditor富文本添加视频内容,视频不显示以及编辑富文本时,视频不显示解决方案
- jQuery简单的Ajax调用示例
- 投入 20 亿,赋能 1 万家,阿里云正式启动云原生合作伙伴计划
- spark匹配html字段,Apache Spark中的高效字符串匹配
- ie 调用java的时候报错,调用javabean的非常郁闷的异常。
- c++: internal compiler error: Killed
- 从veth看虚拟网络设备的qdisc
- 我的世界服务器指令修改拔刀剑,我的世界拔刀剑Mod 合成刀方法作用
- GWO(灰狼优化)算法
- C#基础18:内置委托类型Action和Func
- 功夫小子实践开发-资源异步加载及过渡场景的分析和实现
- 直播类 APP 项目开发实战(原理篇)
- 判断四张扑克牌能否凑成24点游戏算法
- 工程建设项目全套流程,门清!
- Lab: Cross-site WebSocket hijacking:跨站WebSocket劫持
- maven私服下载jar包失败的问题记载
- android地图模式,百度地图Android V2.0新增卫星图及3D模式功能
- Zabbix怎么监控奇安信网神防火墙
热门文章
- 从无到有完整搭建lnmp+redis+memcache+gearmand网站
- 详解服务器异构计算FPGA基础知识
- 一份来自于全球的前端面试题清单,看看老外喜欢考哪些题(部分有答案)
- kali linux 最新下载,kali新版本下载,Kali Linux 2019.4 开放下载
- C#技术分享【Word转换成图片和PDF——2种方案】
- pandas dataframe drop函数
- 没有windows安装光盘怎么修复计算机,教你用Windows XP的安装盘修复系统
- 【闲谈】我为什么不想回答你的问题
- pycharm设置文件模板
- 2021年华数杯数学建模B题进出口公司的货物装运策略求解全过程文档及程序