共计 1728 个字符,预计需要花费 5 分钟才能阅读完成。
背景介绍
AlexNet 是深度学习发展史上的里程碑模型,2012 年以显著优势赢得 ImageNet 竞赛,开创了卷积神经网络(CNN)在计算机视觉领域的统治地位。MATLAB 提供的 Deep Learning Toolbox Model for AlexNet Network 支持包,让我们能直接调用这个经典模型,省去从零训练的时间成本,特别适合快速验证图像分类任务的可行性。

环境准备
支持包安装步骤
- 打开 MATLAB,点击顶部菜单栏的 ” 主页 ” 选项卡
- 在右侧找到并点击 ” 附加功能 ” 按钮(图标为 +∞)
- 在搜索框中输入 ”AlexNet”,选择 ”Deep Learning Toolbox Model for AlexNet Network”
- 点击安装按钮,等待下载完成(约 230MB)
如果网络环境特殊,也可以手动下载支持包:
- 访问 MathWorks 官网的 ”File Exchange” 板块
- 搜索 ”AlexNet” 找到对应支持包
- 下载.mltbx 文件后双击安装
核心对比
两种加载方式对比
| 参数设置 | 内存占用 | 计算速度 | 适用场景 |
|---|---|---|---|
| alexnet() | 较高 | 较快 | 直接使用预训练特征 |
| alexnet(‘weights’,’none’) | 很低 | 慢 | 自定义网络结构训练起点 |
预训练版本会加载在 ImageNet 上训练好的权重,适合迁移学习(Transfer Learning);而空权重版本适合作为网络架构模板,需要从头开始训练。
实战演示
完整图像分类示例
% 加载预训练模型(两种方式任选)net = alexnet; % 方式一:使用预训练权重
% net = alexnet('weights','none'); % 方式二:空权重
% 输入数据预处理
img = imread('peppers.png');
inputSize = net.Layers(1).InputSize; % 获取模型要求的输入尺寸
imgResized = imresize(img, [inputSize(1), inputSize(2)]); % 调整尺寸
imgProcessed = double(imgResized) - net.meanImage; % 减去均值(重要!)% 执行推理
[label, scores] = classify(net, imgProcessed);
% 结果可视化
figure
imshow(img)
title(['预测结果:' char(label)]);
关键点说明:
net.meanImage是 MATLAB 内置的均值处理参数,不同预训练模型值不同- 输入图像必须处理为 227×227×3 的 RGB 格式
- classify 函数会自动进行 softmax 处理得到概率分布
避坑指南
-
CUDA 驱动问题
报错:”Expected CUDA compatible device”
解决:更新 NVIDIA 驱动至最新版,或改用 CPU 模式:net = alexnet('ExecutionEnvironment','cpu'); -
图像尺寸不符
报错:”Input size must match net input size”
解决:必须严格调整为 227×227 像素,建议使用 imresize 函数 -
颜色通道错误
现象:灰度图分类准确率异常
解决:灰度图需通过 cat 函数扩展为伪 RGB:imgRGB = cat(3, imgGray, imgGray, imgGray);
扩展思考
该方法可推广到其他经典模型:
-
VGG 系列
替换为vgg16()或vgg19(),注意输入尺寸变为 224×224 -
ResNet 系列
使用resnet50()等函数,需要额外安装对应的支持包 -
自定义改造
通过layerGraph函数可以截取 AlexNet 的前几层作为特征提取器
动手实践建议
- 尝试用
augmentedImageDatastore实现批量图像预处理 - 对比不同插值方法对分类效果的影响(imresize 的 ’method’ 参数)
- 可视化第一个卷积层的滤波器权重:
weights = net.Layers(2).Weights; montage(rescale(weights(:,:,:,1:16)))
通过本文的实践,你已掌握预训练模型的核心使用方法。接下来可以尝试:
– 用迁移学习微调(Fine-tune)最后几层
– 将 AlexNet 作为特征提取器接入其他机器学习模型
– 探索 MATLAB 支持的更多深度学习应用(如目标检测、语义分割等)
