keras冻结_使用预训练的卷积神经网络__keras实现VGG16

VGG16内置于Keras,可以通过keras.applications模块中导入。

--------------------------------------------------------将VGG16 卷积实例化:-------------------------------------------------------------------------------------------------------------------------------------

1 from keras.applications importVGG162

3 conv_base = VGG16(weights = ‘imagenet‘,#指定模型初始化的权重检查点4 include_top =False,5 input_shape = (150,150,30))

weights:指定模型初始化的权重检查点、

include_top:指定模型最后是否包含密集连接分类器。默认情况下,这个密集连接分类器对应于ImageNet的100个类别。如果打算使用自己的密集连接分类器,可以不适用它,置为False。

input_shape:是输入到网络中的图像张量的形状。这个参数完全是可选的,如果不传入这个参数,那么网络能够处理任意形状的输入。

--------------------------------------------------------查看VGG详细架构:conv_base.summary()----------------------------------------------------------------------------------------------------------

20181114213029023198.png

最后一特征图形状为(4,4,512),我们将在这个特征上添加一个密集连接分类器,有两种方式:

在你的数据集上运行卷积基,将输出保存为numpy数组,然后用这个数据做输入,输入到独立的密集连接分类器中。这种方法速度快,计算代价低,因为对于每个输入图像只需运行一次卷积基,而卷积基是日前流程中计算代价最高的。但这种方法不允许使用数据增强。

在顶部添加Dense层来扩展已有模型,并在输入数据上端到端地运行整个模型。这样你可以使用数据增强,因为每个输入图像进入模型时都会经过卷积基。但这种方法的计算代价比第一种要高很多。

#方法一:不使用数据增强的快速特征提取

importosimportnumpy as npfrom keras.preprocessing.image imp

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
微调预训练好的卷积神经网络(VGG)是指在已经训练好的VGG网络基础上,通过对新数据进行进一步训练和优化,使其适应于新的任务。在识别十类猴子的数据下载中,可以采取以下步骤进行微调预训练好的VGG网络。 首先,我们需要下载并准备好猴子数据集。这个数据集应该包括十类不同种类的猴子图像,可以通过搜索猴子图像数据集来获取。确保每个类别都有充足的训练样本,通常每个类别至少有几百个样本。 接下来,我们需要导入预训练好的VGG网络模型。在机器学习库中,如Keras或PyTorch,可以从官方网站或通过命令行指令下载VGG网络的预训练权重。加载该预训练模型后,我们可以通过调用网络的各个来查看其结构。 然后,我们将导入并标记猴子图像数据集。这包括将图像文件读取、解码和调整大小,以充分满足VGG网络的输入要求。我们还需要创建标签,给每个图像分配与其对应的猴子类别标签。 接下来,我们需要冻结VGG网络的前几个,并在其之上添加新的全连接。这些全连接的数量和大小应该根据具体需求和数据集大小进行调整。这些将用于将VGG网络的特征提取器与新任务的分类器结合起来。 在添加了新的全连接后,我们需要定义网络的损失函数和优化器。常见的选择是交叉熵损失函数和随机梯度下降(SGD)优化器,但根据具体情况可以选择其他合适的损失函数和优化器。 最后,我们可以使用新的猴子数据集来微调VGG网络。这包括通过反向传播和梯度下降来更新网络的权重,并在迭代过程中逐渐减少损失。根据数据集的大小和计算资源的限制,我们可以选择合适的迭代次数和批处理大小。 通过上述步骤,我们可以将预训练好的VGG网络应用于十类猴子数据识别任务,并通过微调优化网络性能,以获得更准确的猴子分类结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值