跳转至

当代人工智能实验三

图像分类及经典 CNN 实现

实验目的:使用多种 CNN 模型进行 MNIST 手写数字识别

实验要求:使用至少 4 种 CNN 架构,其中必须包含 LeNet,AlexNet,ResNet

我在本次实验中,不仅实现了要求的三种 CNN 架构(LeNet,AlexNet,ResNet),而且还额外地实现了三种架构——VGGNet,MobileNet 和 GoogLeNet。

6种架构的具体介绍、实验流程请见实验报告。

运行

安装依赖

进入目录,输入

pip install -r requirements.txt

接下来运行程序,举例:

python main.py --model LeNet --lr 0.001 --device cuda

一定要注意大小写!是LeNet不是lenet ! AlexNet而不是alexnet !!!

运行之后需要等待几秒进行数据载入才能开始训练;可能会看到warn信息(不用管)

参数介绍:

  • 模型名 --model

LeNet(默认参数) AlexNet ResNet VGGNet MobileNet GoogLeNet

  • 训练轮次 --epoch

默认:7次

  • 批大小 --batch_size

默认:128

  • 学习率 --lr

默认:1e-4

  • dropout值 --dropout

默认:0.5

  • 设备 --device

cuda(默认) cpu 注意!如果cuda不支持,则强制转化为cpu