Commit 4c53dc71 authored by sunxx1's avatar sunxx1
Browse files

更新readme

parent 7bbd8639
[submodule "mmclassification-mmcv"]
path = mmclassification-mmcv
url = http://developer.hpccube.com/codes/aicomponent/mmclassification-mmcv
# SeResnet50
## 论文
Squeeze-and-Excitation Networks
- https://arxiv.org/pdf/1709.01507.pdf
## 模型介绍
SE-ResNet50是一种基于残差网络(ResNet)和注意力机制(SE)的深度卷积神经网络模型,是由微软亚洲研究院提出的,是一种高效、快速、准确的图像分类模型,具有广泛的应用前景。
## 模型结构
![20231124110818](./images/20231124110818.png)
Seresnet50的整体结构包括基础网络部分和Squeeze-and-Excitation(SE)模块。下面是该模型的详细结构
## 模型结构
1. 基础网络部分:Seresnet50的基础网络部分是一个深度为50层的卷积神经网络,由5个卷积块组成。每个卷积块中包含多个卷积层和一个池化层。该网络的输入是一张图片,输出是一个向量,表示图片的类别
Seresnet50的整体结构包括基础网络部分和Squeeze-and-Excitation(SE)模块
2. Squeeze-and-Excitation(SE)模块:SE模块在每个卷积块的最后一层添加。这个模块可以自适应地调整每个通道的权重,以便更好地捕捉有意义的特征。它包括两个步骤:
![20231124111112](./images/20231124111112.png)
- Squeeze操作:将卷积块的输出通过全局平均池化层(average pooling)压缩成一个1x1xC的向量(C是输出通道数)。
## 环境配置
- Excitation操作:将这个向量作为输入,传递到两个全连接层中进行处理,并使用sigmoid函数进行激活,生成一个1x1xC的权重向量。然后将这个权重向量应用于原始输出,以使网络更好地学习数据集的特定特征。
### Docker
3. Residual Connection:在每个卷积块中,Seresnet50使用残差连接技术,将输入信息直接传递到后续层中。
```python
git clone --recursive http://developer.hpccube.com/codes/modelzoo/seresnet50_mmcv.git
docker pull image.sourcefind.cn:5000/dcu/admin/base/pytorch:1.10.0-centos7.6-dtk-22.10.1-py37-latest
# <your IMAGE ID>用以上拉取的docker的镜像ID替换
docker run --shm-size 10g --network=host --name=nit-pytorch --privileged --device=/dev/kfd --device=/dev/dri --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -v $PWD/Seresnet50_mmcv :/home/Seresnet50_mmcv -it <your IMAGE ID> bash
总体来说,Seresnet50模型结构包括深度为50层的卷积神经网络,每个卷积块包含多个卷积层和一个池化层,以及Squeeze-and-Excitation(SE)模块和Residual Connection技术。
cd Seresnet50_mmcv/mmclassification-mmcv
pip install -r requirements.txt
```
## 数据集
在本测试中可以使用ImageNet数据集。
## SeResnet50训练
### 环境配置
下载工程代码:
http://developer.hpccube.com/codes/aicomponent/mmclassification-mmcv.git
提供[光源](https://www.sourcefind.cn/#/service-details)拉取的训练的docker镜像:
* 训练镜像:docker pull image.sourcefind.cn:5000/dcu/admin/base/pytorch:1.10.0-centos7.6-dtk-22.10.1-py37-latest
* pip install -r requirements.txt
* cd mmclassification
* pip install -e .
```
├── meta
├── train
├── val
```
### 训练
将训练数据解压到data目录下。
训练命令:
### 单机8卡
./seresnet50.sh
## 准确率数据
## 精度
测试数据使用的是ImageNet数据集,使用的加速卡是DCU Z100L。
......@@ -55,9 +58,23 @@ http://developer.hpccube.com/codes/aicomponent/mmclassification-mmcv.git
| :--: | :---------------------: |
| 8 | top1:0.7754;top5:0.9373 |
## result
![img](https://developer.hpccube.com/codes/modelzoo/vit_pytorch/-/raw/master/image/README/1695381570003.png)
## 应用场景
### 算法类别
图像分类
### 热点行业
制造,能源,交通,网安
### 源码仓库及问题反馈
https://developer.hpccube.com/codes/modelzoo/seresnet50-mmcv
https://developer.hpccube.com/codes/modelzoo/seresnet50_mmcv
### 参考
......
Subproject commit 0f6a312ab4b30c6e27efd93608268fe0fe3f7dcc
# 模型唯一标识
modelCode = 129
# 模型名称
modelName=Seresnet50-mmcv
modelName=Seresnet50_mmcv
# 模型描述
modelDescription=Seresnet50是一种基于残差网络和注意力机制的深度卷积神经网络模型,基于MMCV实现测试
# 应用场景
appScenario=训练,图像分类
appScenario=训练,图像分类,制造,能源,交通,网安
# 框架类型
frameType=PyTorch,MMCV
frameType=pytorch,mmcv
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment