一、 MMClassification项目结构
MMClassification的项目结如图如图所示,截图来自openmmlab的B站官方。不仅是MMClassification,openmmlab的其他工具包也是同样的项目结构。
二、MMClassification安装、验证
(一)安装
参考官方安装教程,安装MMClassification
在安装前,我们需要先安装通过sudo apt install git
安装git,然后执行以下:
conda create --name openmmlab python=3.8 -y
conda activate openmmlab
pip install -U openmim -i http://pypi.douban.com/simple/ # 代表从豆瓣源安装,加快安装速度
mim install mmcv-full
git clone https://github.com/open-mmlab/mmclassification.git
cd mmclassification
pip install -e . -i http://pypi.douban.com/simple/
(二)验证
在MMClassification目录下打开终端
1.下载配置文件以及模型
mim download mmcls --config resnet50_8xb32_in1k --dest .
2.用模型进行验证测试
python demo/image_demo.py demo/demo.JPEG resnet50_8xb32_in1k.py resnet50_8xb32_in1k_20210831-ea4938fc.pth --device cpu
我们的demo.JPEG 确实是个蟒蛇
(三)训练第一个分类网络
在这里,我们训练第一个分类神经网络—猫狗分类,数据集在这里(提取码: f8m4,自解压文件)。
1.更改配置文件
在./mmclassification/configs/mobilenet_v2
路径下,我们复制mobilenet-v2_8xb32_in1k.py
文件为mobilenet-v2_8xb32_cat_dog.py
(我电脑太垃圾,只能使用mobilenet_v2进行测试),然后对配置文件进行修改。
_base_ = [
'../_base_/models/mobilenet_v2_1x.py',
'../_base_/datasets/imagenet_bs32_pil_resize.py',
'../_base_/schedules/imagenet_bs256.py',
'../_base_/default_runtime.py'
]
(1)修改models
打开
./mmclassification/configs/__base__/models/mobilenet_v2_1x.py
复制以下代码至mobilenet-v2_8xb32_cat_dog.py
# model settings
model = dict(
type='ImageClassifier',
backbone=dict(type='MobileNetV2', widen_factor=1.0),
neck=dict(type='GlobalAveragePooling'),
head=dict(
type='LinearClsHead',
num_classes=1000,
in_channels=1280,
loss=dict(type='CrossEntropyLoss', loss_weight=1.0),
topk=(1, 5),
))
修改为
# model settings
model = dict(
type='ImageClassifier',
backbone=dict(type='MobileNetV2', widen_factor=1.0),
neck=dict(type