You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mindspore/model_zoo/official/cv/alexnet/README_CN.md

6.8 KiB

目录

AlexNet描述

AlexNet是2012年提出的最有影响力的神经网络之一。该网络在ImageNet数据集识别方面取得了显着的成功。

论文 Krizhevsky A, Sutskever I, Hinton G E. ImageNet Classification with Deep ConvolutionalNeural Networks. Advances In Neural Information Processing Systems. 2012.

模型架构

AlexNet由5个卷积层和3个全连接层组成。多个卷积核用于提取图像中有趣的特征从而得到更精确的分类。

数据集

使用的数据集:CIFAR-10

  • 数据集大小175M共10个类、60,000个32*32彩色图像
    • 训练集146M50,000个图像
    • 测试集29.3M10,000个图像
  • 数据格式:二进制文件
    • 注意数据在dataset.py中处理。
  • 下载数据集。目录结构如下:
├─cifar-10-batches-bin
│
└─cifar-10-verify-bin

环境要求

快速入门

通过官方网站安装MindSpore后您可以按照如下步骤进行训练和评估

# 进入脚本目录训练AlexNet
sh run_standalone_train_ascend.sh [DATA_PATH] [CKPT_SAVE_PATH]
# 进入脚本目录评估AlexNet
sh run_standalone_eval_ascend.sh [DATA_PATH] [CKPT_NAME]

脚本说明

脚本及样例代码

├── cv
    ├── alexnet
        ├── README.md                    // AlexNet相关说明
        ├── requirements.txt             // 所需要的包
        ├── scripts
        │   ├──run_standalone_train_gpu.sh             // 在GPU中训练
        │   ├──run_standalone_train_ascend.sh          // 在Ascend中训练
        │   ├──run_standalone_eval_gpu.sh             //  在GPU中评估
        │   ├──run_standalone_eval_ascend.sh          //  在Ascend中评估
        ├── src
        │   ├──dataset.py             // 创建数据集
        │   ├──alexnet.py              // AlexNet架构
        │   ├──config.py            // 参数配置
        ├── train.py               // 训练脚本
        ├── eval.py               //  评估脚本

脚本参数

train.py和config.py中主要参数如下

--data_path到训练和评估数据集的绝对完整路径
--epoch_size总训练轮次
--batch_size训练批次大小
--image_height图像高度作为模型输入
--image_width图像宽度作为模型输入
--device_target实现代码的设备可选值为"Ascend""GPU"
--checkpoint_path训练后保存的检查点文件的绝对完整路径
--data_path数据集所在路径

训练过程

训练

  • Ascend处理器环境运行

    python train.py --data_path cifar-10-batches-bin --ckpt_path ckpt > log 2>&1 &
    # 或进入脚本目录,执行脚本
    sh run_standalone_train_ascend.sh cifar-10-batches-bin ckpt
    

    经过训练后,损失值如下:

    # grep "loss is " log
    epoch: 1 step: 1, loss is 2.2791853
    ...
    epoch: 1 step: 1536, loss is 1.9366643
    epoch: 1 step: 1537, loss is 1.6983616
    epoch: 1 step: 1538, loss is 1.0221305
    ...
    

    模型检查点保存在当前目录下。

  • GPU环境运行

    python train.py --device_target "GPU" --data_path cifar-10-batches-bin --ckpt_path ckpt > log 2>&1 &
    # 或进入脚本目录,执行脚本
    sh run_standalone_train_for_gpu.sh cifar-10-batches-bin ckpt
    

    经过训练后,损失值如下:

    # grep "loss is " log
    epoch: 1 step: 1, loss is 2.3125906
    ...
    epoch: 30 step: 1560, loss is 0.6687547
    epoch: 30 step: 1561, loss is 0.20055409
    epoch: 30 step: 1561, loss is 0.103845775
    

评估过程

评估

在运行以下命令之前,请检查用于评估的检查点路径。

  • Ascend处理器环境运行

    python eval.py --data_path cifar-10-verify-bin --ckpt_path ckpt/checkpoint_alexnet-1_1562.ckpt > eval_log.txt 2>&1 &
    #或进入脚本目录,执行脚本
    sh run_standalone_eval_ascend.sh cifar-10-verify-bin ckpt/checkpoint_alexnet-1_1562.ckpt
    

    可通过"eval_log”文件查看结果。测试数据集的准确率如下

    # grep "Accuracy: " eval_log
    'Accuracy': 0.8832
    
  • GPU环境运行

    python eval.py --device_target "GPU" --data_path cifar-10-verify-bin --ckpt_path ckpt/checkpoint_alexnet-30_1562.ckpt > eval_log 2>&1 &
    #或进入脚本目录,执行脚本
    sh run_standalone_eval_for_gpu.sh cifar-10-verify-bin ckpt/checkpoint_alexnet-30_1562.ckpt
    

    可通过"eval_log”文件查看结果。测试数据集的准确率如下

    # grep "Accuracy: " eval_log
    'Accuracy': 0.88512
    

模型描述

性能

评估性能

参数 Ascend GPU
资源 Ascend 910CPU 2.60GHz, 192核内存755G NV SMX2 V100-32G
上传日期 2020-09-06 2020-09-17
MindSpore版本 0.5.0-beta 0.7.0-beta
数据集 CIFAR-10 CIFAR-10
训练参数 epoch=30, step=1562, batch_size=32, lr=0.002 epoch=30, step=1562, batch_size=32, lr=0.002
优化器 动量 动量
损失函数 Softmax交叉熵 Softmax交叉熵
输出 概率 概率
损失 0.0016 0.01
速度 21毫秒/步 16.8毫秒/步
总时间 17分钟 14分钟
微调检查点 445M .ckpt文件 445M .ckpt文件
脚本 https://gitee.com/mindspore/mindspore/tree/master/model_zoo/official/cv/alexnet https://gitee.com/mindspore/mindspore/tree/master/model_zoo/official/cv/alexnet

随机情况说明

dataset.py中设置了“create_dataset”函数内的种子。

ModelZoo主页

请浏览官网主页