主要内容

初始化

初始化可学习参数和状态参数dlnetwork

    描述

    例子

    提示

    大多数dlnetwork对象默认初始化。您只需要手动初始化dlnetwork如果未初始化。属性检查网络是否已初始化初始化财产的dlnetwork对象。

    dlnet=初始化(dlnet初始化的任何未设置的可学习参数和状态值dlnet基于网络输入层定义的输入大小。任何已经包含值的可学习或状态参数保持不变。

    具有未设置的、可学习值和状态参数为空值的网络为未初始化.必须初始化未初始化的对象dlnetwork在你使用它之前。默认情况下,dlnetwork对象是用初始参数构造的,不需要初始化。

    例子

    dlnet=初始化(dlnetdlX1,…,dlXn初始化的任何未设置的可学习参数和状态值dlnet基于示例的网络输入dlX1,…,dlXn.当网络有未连接到输入层的输入时使用此语法。

    例子

    全部折叠

    使用初始化函数初始化dlnetwork对象,该对象包含输入层。

    定义网络层。

    [imageInputLayer([28 28 1],]),“归一化”“没有”“名字”“在”20岁的)convolution2dLayer (5“名字”“conv”) batchNormalizationLayer (“名字”bn的) reluLayer (“名字”“relu”) fullyConnectedLayer (10“名字”“俱乐部”) softmaxLayer (“名字”“sm”));

    创建一个未初始化的dlnetwork.设置初始化名称-值选项为false。

    dlnet = dlnetwork(层,“初始化”、假);

    检查卷积层的可学习参数。

    dlnet.Learnables.Value (dlnet.Learnables.Layer = =“conv”
    Ans = {0×0 double} {0×0 double}

    由于网络没有初始化,所以卷积层的可学习参数为空。

    用初值初始化网络的可学习参数。

    dlnet =初始化(dlnet);

    初始化后检查卷积层的可学习参数。

    dlnet.Learnables.Value (dlnet.Learnables.Layer = =“conv”
    Ans = {5×5×1×20 dlarray} {1×1×20 dlarray}

    卷积层的可学习参数现在根据输入数据的大小初始化适当大小的初始值。

    检查网络是否已初始化并准备好进行培训。

    dlnet。初始化
    ans = 1

    使用初始化函数初始化多个输入dlnetwork对象,该对象包含一个输入层和一个未连接的输入。

    定义网络架构。建立一个有两个分支的网络。网络有两个输入,每个分支有一个输入。第一个分支包含输入层,而第二个分支不包含。使用添加层连接分支。

    numFilters = 24;inputSize = [64 64 3];layerbranch1 = [imageInputLayer(inputSize,“归一化”“没有”“名字”“在”) convolution2dLayer(3、6 * numFilters,“填充”“相同”“步”2,“名字”“conv1Branch1”) groupNormalizationLayer (所有渠道的“名字”“gn1Branch1”) reluLayer (“名字”“relu1Branch1”) convolution2dLayer (3 numFilters“填充”“相同”“名字”“conv2Branch1”) groupNormalizationLayer (“channel-wise”“名字”“gn2Branch1”) additionLayer (2“名字”“添加”) reluLayer (“名字”“reluCombined”) fullyConnectedLayer (10“名字”“俱乐部”) softmaxLayer (“名字”“sm”));layersBranch2 =[卷积2dlayer (1,numFilters,“名字”“convBranch2”) groupNormalizationLayer (所有渠道的“名字”“gnBranch2”));lgraph = layerGraph (layersBranch1);lgraph = addLayers (lgraph layersBranch2);lgraph = connectLayers (lgraph,“gnBranch2”“添加/ in2”);

    将网络转换为dlnetwork.构建dlnetwork对象,如果不具有可学习参数和状态参数的初始值,则设置初始化名称-值选项为false..

    dlnet = dlnetwork (lgraph,“初始化”、假);

    检查网络第一分支中第二组归一化层的可学习参数。

    dlnet.Learnables.Value (dlnet.Learnables.Layer = =“gn2Branch1”
    Ans = {0×0 double} {0×0 double}

    由于网络没有初始化,这一层的可学习参数是空的。

    检查网络输入顺序。

    dlnet。InputNames
    ans = 1×2 cell 'in' 'convBranch2'

    创建与典型网络输入相同大小和格式的示例输入数据。使用尺寸为64 × 64的输入示例,其中3个通道用于输入层的输入.使用尺寸为64 × 64的输入,18个通道用于未连接到该层的输入convBranch2

    dlX1 = dlarray(兰德(inputSize),“SSCB”);dlX2 = dlarray(rand([32 32 18]),“SSCB”);

    使用示例输入初始化网络的可学习参数。

    dlnet =初始化(dlnet dlX1 dlX2);

    初始化后检查卷积层的可学习参数。

    dlnet.Learnables.Value (dlnet.Learnables.Layer = =“gn2Branch1”
    Ans = {1×1×24 dlarray} {1×1×24 dlarray}

    卷积层的可学习参数现在根据输入数据的大小初始化适当大小的初始值。

    使用初始化属性,以检查网络是否已初始化并准备好进行训练。

    dlnet。初始化
    ans = 1

    输入参数

    全部折叠

    未初始化的网络,指定为dlnetwork对象。

    示例网络输入,指定为dlarray对象。

    示例输入必须格式化dlarray对象。控件指定的顺序提供示例输入InputNames输入网络的性质。

    输出参数

    全部折叠

    初始化网络,返回为dlnetwork对象。

    介绍了R2021a