Main Content

squeezenet

(不推荐)SqueezeNet 卷积神经网络

  • SqueezeNet network architecture

不建议使用 squeezenet。请改用 imagePretrainedNetwork 函数。有关详细信息,请参阅版本历史记录

说明

SqueezeNet 是深度为 18 层的卷积神经网络。您可以从 ImageNet 数据库 [1] 中加载该网络的预训练版本,该版本基于 ImageNet 数据库的超过一百万个图像进行训练。该预训练网络可以将图像分类至 1000 个目标类别(例如键盘、鼠标、铅笔和多种动物)。因此,该网络已基于大量图像学习了丰富的特征表示。此函数返回一个 SqueezeNet v1.1 网络,它具有与 SqueezeNet v1.0 相似的准确度,但每次预测需要更少的浮点运算 [3]。该网络的图像输入大小为 227×227。有关 MATLAB® 中预训练网络的详细信息,请参阅预训练的深度神经网络

示例

net = squeezenet 返回基于 ImageNet 数据集训练的 SqueezeNet 网络。

net = squeezenet('Weights','imagenet') 返回基于 ImageNet 数据集训练的 SqueezeNet 网络。此语法等效于 net = squeezenet

lgraph = squeezenet('Weights','none') 返回未经训练的 SqueezeNet 网络架构。

示例

全部折叠

加载一个预训练的 SqueezeNet 网络。

net = squeezenet
net = 

  DAGNetwork with properties:

         Layers: [68×1 nnet.cnn.layer.Layer]
    Connections: [75×2 table]

此函数返回一个 DAGNetwork 对象。

SqueezeNet 包含在 Deep Learning Toolbox™ 中。要加载其他网络,请使用 googlenet 等函数来获取链接,以便从附加功能资源管理器下载预训练网络。

输出参量

全部折叠

预训练 SqueezeNet 卷积神经网络,以 DAGNetwork 对象形式返回。

未经训练的 SqueezeNet 卷积神经网络架构,以 LayerGraph 对象形式返回。

参考

[1] ImageNet. http://www.image-net.org.

[2] Iandola, Forrest N., Song Han, Matthew W. Moskewicz, Khalid Ashraf, William J. Dally, and Kurt Keutzer. "SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and <0.5 MB model size." Preprint, submitted November 4, 2016. https://arxiv.org/abs/1602.07360.

[3] Iandola, Forrest N. "SqueezeNet." https://github.com/forresti/SqueezeNet.

扩展功能

版本历史记录

在 R2018a 中推出

全部折叠

R2024a: 不推荐

不建议使用 squeezenet。请改用 imagePretrainedNetwork 函数。

目前没有停止支持 squeezenet 函数的计划。但是,imagePretrainedNetwork 函数具有额外的功能,可以帮助执行迁移学习工作流。例如,您可以使用 numClasses 选项指定数据中的类数量,该函数将返回一个无需进行修改即可用于重新训练的网络。

imagePretrainedNetwork 函数返回该网络作为 dlnetwork 对象,该对象不存储类名称。要获取预训练网络的类名称,请使用 imagePretrainedNetwork 函数的第二个输出参量。

下表显示了 squeezenet 函数的一些典型用法,以及如何更新您的代码以改用 imagePretrainedNetwork 函数。

不推荐推荐
net = squeezenet;[net,classNames] = imagePretrainedNetwork;
net = squeezenet(Weights="none");net = imagePretrainedNetwork(Weights="none");

imagePretrainedNetwork 返回一个 dlnetwork 对象,该对象也具有以下优点:

  • dlnetwork 对象是一种统一的数据类型,支持网络构建、预测、内置训练、可视化、压缩、验证和自定义训练循环。

  • dlnetwork 对象支持更广泛的网络架构,您可以创建或从外部平台导入这些网络架构。

  • trainnet 函数支持 dlnetwork 对象,这使您能够轻松指定损失函数。您可以从内置损失函数中进行选择或指定自定义损失函数。

  • 使用 dlnetwork 对象进行训练和预测通常比使用 LayerGraphtrainNetwork 工作流更快。

要训练指定为 dlnetwork 对象的神经网络,请使用 trainnet 函数。