Undefined function or variable 'replaceLayer'.

layers = [
imageInputLayer([28 28 1],'Name','input')
convolution2dLayer(5,20,'Name','conv_1')
reluLayer('Name','relu_1')
additionLayer(2,'Name','add')
fullyConnectedLayer(10,'Name','fc')
softmaxLayer('Name','softmax')
classificationLayer('Name','classoutput')];
lgraph = layerGraph(layers);
lgraph = connectLayers(lgraph,'input','add/in2');
>> larray = [batchNormalizationLayer('Name','BN1')
leakyReluLayer('Name','leakyRelu_1','Scale',.02)];
newlgraph = replaceLayer(lgraph,'relu_1',larray);
Undefined function or variable 'replaceLayer'.
Why in some computers works and in other it does not works and they are the same version with the same toolboxes??

6 Comments

Adam Danz
Adam Danz on 14 Nov 2019
Edited: Adam Danz on 21 Feb 2020
replaceLayer() is from the Deep Learning Toolbox and was released in r2018b although there is mention of it in the r2018a release notes. Run ver() to print a list of available toolboxes and confirm that you have this toolbox. replaceLayer is a class method of layerGraph class.
Ahmed's answer moved here as a comment.
Same here it dose not work with me ?????+++++++
is it same error. As mentioned by Adam try checking the ver and availability of the toolbox
Also, did you try rehashing the toolbox?
if not
use the
rehash toolbox
The 'replaceLayer' function is not a standalone m function. It is a class method of 'layerGraph' class.
Since it is a class method, it is defined in the class file for 'layerGraph' and can be used only with particular layers.
For more information, please refer the 'Objective Functions' of 'layerGraph' at the documentation link mentioned below:
>> training
Undefined function or variable 'replaceLayer'.
Error in training (line 22)
Layer_Graph = replaceLayer(Layer_Graph, Feature_Learner.Name, New_Feature_Learner);
how can solve this problem??
Add following lines:
Layer_Graph = layerGraph(Layer_Graph);
Layer_Graph = replaceLayer(Layer_Graph, Feature_Learner.Name, New_Feature_Learner);

Sign in to comment.

Answers (1)

The 'replaceLayer' function is not a standalone m function. It is a class method of 'layerGraph' class.
Since it is a class method, it is defined in the class file for 'layerGraph' and can be used only with particular layers.
For more information, please refer the 'Objective Functions' of 'layerGraph' at the documentation link mentioned below:

Categories

Find more on Deep Learning Toolbox in Help Center and File Exchange

Products

Release

R2019b

Asked:

on 14 Nov 2019

Commented:

on 22 Apr 2022

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!