Index exceeds the number of array elements (1).

5 ビュー (過去 30 日間)
Wasmiah Alyami
Wasmiah Alyami 2020 年 6 月 4 日
回答済み: Sai Sri Pathuri 2020 年 7 月 10 日
I faced this error after performing some changes on the code. Any advices?
lgraph = yolov2Layers([128 128 3],numClasses,Anchors,lgraph,'relu_6');
Error using yolov2Layers>iReplaceImageInputLayer (line 298)
Index exceeds the number of array elements (1).
Error in yolov2Layers (line 112)
lgraph = iReplaceImageInputLayer(lgraph,params.ImageSize);
function lgraph = iReplaceImageInputLayer(lgraph,imageSize)
% Replace input size in image input layer.
idx = arrayfun(@(x)isa(x,'nnet.cnn.layer.ImageInputLayer'),...
lgraph.Layers);
imageInputIdx = find(idx,1,'first');
imageInput = vision.internal.cnn.utils.updateImageLayerInputSize(...
lgraph.Layers(imageInputIdx), imageSize);
lgraph = replaceLayer(lgraph,lgraph.Layers(imageInputIdx).Name,...
imageInput);
% Validate that replaced layer does not cause any issue.
analysis = nnet.internal.cnn.analyzer.NetworkAnalyzer(lgraph);
analysis.applyConstraints();
if any(isnan(analysis.LayerAnalyzers(2,1).Outputs.Size{1}))
error(message('vision:yolo:InvalidLayerSize', ...
mat2str(analysis.LayerAnalyzers(2,1).Inputs.Size{1}),...
mat2str([analysis.LayerAnalyzers(2,1).Inputs.Size{1}(1:2),...
analysis.LayerAnalyzers(2,1).Learnables.Size{1}(3)])));
end
end

回答 (1 件)

Sai Sri Pathuri
Sai Sri Pathuri 2020 年 7 月 10 日
This error generally occurs when you access the index that is not present (or) more than the number of elements
For example,
A = [1,2,3,4,5,6];
If you try to access the 7th element of A, it gives this error including in bracket the actual number of elements in the array, which is 6 here
A(7)
Index exceeds the number of array elements (6).

製品


リリース

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by