主要内容

removeParameter

删除参数onnxparameters.目的

    描述

    例子

    params = Removeparameter(参数姓名的)删除指定的参数姓名onnxparameters.目的参数

    例子

    全部收缩

    导入ONNX格式的网络作为函数,修改网络参数。

    导入pretrainedsimpleenet3fc.onnx.网络作为函数。simperenet3fc.是一个简单的卷积神经网络训练的数字图像数据。有关如何创建类似的网络的更多信息simperenet3fc., 看创建简单的图像分类网络

    进口simpleenet3fc.onnx.使用importonnxfunction.,它返回一个onnxparameters.包含网络参数的对象。该函数还在包含网络架构的当前文件夹中创建一个新的模型函数。指定模型函数的名称simplenetFcn

    params = importonnxfunction(“simplenet3fc.onnx”'simplenetfcn');
    包含导入的Onnx网络的函数已保存到文件simpleenetfcn.m文件中。要了解如何使用此功能,请键入:帮助simplenetfcn。

    显示在培训期间更新的参数(参数个数。可学的)和在培训期间保持不变的参数(params.nonlearnables.)。

    参数个数。可学的
    ANS =.结构体字段:imageinput_Mean:[1×1 dlarray] conv_W:[5×5×1×20 dlarray] conv_B:[20×1 dlarray] batchnorm_scale:[20×1 dlarray] batchnorm_B:[20×1 dlarray] fc_1_W:[24×24×20×20 dlarray] fc_1_B:[20×1 dlarray] fc_2_W:[1×1×20×20 dlarray] fc_2_B:[20×1 dlarray] fc_3_W:[1×1×20×10 dlarray] fc_3_B:[10×1 dlarray]
    params.nonlearnables.
    ANS =.结构体字段:ConvStride1004:[2×1 dlarray] ConvDilationFactor1005:[2×1 dlarray] ConvPadding1006:[4×1 dlarray] ConvStride1007:[2×1 dlarray] ConvDilationFactor1008:[2×1 dlarray] ConvPadding1009:[4×1 dlarray] ConvStride1010:[2×1 dlarray] ConvDilationFactor1011:[2×1 dlarray] ConvPadding1012:[4×1 dlarray] ConvStride1013:[2×1 dlarray] commdilationfactor1014:[2×1 dlarray] convpaddated1015:[4×1 dlarray]

    网络具有表示三个完全连接的图层的参数。查看卷积层的参数FC_1FC_2,FC_3.,打开模型功能simplenetFcn

    打开simplenetFcn

    向下滚动到函数中的层定义simplenetFcn.下面的代码显示了层的定义FC_1FC_2,FC_3.

    %conv:[权重,偏置,阶段,稀释性,填充,dataformat,numdims.fc_1] = prepareConvargs(vars.fc_1_w,vars.fc_1_b,vars.convstride1007,vars.convdilationfactor1008,vars.convpadding1009,1,numdims.relu1001,numdims.fc_1_w);vars.fc_1 = dlconv(vars.relu1001,权重,偏见,'走吧'步,“DilationFactor”,稀释物,'填充',填充,“DataFormat”, dataFormat);%conv:[权重,偏差,步幅,膨胀因子,填充,数据格式,numdim。fc_2] = prepareConvArgs (var。fc_2_W, var。fc_2_B, var。ConvStride1010, var。ConvDilationFactor1011, var。ConvPadding1012 1 NumDims。fc_1 NumDims.fc_2_W);var。FC_2= dlconv(Vars.fc_1, weights, bias,'走吧'步,“DilationFactor”,稀释物,'填充',填充,“DataFormat”, dataFormat);%conv:[权重,偏见,阶段,稀释,填充,dataformat,numdims.fc_3] = prepareConvargs(vars.fc_3_w,vars.fc_3_b,vars.convstrive1013,vars.convdilationfactor1014,vars.convpaddation101014,vars.convpaddation1015,1,numdims.fc_2,numdims.fc_3_w);vars.fc_3 = dlconv(vars.fc_2,权重,偏见,'走吧'步,“DilationFactor”,稀释物,'填充',填充,“DataFormat”, dataFormat);

    您可以删除完全连接图层的参数FC_2以降低计算复杂度。在删除中间层之前,请检查上一层的输出尺寸和下一层的输入尺寸参数.在这种情况下,前一层的输出大小FC_1是20,然后是后续层的输入大小FC_3.也是20。

    删除图层的参数FC_2通过使用removeParameter

    params = Removeparameter(Params,'fc_2_b');params = Removeparameter(Params,“fc_2_W”);params = Removeparameter(Params,'convstride1010');params = Removeparameter(Params,'compdilationfactor1011');params = Removeparameter(Params,'convpadding1012');

    显示更新的可读和非可爱参数。

    参数个数。可学的
    ANS =.结构体字段:imageinput_Mean: [1×1 dlarray] conv_W: [5×5×1×20 dlarray] conv_B: [20×1 dlarray] batchnorm_scale: [20×1 dlarray] batchnorm_B: [20×1 dlarray] fc_1_W: [24×24×20×20 dlarray] fc_1_B: [20×1 dlarray] fc_3_W: [1×1×20×10 dlarray] fc_3_B: [10×1 dlarray]
    params.nonlearnables.
    ANS =.结构体字段:CommonStride1004:[2×1 dlarray] concdilationfactor1005:[2×1 dlarray] convpaddation1006:[4×1 dlarray] commonstride1007:[2×1 dlarray] concdilationfactor1008:[2×1 dlarray] convpaddding1009:[4×1 dlarray] converstride1013:[2×1 dlarray] commdilationfactor1014:[2×1 dlarray] convpaddated1015:[4×1 dlarray]

    修改模型函数的体系结构以反映更改参数因此,您可以使用网络与新参数预测或培训网络。打开模型功能simplenetFcn.然后,删除完全连接的图层FC_2,并更改卷积操作的输入数据dlconv对于层FC_3.Vars.fc_1

    打开simplenetFcn

    下面的代码显示了图层FC_1FC_3.

    %conv:[权重,偏置,阶段,稀释性,填充,dataformat,numdims.fc_1] = prepareConvargs(vars.fc_1_w,vars.fc_1_b,vars.convstride1007,vars.convdilationfactor1008,vars.convpadding1009,1,numdims.relu1001,numdims.fc_1_w);vars.fc_1 = dlconv(vars.relu1001,权重,偏见,'走吧'步,“DilationFactor”,稀释物,'填充',填充,“DataFormat”, dataFormat);%conv:[权重,偏见,阶段,稀释,填充,dataformat,numdims.fc_3] = prepareConvargs(vars.fc_3_w,vars.fc_3_b,vars.convstrive1013,vars.convdilationfactor1014,vars.convpaddation101014,vars.convpaddation1015,1,numdims.fc_2,numdims.fc_3_w);var。FC_3.= dlconv(Vars.fc_1, weights, bias,'走吧'步,“DilationFactor”,稀释物,'填充',填充,“DataFormat”, dataFormat);

    输入参数

    全部收缩

    网络参数,指定为一个onnxparameters.对象。参数包含导入的Onnx™模型的网络参数。

    参数的名称,指定为字符向量或字符串标量。

    例子:'conv2_w'

    例子:'conv2_padding'

    输出参数

    全部收缩

    网络参数,作为一个返回onnxparameters.对象。参数包含更新的网络参数removeParameter

    在R2020B中介绍