文档帮助中心文档
取代层在层图
newlgraph = replaceLayer (lgraph layerName larray)
newlgraph = replaceLayer (lgraph layerName、larray ReconnectBy,模式)
例子
newlgraph= replaceLayer (lgraph,layerName,larray)取代了层layerName在层图lgraph层的larray。
newlgraph= replaceLayer (lgraph,layerName,larray)
newlgraph
lgraph
layerName
larray
replaceLayer连接层larray顺序和连接larray成层图。
replaceLayer
newlgraph= replaceLayer (lgraph,layerName,larray“ReconnectBy”,模式)另外指定的方法重新连接层。
newlgraph= replaceLayer (lgraph,layerName,larray“ReconnectBy”,模式)
模式
全部折叠
定义一个简单的网络体系结构和情节。
层= [imageInputLayer ([28 28 1],“名字”,“输入”)convolution2dLayer(3, 16岁,“填充”,“相同”,“名字”,“conv_1”)reluLayer (“名字”,“relu_1”)additionLayer (2“名字”,“添加”)fullyConnectedLayer (10“名字”,“俱乐部”)softmaxLayer (“名字”,“softmax”)classificationLayer (“名字”,“classoutput”));lgraph = layerGraph(层);lgraph = connectLayers (lgraph,“输入”,“添加/ in2”);图绘制(lgraph)
换上一批ReLU层网络中归一化层,后跟一个漏水的ReLU层。
larray = [batchNormalizationLayer (“名字”,“BN1”)leakyReluLayer (“名字”,“leakyRelu_1”,“规模”0.1)];lgraph = replaceLayer (lgraph,“relu_1”,larray);情节(lgraph)
这个示例使用:
这个例子展示了如何导入层从pretrained Keras网络取代不支持自定义层的层,和组装层准备网络预测。金宝app
进口Keras网络
导入从Keras层网络模型。网络在“digitsDAGnetwithnoise.h5”分类的图像数字。
“digitsDAGnetwithnoise.h5”
文件名=“digitsDAGnetwithnoise.h5”;lgraph = importKerasLayers(文件名,“ImportWeights”,真正的);
警告:无法导入一些Keras层,因为他们是不支持的深度学习工具。金宝app他们已经被占位符层。为了找到这些层,调用这个函数findPlaceholderLayers返回的对象。
Keras网络不支持包含一些层深度学习工具箱。金宝app的importKerasLayers函数显示一个警告,取代了支持层,一层一层的占位符。金宝app
importKerasLayers
绘制层图使用情节。
情节
图绘制(lgraph)标题(“进口网络”)
替换占位符层
替换占位符层,首先识别层的名称来代替。发现使用占位符层findPlaceholderLayers。
findPlaceholderLayers
placeholderLayers = findPlaceholderLayers (lgraph)
placeholderLayers = 2 x1 PlaceholderLayer阵列层:1“gaussian_noise_1”占位符层占位符的GaussianNoise Keras层2的gaussian_noise_2占位符一层一层的GaussianNoise Keras的占位符
显示Keras配置这些层。
placeholderLayers.KerasConfiguration
ans =结构体字段:可训练的:1名称:“gaussian_noise_1”stddev: 1.5000
ans =结构体字段:可训练的:1名称:“gaussian_noise_2”stddev: 0.7000
定义一个自定义高斯噪声层。创造这一层,保存文件gaussianNoiseLayer.m在当前文件夹。然后,创建两个高斯噪声层与进口Keras层相同的配置。
gaussianNoiseLayer.m
gnLayer1 = gaussianNoiseLayer (1.5,“new_gaussian_noise_1”);gnLayer2 = gaussianNoiseLayer (0.7,“new_gaussian_noise_2”);
用自定义层使用替换占位符层replaceLayer。
lgraph = replaceLayer (lgraph,“gaussian_noise_1”,gnLayer1);lgraph = replaceLayer (lgraph,“gaussian_noise_2”,gnLayer2);
情节更新层图使用情节。
图绘制(lgraph)标题(“网络取代层”)
指定类名
如果导入的分类层不包含的类,那么您必须指定这些之前的预测。如果你不指定的类,然后软件自动设置类1,2、……N,在那里N类的数量。
1
2
N
找到的索引分类层通过查看层层的属性图。
层
lgraph.Layers
ans x1 = 15层阵列层:1“input_1”图像输入28 x28x1图片2的conv2d_1卷积20 7 x7x1旋转步[1]和填充“相同”3“conv2d_1_relu”ReLU ReLU 4 conv2d_2的卷积20 3 x3x1旋转步[1]和填充“相同”5“conv2d_2_relu”ReLU ReLU 6 new_gaussian_noise_1高斯噪声的高斯噪声标准差为1.5 7 new_gaussian_noise_2高斯噪声的高斯噪声标准差为0.7 8“max_pooling2d_1”马克斯池2 x2马克斯池步(2 - 2)和填充“相同”9“max_pooling2d_2”马克斯池2 x2马克斯池步(2 - 2)和填充“相同”10 ' flatten_1 Keras平压平激活成一维假设c风格的(行)订单11的flatten_2 Keras平压平激活成一维假设c风格的(行)订单12的concatenate_1深度连接深度连接2输入13“dense_1”完全连接10完全连接层14的activation_1 Softmax Softmax 15 ClassificationLayer_activation_1 crossentropyex分类输出
分类层的名字“ClassificationLayer_activation_1”。查看分类层和检查类财产。
“ClassificationLayer_activation_1”
类
粘土= lgraph.Layers(结束)
粘土= ClassificationOutputLayer属性:名称:“ClassificationLayer_activation_1”类:“汽车”ClassWeights:“没有一个”OutputSize:‘汽车’Hyperparameters LossFunction:“crossentropyex”
因为类层的属性“汽车”,您必须手动指定的类。设置类0,1、……9,然后用新的代替进口分类层。
“汽车”
0
9
粘土。类=字符串(0:9)
粘土= ClassificationOutputLayer属性:名称:“ClassificationLayer_activation_1”类:[0 1 2 3 4 5 6 7 8 9]ClassWeights:“没有一个”OutputSize: 10 Hyperparameters LossFunction:“crossentropyex”
lgraph = replaceLayer (lgraph,“ClassificationLayer_activation_1”、粘土);
组装网络
组装层图使用assembleNetwork。函数返回一个DAGNetwork为预测对象,已经可以使用了。
assembleNetwork
DAGNetwork
净= assembleNetwork (lgraph)
网= DAGNetwork属性:层:x1 nnet.cnn.layer.Layer[15]连接:[15 x2表]InputNames: {“input_1”} OutputNames: {“ClassificationLayer_activation_1”}
LayerGraph
层图,指定为一个LayerGraph对象。创建一个层图,使用layerGraph。
layerGraph
层的名称来代替,指定为字符串标量或一个特征向量。
网络层,指定为一个层数组中。
一个内置的图层列表,看到深度学习层的列表。
“名字”
“秩序”
方法重新连接层指定为以下之一:
“名字”——重新连接larray使用输入和输出的名称替换层。取代的每一层都连接到一个输入层、连接层输入相同的输入名称larray (1)。取代的每一层都连接到一个输出层、连接层的输出相同的输出的名称larray(结束)。
larray (1)
larray(结束)
“秩序”——重新连接larray使用的顺序输入的名字larray (1)和输出的名字larray(结束)。重新连接层连接我输入替换层我th的输入larray (1)。重新连接层连接j取代层的输出jth的输出larray(结束)。
我
j
数据类型:字符|字符串
字符
字符串
输出层图,作为一个返回LayerGraph对象。
layerGraph|findPlaceholderLayers|PlaceholderLayer|connectLayers|disconnectLayers|addLayers|removeLayers|assembleNetwork|functionLayer
PlaceholderLayer
connectLayers
disconnectLayers
addLayers
removeLayers
functionLayer
你有一个修改版的这个例子。你想打开这个例子与编辑?
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
选择一个网站翻译内容,看到当地事件和提供。根据你的位置,我们建议您选择:。
你也可以从下面的列表中选择一个网站:
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。
联系你当地的办公室