Main Content

inceptionv3

(不推荐)Inception-v3 卷积神经网络

  • Inception-v3 network architecture

不建议使用 inceptionv3。请改用 imagePretrainedNetwork 函数并指定 "inceptionv3" 模型。有关详细信息,请参阅版本历史记录

说明

Inception-v3 是深度为 48 层的卷积神经网络。您可以从 ImageNet 数据库 [1] 中加载该网络的预训练版本,该版本基于 ImageNet 数据库的超过一百万个图像进行训练。该预训练网络可以将图像分类至 1000 个目标类别(例如键盘、鼠标、铅笔和多种动物)。因此,该网络已基于大量图像学习了丰富的特征表示。该网络的图像输入大小为 299×299。有关 MATLAB® 中预训练网络的详细信息,请参阅预训练的深度神经网络

示例

net = inceptionv3 返回基于 ImageNet 数据库训练的 Inception-v3 网络。

此函数需要 Deep Learning Toolbox™ Model for Inception-v3 Network 支持包。如果未安装此支持包,则函数会提供下载链接。

net = inceptionv3('Weights','imagenet') 返回基于 ImageNet 数据库训练的 Inception-v3 网络。此语法等效于 net = inceptionv3

lgraph = inceptionv3('Weights','none') 返回未经训练的 Inception-v3 网络架构。未经训练的模型不需要支持包。

示例

全部折叠

下载并安装 Deep Learning Toolbox Model for Inception-v3 Network 支持包。

在命令行中键入 inceptionv3

inceptionv3

如果未安装 Deep Learning Toolbox Model for Inception-v3 Network 支持包,该函数将在附加功能资源管理器中提供所需支持包的链接。要安装支持包,请点击链接,然后点击安装。通过在命令行中键入 inceptionv3 来检查安装是否成功。如果安装了所需的支持包,则该函数返回 DAGNetwork 对象。

inceptionv3
ans = 

  DAGNetwork with properties:

         Layers: [316×1 nnet.cnn.layer.Layer]
    Connections: [350×2 table]

使用深度网络设计器可视化网络。

deepNetworkDesigner(inceptionv3)

通过点击新建,在深度网络设计器中浏览其他预训练神经网络。

Deep Network Designer start page showing available pretrained neural networks

如果需要下载一个神经网络,请在所需的神经网络上暂停,然后点击安装以打开附加功能资源管理器。

输出参量

全部折叠

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

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

参考

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

[2] Szegedy, Christian, Vincent Vanhoucke, Sergey Ioffe, Jon Shlens, and Zbigniew Wojna. "Rethinking the inception architecture for computer vision." In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 2818-2826. 2016.

扩展功能

版本历史记录

在 R2017b 中推出

全部折叠

R2024a: 不推荐

不建议使用 inceptionv3。请改用 imagePretrainedNetwork 函数,并将 "inceptionv3" 指定为模型。

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

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

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

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

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

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

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

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

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

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