Custom CNN layer Dot Indexing Issue?

2 次查看(过去 30 天)
Matt
Matt 2021-9-6
评论: Matt 2021-9-8
Hello!
I'm working on a CNN and I would like to be able to connect the output of a fully-connected layer to a convolutional layer. From some other "ask" pages, I read that a custom reshape layer is the solution for this. I have tried implementing one and I'm having some issues. When I use the checkLayer function, Matlab says everything is working. And when I insert the layer into my architecture and check it, Matlab doesn't throw any errors. However, when I try to train my CNN, I get the following error:
{Error using trainNetwork (line 184)
Dot indexing is not supported for variables of this type.
Error in trainDiscriminator (line 34)
[Disc_2, round1Data]=trainNetwork(trainData, trainLabels, Disc_2, trainOpts);
Caused by:
Dot indexing is not supported for variables of this type.
}
There's not really a way to determine if that's the custom layers' fault, but deleting them from the design did fix the error. I've also tested several similar architectures without the custom layers and none of them threw an error. For reference, the code for my reshape layer is as follows:
classdef reshapeLayer < nnet.layer.Layer
properties
rows;
cols;
end
properties (Learnable)
end
methods
function layer = reshapeLayer(name,rows,cols)
layer.Name = name;
layer.rows=rows;
layer.cols=cols;
end
function [Z] = predict(layer,X)
Z = reshape(X,layer.rows,layer.cols,1,[]);
end
end
end
Does anyone know how I can address this issue regarding the dot indexing of custom layers?
  2 个评论
Abolfazl Chaman Motlagh
Hi, i test your code. and it runs without error. i put your layer and test it on simple Cifar10 dataset.
mds = imageDatastore('images\cifar10Train\','LabelSource',"foldernames",'IncludeSubfolders',true,'ReadFcn',@(x) im2gray(imread(x)));
layers = [imageInputLayer([32 32 1],'Normalization',"none");
reshapeLayer('test',32,32);
fullyConnectedLayer(10);
softmaxLayer;
classificationLayer]
net = trainNetwork(imds,layers,options);
with some options. it start trainig without error.
  • maybe something else is wrong !
  • maybe in your network connections to previous and next layer of your custom layer is not compatible !
Matt
Matt 2021-9-8
That's weird, it looks like it's running without errors for me as well.
I wonder what I did wrong? Well, wither way thanks for your time!

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Image Data Workflows 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by