棋牌网站建设源码,什么是网站设计与建设,万网云服务器怎么上传网站,学广告设计要学什么软件文章目录前言0. 环境搭建快速开始1. 数据集制作1.1 标签文件制作1.2 数据集划分1.3 数据集信息文件制作2. 修改参数文件3. 训练4. 评估5. 其他教程前言
项目地址#xff1a;https://github.com/Fafa-DL/Awesome-Backbones
操作教程#xff1a;https://www.bilibili.co…
文章目录前言0. 环境搭建快速开始1. 数据集制作1.1 标签文件制作1.2 数据集划分1.3 数据集信息文件制作2. 修改参数文件3. 训练4. 评估5. 其他教程前言
项目地址https://github.com/Fafa-DL/Awesome-Backbones
操作教程https://www.bilibili.com/video/BV1SY411P7Nd
MixMIM原论文点我跳转
如果你以为该仓库仅支持训练一个模型那就大错特错了我在项目地址放了目前支持的42种模型LeNet5、AlexNet、VGG、DenseNet、ResNet、Wide-ResNet、ResNeXt、SEResNet、SEResNeXt、RegNet、MobileNetV2、MobileNetV3、ShuffleNetV1、ShuffleNetV2、EfficientNet、RepVGG、Res2Net、ConvNeXt、HRNet、ConvMixer、CSPNet、Swin-Transformer、Vision-Transformer、Transformer-in-Transformer、MLP-Mixer、DeiT、Conformer、T2T-ViT、Twins、PoolFormer、VAN、HorNet、EfficientFormer、Swin Transformer V2、MViT V2、MobileViT、DaViT、RepLKNet、BEiT、EVA、MixMIM、EfficientNetV2使用方式一模一样。且目前满足了大部分图像分类需求进度快的同学甚至论文已经在审了
0. 环境搭建快速开始
这一步我也在最近录制了视频
最新Windows配置VSCode与Anaconda环境
『图像分类』从零环境搭建快速开始
不想看视频也将文字版放在此处。建议使用Anaconda进行环境管理创建环境命令如下
conda create -n [name] python3.6 其中[name]改成自己的环境名如[name]-torchconda create -n torch python3.6我的测试环境如下
torch1.7.1
torchvision0.8.2
scipy1.4.1
numpy1.19.2
matplotlib3.2.1
opencv_python3.4.1.15
tqdm4.62.3
Pillow8.4.0
h5py3.1.0
terminaltables3.1.0
packaging21.3首先安装Pytorch。建议版本和我一致进入Pytorch官网点击 install previous versions of PyTorch以1.7.1为例官网给出的安装如下选择合适的cuda版本
# CUDA 11.0
pip install torch1.7.1cu110 torchvision0.8.2cu110 torchaudio0.7.2 -f https://download.pytorch.org/whl/torch_stable.html# CUDA 10.2
pip install torch1.7.1 torchvision0.8.2 torchaudio0.7.2# CUDA 10.1
pip install torch1.7.1cu101 torchvision0.8.2cu101 torchaudio0.7.2 -f https://download.pytorch.org/whl/torch_stable.html# CUDA 9.2
pip install torch1.7.1cu92 torchvision0.8.2cu92 torchaudio0.7.2 -f https://download.pytorch.org/whl/torch_stable.html# CPU only
pip install torch1.7.1cpu torchvision0.8.2cpu torchaudio0.7.2 -f https://download.pytorch.org/whl/torch_stable.html安装完Pytorch后再运行
pip install -r requirements.txt下载MobileNetV3-Small权重至datas下Awesome-Backbones文件夹下终端输入
python tools/single_test.py datas/cat-dog.png models/mobilenet/mobilenet_v3_small.py --classes-map datas/imageNet1kAnnotation.txt1. 数据集制作
1.1 标签文件制作 将项目代码下载到本地 本次演示以花卉数据集为例目录结构如下
├─flower_photos
│ ├─daisy
│ │ 100080576_f52e8ee070_n.jpg
│ │ 10140303196_b88d3d6cec.jpg
│ │ ...
│ ├─dandelion
│ │ 10043234166_e6dd915111_n.jpg
│ │ 10200780773_c6051a7d71_n.jpg
│ │ ...
│ ├─roses
│ │ 10090824183_d02c613f10_m.jpg
│ │ 102501987_3cdb8e5394_n.jpg
│ │ ...
│ ├─sunflowers
│ │ 1008566138_6927679c8a.jpg
│ │ 1022552002_2b93faf9e7_n.jpg
│ │ ...
│ └─tulips
│ │ 100930342_92e8746431_n.jpg
│ │ 10094729603_eeca3f2cb6.jpg
│ │ ...在Awesome-Backbones/datas/中创建标签文件annotations.txt按行将类别名 索引写入文件
daisy 0
dandelion 1
roses 2
sunflowers 3
tulips 41.2 数据集划分
打开Awesome-Backbones/tools/split_data.py修改原始数据集路径以及划分后的保存路径强烈建议划分后的保存路径datasets不要改动在下一步都是默认基于文件夹进行操作
init_dataset A:/flower_photos # 改为你自己的数据路径
new_dataset A:/Awesome-Backbones/datasets在Awesome-Backbones/下打开终端输入命令
python tools/split_data.py得到划分后的数据集格式如下
├─...
├─datasets
│ ├─test
│ │ ├─daisy
│ │ ├─dandelion
│ │ ├─roses
│ │ ├─sunflowers
│ │ └─tulips
│ └─train
│ ├─daisy
│ ├─dandelion
│ ├─roses
│ ├─sunflowers
│ └─tulips
├─...1.3 数据集信息文件制作
确保划分后的数据集是在Awesome-Backbones/datasets下若不在则在get_annotation.py下修改数据集路径
datasets_path 你的数据集路径在Awesome-Backbones/下打开终端输入命令
python tools/get_annotation.py在Awesome-Backbones/datas下得到生成的数据集信息文件train.txt与test.txt
2. 修改参数文件 每个模型均对应有各自的配置文件保存在Awesome-Backbones/models下 由backbone、neck、head、head.loss构成一个完整模型 找到MixMIM参数配置文件可以看到所有支持的类型都在这且每个模型均提供预训练权重 在model_cfg中修改num_classes为自己数据集类别大小 按照自己电脑性能在data_cfg中修改batch_size与num_workers 若有预训练权重则可以将pretrained_weights设置为True并将预训练权重的路径赋值给pretrained_weights 若需要冻结训练则freeze_flag 设置为True可选冻结的有backbone, neck, head 在optimizer_cfg中修改初始学习率根据自己batch size调试若使用了预训练权重建议学习率调小 学习率更新详见core/optimizers/lr_update.py同样准备了视频『图像分类』学习率更新策略|优化器 更具体配置文件修改可参考配置文件解释同样准备了视频『图像分类』配置文件补充说明
3. 训练
确认Awesome-Backbones/datas/annotations.txt标签准备完毕确认Awesome-Backbones/datas/下train.txt与test.txt与annotations.txt对应选择想要训练的模型在Awesome-Backbones/models/下找到对应配置文件以mixmim_base为例按照配置文件解释修改参数在Awesome-Backbones路径下打开终端运行
python tools/train.py models/mixmim/mixmim_base.py4. 评估
确认Awesome-Backbones/datas/annotations.txt标签准备完毕确认Awesome-Backbones/datas/下test.txt与annotations.txt对应在Awesome-Backbones/models/下找到对应配置文件在参数配置文件中修改权重路径其余不变
ckpt 你的训练权重路径在Awesome-Backbones路径下打开终端运行
python tools/evaluation.py models/mixmim/mixmim_base.py单张图像测试在Awesome-Backbones打开终端运行
python tools/single_test.py datasets/test/dandelion/14283011_3e7452c5b2_n.jpg models/mixmim/mixmim_base.py至此完毕实在没运行起来就去B站看我手把手带大家运行的视频教学吧
5. 其他教程
除开上述我还为大家准备了其他一定用到的操作教程均放在了GitHub项目首页为了你们方便为也粘贴过来
环境搭建数据集准备配置文件解释训练模型评估批量检测/视频检测计算FlopsParams添加新的模型组件类别激活图可视化学习率策略可视化
有任何更新均会在Github与B站进行通知记得Star与三连关注噢