主要内容

blockedNetwork

创建网络与重复的块结构

自从R2021a

描述

例子

= blockedNetwork (有趣的,numBlocks)创建一个未初始化的网络,,由numBlocks块层连接顺序。这个函数有趣的创建每个块层。

这个函数需要深度学习工具箱™。

= blockedNetwork (有趣的,numBlocks“NamePrefix”,namePrefix)添加了前缀namePrefix网络中的所有图层名称。

例子

全部折叠

定义一个函数创建一个数组的层。第一个块上有32过滤器卷积层。过滤器双打在每个连续的块的数量。

unetBlock = @(块)[convolution2dLayer(3 2 ^(5 +块)reluLayer convolution2dLayer(3 2 ^(5 +块)reluLayer maxPooling2dLayer (2“步”,2)];

创建一个网络,它由四个重复块层。前缀“encoder_”添加到网络中所有图层名称。

网= blockedNetwork (unetBlock 4“NamePrefix”,“encoder_”)
网= dlnetwork属性:层:[20 x1 nnet.cnn.layer.Layer]连接:[19 x2表]可学的:[16 x3表]状态:[0 x3表]InputNames: {“encoder_Block1Layer1”} OutputNames: {“encoder_Block4Layer5”}初始化:0观点总结总结。

初始化网络权重大小(224 224)的输入。

网=初始化(净dlarray (0 (224224 3),“SSC”));

显示网络。

analyzeNetwork(净)

创建一个甘编码器网络四个将采样操作从一个pretrained GoogLeNet网络。

深度= 4;[编码器,outputNames] = pretrainedEncoderNetwork (“googlenet”、深度);

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

inputSize = encoder.Layers (1) .InputSize;

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

exampleInput = dlarray (0 (inputSize),SSC的);exampleOutput =细胞(1、长度(outputNames));[exampleOutput{}): =前进(exampleInput编码器,“输出”,outputNames);

在译码器模块确定通道的数量在每个激活第三通道的长度。

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

定义一个函数创建一个数组一个译码器块的层。

decoderBlock = @(块)[transposedConv2dLayer (2, numChannels(块),“步”2)convolution2dLayer (numChannels(块),“填充”,“相同”)reluLayer convolution2dLayer (numChannels(块),“填充”,“相同”)reluLayer);

创建解码器模块与相同数量的upsampling块有downsampling块编码器模块。

解码器= blockedNetwork (decoderBlock、深度);

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

网= encoderDecoderNetwork(224 224 3,编码器,译码器,“OutputChannels”3,“SkipConnections”,“连接”)
网= dlnetwork属性:层:x1 nnet.cnn.layer.Layer[139]连接:[167 x2表]可学的:[116 x3表]状态:[0 x3表]InputNames:{“数据”}OutputNames: {“encoderDecoderFinalConvLayer”}初始化:1观点总结总结。

显示网络。

analyzeNetwork(净)

输入参数

全部折叠

函数创建的层块,指定为一个函数的签名:

块=乐趣(blockIndex)

  • 的输入有趣的,blockIndex是一个整数范围在[1numBlocks]。

  • 的输出有趣的,是一层一层或数组。

网络的模块数量,指定为一个正整数。

网络中的所有图层名称前缀,指定为一个字符串或字符向量。

数据类型:字符|字符串

输出参数

全部折叠

网络与一个重复的块结构,作为一个返回dlnetwork(深度学习工具箱)对象。

提示

  • dlnetwork(深度学习工具箱)返回的blockedNetwork是未初始化的,而不是准备使用培训或推理。初始化网络,使用初始化(深度学习工具箱)函数。

  • 连接一个编码器译码器网络使用网络encoderDecoderNetwork函数。

版本历史

介绍了R2021a