主要内容

pretrainedEncoderNetwork

从预训练的网络创建编码器网络

描述

例子

= pretrainedEncoderNetwork (networkName深度创建编码器网络,,来自一个经过预先训练的网络,networkName.编码器网络执行深度将采样操作。

该功能需要深度学习工具箱™。

例子

outputNames= pretrainedEncoderNetwork(networkName深度也返回名称,outputNames,即直接发生在下采样操作之前的激活层。这些激活对应于特定空间分辨率或尺度下感兴趣的特征。

例子

全部折叠

基于SqueezeNet预训练网络创建一个带有三个下采样操作的编码器。

encoderNet = pretrainedEncoderNetwork(“squeezenet”3)
encoderNet = dlnetwork with properties: Layers: [33x1 nnet.cnn.layer.Layer] Connections: [36x2 table] Learnables: [26x3 table] State: [0x3 table] InputNames: {'data'} OutputNames: {'fire5-concat'} Initialized: 1用summary查看摘要。

显示编码器网络。

analyzeNetwork (encoderNet)

从预先训练的GoogLeNet网络中使用四个下采样操作创建GAN编码器网络。

Depth = 4;[encoder,outputNames] = pretrainedEncoderNetwork(“googlenet”、深度);

确定编码器网络的输入大小。

inputSize = encode . layers (1).InputSize;

通过创建一个样例数据输入,然后调用,确定编码器网络中激活层的输出大小向前,它返回激活。

exampleInput = dlarray(zero (inputSize)),SSC的);exampleOutput = cell(1,length(outputNames));[exampleOutput{:}] = forward(编码器,exampleInput,“输出”, outputNames);

确定解码器块中的通道数量作为每个激活中的第三个通道的长度。

numChannels = cellfun(@(x) size(extractdata(x),3),exampleOutput);numChannels = fliplr(numChannels(1:end-1));

定义一个函数,为一个解码器块创建层数组。

decoderBlock = @(block)[转座体conv2dlayer (2,numChannels(block),“步”2) convolution2dLayer (numChannels(块),“填充”“相同”) reluLayer卷积2dlayer (3,numChannels(block),“填充”“相同”) reluLayer);

创建解码器模块,其上采样块的数量与编码器模块中的下采样块的数量相同。

decoder = blockedNetwork(decoderBlock,depth);

通过连接编码器模块和解码器模块并添加跳过连接来创建U-Net网络。

net = encoderDecoderNetwork([224 224 3],编码器,解码器,...“OutputChannels”3,“SkipConnections”“连接”
net = dlnetwork with properties: Layers: [139x1 nnet.cnn.layer.Layer] Connections: [167x2 table] Learnables: [116x3 table] State: [0x3 table] InputNames: {'data'} OutputNames: {'encoderDecoderFinalConvLayer'} Initialized: 1查看summary with summary。

显示网络。

analyzeNetwork(净)

输入参数

全部折叠

预先训练的网络名称,指定为这些字符串值之一。必须为所选预训练网络安装相关的附加组件。

  • “alexnet”——看alexnet(深度学习工具箱)更多信息。

  • “googlenet”——看googlenet(深度学习工具箱)更多信息。

  • “inceptionresnetv2”——看inceptionresnetv2(深度学习工具箱)更多信息。

  • “inceptionv3”——看inceptionv3(深度学习工具箱)更多信息。

  • “mobilenetv2”——看mobilenetv2(深度学习工具箱)更多信息。

  • “resnet18”——看resnet18(深度学习工具箱)更多信息。

  • “resnet50”——看resnet50(深度学习工具箱)更多信息。

  • “resnet101”——看resnet101(深度学习工具箱)更多信息。

  • “squeezenet”——看squeezenet(深度学习工具箱)更多信息。

  • “vgg16”——看vgg16(深度学习工具箱)更多信息。

  • “vgg19”——看vgg19(深度学习工具箱)更多信息。

数据类型:字符|字符串

编码器中的下采样操作数,指定为正整数。编码器对输入进行2^的次采样深度.不能指定大于预训练网络深度的深度。

输出参数

全部折叠

编码器网络,返回为dlnetwork(深度学习工具箱)对象。网络有深度清晰的空间分辨率。编码器网络的最后一层是直接出现在预训练网络的下采样操作之前的一层。

网络中的层名它们直接出现在下采样操作之前,作为字符串向量返回。

版本历史

在R2021a中引入

Baidu
map