Main Content

googlenet

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

  • GoogLeNet network architecture

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

说明

GoogLeNet 是深度为 22 层的卷积神经网络。您可以加载基于 ImageNet [1] 或 Places365 [2] [3] 数据集训练的网络的预训练版本。基于 ImageNet 训练的网络将图像分类至 1000 个目标类别(例如键盘、鼠标、铅笔和多种动物)。基于 Places365 训练的网络类似于基于 ImageNet 训练的网络,但将图像分为 365 个不同位置类别,例如田野、公园、跑道和大厅。这些网络已基于大量图像学习了不同特征表示。这两个预训练网络的图像输入大小都为 224×224。有关 MATLAB® 中预训练网络的详细信息,请参阅预训练的深度神经网络

示例

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

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

net = googlenet('Weights',weights) 返回一个基于 ImageNet 或 Places365 数据集训练的 GoogLeNet 网络。语法 googlenet('Weights','imagenet')(默认值)等效于 googlenet

基于 ImageNet 训练的网络需要 Deep Learning Toolbox Model for GoogLeNet Network 支持包。基于 Places365 训练的网络需要 Deep Learning Toolbox Model for Places365-GoogLeNet Network 支持包。如果未安装必需的支持包,则函数会提供下载链接。

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

示例

全部折叠

下载并安装 Deep Learning Toolbox Model for GoogLeNet Network 支持包。

在命令行中键入 googlenet

googlenet

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

googlenet
ans = 

  DAGNetwork with properties:

         Layers: [144×1 nnet.cnn.layer.Layer]
    Connections: [170×2 table]

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

deepNetworkDesigner(googlenet)

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

Deep Network Designer start page showing available pretrained neural networks

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

输入参数

全部折叠

网络参数的来源,指定为 'imagenet''places365''none'

  • 如果 weights 等于 'imagenet',则网络具有基于 ImageNet 数据集训练的权重。

  • 如果 weights 等于 'places365',则网络具有基于 Places365 数据集训练的权重。

  • 如果 weights 等于 'none',则返回未经训练的网络架构。

示例: 'places365'

输出参量

全部折叠

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

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

参考

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

[2] Zhou, Bolei, Aditya Khosla, Agata Lapedriza, Antonio Torralba, and Aude Oliva. "Places: An image database for deep scene understanding." arXiv preprint arXiv:1610.02055 (2016).

[3] Places. http://places2.csail.mit.edu/

[4] Szegedy, Christian, Wei Liu, Yangqing Jia, Pierre Sermanet, Scott Reed, Dragomir Anguelov, Dumitru Erhan, Vincent Vanhoucke, and Andrew Rabinovich. "Going deeper with convolutions." In Proceedings of the IEEE conference on computer vision and pattern recognition, pp. 1-9. 2015.

扩展功能

版本历史记录

在 R2017b 中推出

全部折叠

R2024a: 不推荐

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

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

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

不推荐推荐
net = googlenet;net = imagePretrainedNetwork("googlenet");
net = googlenet(Weights="places365");net = imagePretrainedNetwork("googlenet-places365")
net = googlenet(Weights="none");net = imagePretrainedNetwork("googlenet",Weights="none");

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

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

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

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

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

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