---
title: ICNet_ID1781-PyTorch-模型库-ModelZoo-昇腾社区
description: 生态贡献模型
keywords: ICNet,ID,PyTorch,模型库,ModelZoo,昇腾社区,概述,简述
url: https://www.hiascend.com/software/modelzoo/models/detail/3aca3cc45e394409b96c9bc803e75e1e
section: (其他)
---

# ICNet_ID1781-PyTorch-模型库-ModelZoo-昇腾社区

URL: https://www.hiascend.com/software/modelzoo/models/detail/3aca3cc45e394409b96c9bc803e75e1e
描述: 生态贡献模型
关键词: ICNet,ID,PyTorch,模型库,ModelZoo,昇腾社区,概述,简述

ModelZoo主页

主页 [了解详情](https://www.hiascend.com/software/modelzoo)大模型 [了解详情](https://www.hiascend.com/software/modelzoo/big-models)模型库 [了解详情](https://www.hiascend.com/software/modelzoo/models)工具库 [了解详情](https://www.hiascend.com/software/modelzoo/tools)权重库 [了解详情](https://www.hiascend.com/software/modelzoo/datasets)ModelShow [了解详情](https://www.hiascend.com/software/modelzoo/modelshow)DeepSeek专区HOT [了解详情](https://www.hiascend.com/developer/deepseek)文档中心 [了解详情](https://www.hiascend.com/document/detail/zh/ModelZoo/Documentation/overview/overview_0001.html)论坛交流 [了解详情](https://www.hiascend.com/forum/forum-0140120119986591009-1.html)

主页 [了解详情](https://www.hiascend.com/software/modelzoo)大模型 [了解详情](https://www.hiascend.com/software/modelzoo/big-models)模型库 [了解详情](https://www.hiascend.com/software/modelzoo/models)工具库 [了解详情](https://www.hiascend.com/software/modelzoo/tools)权重库 [了解详情](https://www.hiascend.com/software/modelzoo/datasets)ModelShow [了解详情](https://www.hiascend.com/software/modelzoo/modelshow)DeepSeek专区HOT [了解详情](https://www.hiascend.com/developer/deepseek)文档中心 [了解详情](https://www.hiascend.com/document/detail/zh/ModelZoo/Documentation/overview/overview_0001.html)论坛交流 [了解详情](https://www.hiascend.com/forum/forum-0140120119986591009-1.html)

模型库 [了解详情](https://www.hiascend.com/software/modelzoo/models)

ICNet_ID1781-PyTorch

## ICNet_ID1781-PyTorch

视觉分割PyTorch训练110次浏览2023/08/20更新

5.0

查看模型源码

ICNet_ID1781-PyTorch

查看模型源码

模型使用

版本信息

模型使用

版本信息

...

# 概述

## 简述

ICNet是一个基于PSPNet的实时语义分割网络，设计目的是减少PSPNet推断时期的耗时，在PSPNet的基础上引入级联特征融合模块，实现快速且高质量的分割模型。在Cityscapes数据集上进行了相关实验。

- 参考实现：

```
url=https://github.com/hszhao/ICNet.git
commit_id=dd2bf78ff3f9ff05f6d35c40a3ee216158d9e892
```
- 适配昇腾 AI 处理器的实现：

```
url=https://gitee.com/ascend/ModelZoo-PyTorch.git
code_path=PyTorch/contrib/cv/semantic_segmentation
```
- 通过Git获取代码方法如下：

```
git clone {url}       # 克隆仓库的代码
cd {code_path}        # 切换到模型代码所在路径，若仓库下只有该模型，则无需切换
```
- 通过单击“立即下载”，下载源码包。

# 准备训练环境

## 准备环境

- 当前模型支持的固件与驱动、 CANN 以及 PyTorch 如下表所示。

表 1版本配套表

| 配套 | 版本 |
| --- | ---|
| 固件与驱动 | 5.1.RC2 |
| CANN | 5.1.RC2 |
| PyTorch | 1.8.1 |
- 环境准备指导。

请参考《Pytorch框架训练环境准备 [了解详情](https://www.hiascend.com/document/detail/zh/ModelZoo/pytorchframework/ptes)》。
- 安装依赖。

```
pip install -r requirements.txt
```

## 准备数据集

1. 获取数据集。

用户自行获取原始数据集，可选用的开源数据集包括Cityscapes等，将数据集上传到服务器任意路径下并解压。

以Cityscapes数据集为例，数据集目录结构参考如下所示。

```
├── cityscapes
      ├── gtFine
           ├── train
           ├── val
           └── test
      ├── leftImg8bit
           ├── train
           ├── val
           └── test
```

说明：该数据集的训练过程脚本只作为一种参考示例。

# 开始训练

## 训练模型

1. 进入解压后的源码包根目录。

```
cd /${模型文件夹名称} 
```
2. 运行训练脚本。

该模型支持单机单卡训练和单机8卡训练。

- 单机单卡训练

启动单卡训练。

```
bash ./test/train_full_1p.sh --data_path=/data/xxx/
```
- 单机8卡训练

启动8卡训练。

```
bash ./test/train_full_8p.sh --data_path=/data/xxx/
```

--data_path参数填写数据集路径。

模型训练脚本参数说明如下。

```
公共参数：
--cityscapes_root                   //数据集路径
--name                              //使用模型，默认：icnet
--backbone                          //使用模型主干，默认：resnet50
--base_size                         //图像数据处理最小边长，默认：1024
--crop_size                         //图像数据处理裁剪边长，默认：960
--epochs                            //重复训练次数，默认：200
--train_batch_size                  //训练批次大小，默认：16
--valid_batch_size                  //测试批次大小，默认：16
--init_lr                           //初始学习率，默认：0.01
--momentum                          //动量，默认：0.9
--weight_decay                      //权重衰减，默认：0.0001
多卡训练参数：
--is_distributed                    //是否使用多卡训练
```

训练完成后，权重文件保存在当前路径下，并输出模型训练精度和性能信息。

# 训练结果展示

表 2训练结果展示表

| NAME | mIoU | FPS | Epochs | AMP_Type |
| --- | --- | --- | --- | ---|
| 官方源码 | 68.4 | - | 200 | - |
| 1p-竞品(GPU) | - | 9.3 | - | - |
| 1p-NPU-ms1.5 | - | 6.0 | - | - |
| 1p-NPU-ms1.8 | - | 10.1 | - | - |
| 8p-竞品(GPU) | 68.3 | 83 | 200 | - |
| 8p-NPU-ms1.5 | 68.1 | 81 | 200 | O1 |
| 8p-NPU-ms1.8 | 68.9 | 147.2 | 200 | O1 |

# 版本说明

## 变更

2022.08.14：更新pytorch1.8版本，重新发布。

2020.03.08：首次发布。

## 已知问题

一、精度无法达到官网指标

- 说明

- 官网中，模型指标标注的是mIoU 71%，但是实测结果只有68.4%，无法达到官网指标。
官网参考Base version of the model fromthe paper author's code on Github [了解详情](https://github.com/liminn/ICNet-pytorch).
- GPU-8p精度对齐过程，通过调整超参，最终精度和最优精度分别如下：

| batch_size | lr | loss_scale | opt_level | final mIoU | best mIoU |
| --- | --- | --- | --- | --- | ---|
| 16 | 0.06 | 128 | O1 | 68.1 | 68.7 |
| 16 | 0.08 | 128 | O1 | 68.3 | 68.6 |
| 16 | 0.1 | 128 | O1 | 67.7 | 68.6 |
| 16 | 0.08 | 128 | O2 | 67.7 | 68.0 |

- NPU-8p精度对齐过程，通过调整超参，最终精度和最优精度分别如下：

| batch_size | lr | loss_scale | opt_level | final mIoU | best mIoU |
| --- | --- | --- | --- | --- | ---|
| 16 | 0.08 | 32 | O1 | 67.6 | 68.0 |
| 16 | 0.1 | 32 | O1 | 68.1 | 68.3 |
| 16 | 0.11 | 32 | O1 | 67.9 | 68.4 |
| 16 | 0.12 | 32 | O1 | 67.0 | 67.5 |
| 16 | 0.1 | 32 | O2 | 66.5 | 67.0 |
| 16 | 0.1 | 128 | O1 | 67.0 | 67.4 |

# 公网地址说明

代码涉及公网地址参考 public_address_statement.md

| 版本 | 更新时间 | 精度 | 处理器 | CANN版本 | 操作 |
| --- | --- | --- | --- | --- | ---|
| 5.0.RC1 | 2023/08/20 | Mixed | Ascend 910 | 6.3.RC1 | modelzoomodelzoo |

使用模型资源和服务前，请您仔细阅读并理解透彻《昇腾深度学习模型许可协议 3.0》 [了解详情](https://www.hiascend.com/legal/modelzoo_models_license)
