进口挤压
卷积神经网络作为函数和微调预磨阅,通过传输学习,在新的图像集合上进行分类。
此示例使用多个辅助功能。要查看这些函数的代码,请参阅辅助功能.
将新图像解压并作为图像数据存储加载。ImageageAtastore.
根据文件夹名称自动标记图像并将数据存储为ImageageAtastore.
目的。图像数据存储使您能够存储大图像数据,包括不适合内存的数据,并在卷积神经网络的培训期间有效地读取批次的图像。指定迷你批次大小。
此数据集很小,包含75个培训图像。显示一些样本图像。
提取培训集和单热编码分类分类标签。
确定数据中的类数。
挤压
是一个卷积神经网络,从ImageNet数据库中培训超过一百万个图像。因此,该网络已经学习了丰富的特征表示,以获得各种图像。网络可以将图像分为1000个对象类别,例如键盘,鼠标,铅笔和许多动物。
导入pretrained挤压
网络作为函数。
包含导入的OnNX网络的函数已保存到文件SqueezenetFCN.M.要了解如何使用此函数,请键入:帮助squeezenetfcn。
params =具有属性的onnxparameters:学习栏:[1×1结构]非可爱性:[1×1结构]状态:[1×1结构] NumDimensions:[1×1结构] NetworkFunctionName:'Squeezenetfcn'
参数
是一个onnxparameters.
对象,该对象包含网络参数。squeezenetfcn.
是包含网络架构的模型函数。importonnxfunction.
救赎squeezenetfcn.
在当前文件夹中。
计算新培训集上净化网络的分类准确性。
精度非常低。
通过键入显示网络的可读参数参数个数。可学的
.这些参数,例如权重(W.
)和偏见(B.
)的卷积层和全连接层,在训练时由网络更新。在训练过程中,不可学习的参数保持不变。
预训练网络的最后两个可学习参数配置为1000个类。
Conv10_w:[1×1×512×1000 dlarray]
conv10_b:[1000×1 dlarray]
参数CONV10_W.
和CONV10_B.
必须进行微调新的分类问题。通过初始化参数传输参数以对五类进行分类。
冻结网络的所有参数将它们转换为非可爱参数。由于您不需要计算冻结层的渐变,因此冻结许多初始层的重量可以显着加速网络训练。
解冻网络的最后两个参数以将它们转换为可学习参数。
现在网络已准备好进行培训。初始化培训进度情节。
指定培训选项。
训练网络。
微调后计算网络的分类准确性。
辅助功能
本节提供此示例中使用的辅助功能的代码。
这getnetworkaguracy.
功能通过计算分类准确性来评估网络性能。
这modelGradients
功能计算丢失和渐变。
这squeezenetonnx.
函数生成一个ONNX模型挤压
网络。