| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> SiamBAN 训练过程debug记录 -> 正文阅读 |
|
[人工智能]SiamBAN 训练过程debug记录 |
目录 ?(1)?class BANDataset(Dataset) (3)def _filter_zero-->class SubDataset(object) (4)?def shuffle-->class SubDataset(object) (5) def _find_dataset-->??class BANDataset(Dataset) ?(6) def get_positive_pair-->class SubDataset(object) ?(7)? _get_bbox-->??class BANDataset(Dataset) (1) def _build_warm_up_scheduler 9. 原输入图片为(511,511,3),resize到输入网络的尺寸的入口 11. 输入shape 通道转成对应的3通道 (3,255,255)以及(3,127,127)入口 一、一些参数的图片展示1. train.py?(1) main()?optimizer ?lr_scheduler dist_model (2)def trainaverage_meter ?train_loader data? outputs ?batch_info (first) v ?batch_info(second) ?average_meter ?v (batch_info) (3) def build_data_loader()train_dataset ?train_sampler ?train_loader ?(4) build_opt_lrparam ?m ?trainable_params? (first) ?trainable_params? (second) ??trainable_params? (third) ?optimizer lr_scheduler? (first) ?lr_scheduler? (second) 2. model_load.py(1) def load_pretrain第一个 经过remove_prefix后 (2) def remove_prefix(3) def check_keysckpt_keys? ?model_keys ?used_pretrainde_keys ?unused_pretrained_keys ?missing_keys (first) ?missing_keys (secend) 3. dataset.py?(1)?class BANDataset(Dataset)cfg.DATASET ?《config文件中的设置》 subdata_cfg self.all_dataset self.pick ? ?dataset ?bbox def shufflep, pick 《第一次循环》 ?《循环结束后》 ?(2)class SubDataset(object)f ?meta_data (太长了,没截图完)? first meta_data (second,经过_filter_zero之后的)? ?self.labels ?self.videos template ?search ?template_box ?search_box (3)def _filter_zero-->class SubDataset(object)tracks (4)?def shuffle-->class SubDataset(object)list (5) def _find_dataset-->??class BANDataset(Dataset)dataset ?(6) def get_positive_pair-->class SubDataset(object)self ?video ?track_info ?(7)? _get_bbox-->??class BANDataset(Dataset)bbox 4. lr_scheduler.py(1) def _build_warm_up_schedulersc1 ?sc2 ?(2) class WarmUPSchedulerwarmup ?normal ?self.lr_spaces ?5.distributed.py(1) class DistModuleself.module ?(2) broadcast_paramsp 6. model_builder.pydata ?template ?search ?label_cls ?label_loc ?zf? ?xf ?zf (neck) ?xf (neck) ?cls ?loc ?cls (log_softmax) ?cls_loss ?loc_loss 7. augmentation.py(1)? def __call__corp_bbox bbox ?(2)?_shift_scale_augcrop_bbox_center (first) ?crop_bbox_center (second) ?crop_bbox 8.point_target.py?self.point points ?[0] ?[1] cls (first) ?delta (first) ?delta (second) [0] ?[1] ?[2] ?[3] ?pos ?neg ?position ?cls(second) 二、一些关键部分的入口以及代码1. 搭建主干网络以及构造模型train.py------- 267
2. 加载Rsnet预训练骨干的参数??train.py-----271
3. 建立dataset loadertrain.py----283
4. 导入数据集的入口dataset.py -----160
更精确一点,裁剪后的数据集路径为 dataset.py -----34
5. 训练时打印的出处(1) 刚开始准备的阶段
dataset.py-----73
这些都是准备阶段,还没开始对数据集进行训练呢。 (2) 开头时打印的config内容?train.py-----264
?(3) Epoch 啥的train.py-----241
?(4) progress 啥的?log_helper.py-----102
(5) 模型的模块结构?train.py-----166
6. 数据送入模型的入口train.py-----202
7. 分类标签和回归标签的创建dataset.py-----272
8. 损失函数的使用module_builder.py-----93
9. 原输入图片为(511,511,3),resize到输入网络的尺寸的入口dataset.py----261
augmentation.py-----126
10.正样本随机选16个,负样本随机选48个入口point_target.py---23
11. 输入shape 通道转成对应的3通道 (3,255,255)以及(3,127,127)入口dataset.py----273
12 日志文件创建入口train.py-----259
13. 更改数据集导入路径啥的设置config.py-----129
14. 截取训练数据的入口训练数据所用的图片(这里对应处理前的单张图片,处理后成为一个文件夹,依据所包含目标数量多少下面可能包含多张图片)的数量为设置的,self.use_num,若大于这个数则随机截取,小于这个则随机会重复选取直至满足 dataset.py-----66 、98
15 .最终训练数据的每轮epoch的大小可以一次性使用多个训练数据集,因为每轮epoch的总batch训练大小为20000000个,个数不够循环来凑。 dataset.py-----198
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 2:54:37- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |