OpenMMLab 实战营打卡 - 第 3 课

一 MMClassifiaction介绍

图像分类工具包 (MMClassifiaction)含有丰富的模型

  • 卷积神经网络
    • VGG
    • ResNet & Variants
    • ResNext
    • DenseNet
    • HRNet
    • EfficientNet
  • 轻量化网络
    • MobileNet V2/V3
    • ShuffleNet V1/V2
  • Transformer模型
    • Vit
    • MLP-Mixer
    • Conformer

同时支持各种数据集,还有训练技巧和策略,例如:优化器与学习率策略、数据增强策略等。
还有一些易用的工具,例如:大量预配置文件、预训练模型。
同时还有模块化设计。
代码仓库: https://github.com/open-mmlab/mmclassification
文档教程: https://mmclassification.readthedocs.io/en/latest/

二 MMClassifiaction环境安装

根据mmclassification的环境要求,需要用anaconda、cuda、gcc等模块环境基础。
1.首先创建一个python=3.8 的环境并激活环境(官方文档说明MMCV需要Python3.6以上的版本)这里可以产参考一些别的博主写的conda教程。

conda create --name opennmmlab_mmclassification python=3.8
source activate opennmmlab_mmclassification

2.然后安装torch,torch参考pytorch官网。注意在RTX3090的GPU上,cuda需要大于11.1。如下安装的1.10.0+cu111。使用pi安装的torch不包括cuda

pip install torch==1.10.0+cu111 torchvision==0.11.0+cu111 torchaudio==0.10.0 -f
https://download.pytorch.org/whl/torch_stable.html

3.安装mmcv-full模块。mmcv-full模块安装时需要注意torch和cuda版本。在安装mmcv-full之前 ,请确保PyTorch成功安装在环境中,可以用以下命令来测试:如果输出版本信息,则成功安装。

python -c 'import torch;print(torch.__version__)'

在这里推荐使用官方给出的mim安装,mim是OpenMMLab项目的管理工具,使用它可以很方便的安装mmcv-full。
但是我不接受它的推荐,我使用的是pip安装,注意版本匹配

pip install mmcv-full==1.7.0 -f
https://download.openmmlab.com/mmcv/dist/cu111/torch1.10/index.html

4.安装OpenMMLab/MMClassification模块,安装该模块需要gcc大于5

# git 下载 mmclassification 代码 
 git clone https://github.com/open-mmlab/mmclassification.git
# 编译安装
 cd mmclassification
 pip install -e .

完成以上步骤,恭喜你🎉,完成了环境配置

三 介绍一下推理API

# 下载配置文件和与训练权重
$ mim download mmcls --config mobilenet-v2_8xb32_in1k --dest .

使用Python API推理

from mmcls.apis import init_model, inference_model, show_result_pyplot
model = init_model('mobilenet-v2_8xb32_in1k.py',
'mobilenet_v2_batch256_imagenet_20200708-3b2dc3af.pth',
device='cuda:0')
result = inference_model(model, 'banana.png')
show_result_pyplot(model, 'banana.png', result)

四 介绍一下OpenMMLab项目中的重要概念

4.1 配置文件

深度学习模型的训练涉及以下几个方面

  • 模型结构 模型有几层、每层多少通道数等等
  • 数据集 用什么数据训练模型:数据集划分、数据文件路径、数据增强策略等等
  • 训练策略 梯度下降算法、学习率参数、batch_size、训练总轮数、学习率变化策略等等
  • 运行时 GPU、分布式环境配置等等
  • 一些辅助功能 如 打印日志、定时保存checkpoint等等
    在OpenMMLab项目中,所有这些项目都涵盖在一个配置文件中,一个配置文件定义了一个完整的训练过程
  • model字段定义模型
  • data字段定义数据
  • optimizer、Ir_config等字段定义训练策略
  • load_from字段定义与训练模型的参数文件

4.2 配置文件运作方式

也适用于其他

4.3 图像分类模型架构

请添加图片描述

4.4 数据集构建

请添加图片描述

4.5 定义数据加载流水线

请添加图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值