Error using trainNetwork - possible change with Matlab release?

I am attempting to run some code in R2022b which I haven't run for a while. I believe I have updated Matlab since then and I probably last ran it in 2022a. I have a new error (with no changes to the code):
Error using trainNetwork
To assign to or create a variable in a table, the number of rows must match the height of the table.
However, I am not attempting to use tables.
I am attempting to run
net = trainNetwork(XTrain,YTrain,layers,options);
where Xtrain is a 28x28x3x10000 numeric array of (small) RGB images, and YTrain is a 10000x1 numeric array of training values. The task is a regression task so I believe that both inputs can be in numeric form. Perhaps this has changed, though it's not clear from the help?
There is no other information in the error message.

2 Kommentare

Thanks for any insight anyone can give!
Embarrassingly, the code has now started running as it was originally. The only thing I did differently was to run an even older script before that was very similar but produced a figure to visualise training progress. I cleared all variables before running the script so it wasn't that. I can't explain it but the glitch seems to be over. Not sure if I can delete the post.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Matt J
Matt J am 29 Feb. 2024
Bearbeitet: Matt J am 29 Feb. 2024
Convert the data to cell array form.
XTrain=num2cell(Xtrain,[1,2,3]); XTrain=XTrain(:);
YTrain=num2cell(YTrain); YTrain=YTrain(:);

2 Kommentare

Thanks Matt for your answer. Once the data are in cell array format (using your code) I still get the same error. For some reason it seems to be expecting a table. I am not really familiar with tables, but according to the help other data formats should still be acceptable. Here is the full error message:
Error using trainNetwork
To assign to or create a variable in a table, the number of rows must match the height of the
table.
Error in TrainCNNTaskExptMunsellProbesLoop (line 169)
net = trainNetwork(XTrain,YTrain,layers,options);
Caused by:
Error using .
To assign to or create a variable in a table, the number of rows must match the height of
the table.
I suggest attaching the layers and options in a .mat file so that we can all examine it.

Melden Sie sich an, um zu kommentieren.

Kategorien

Produkte

Version

R2022b

Gefragt:

am 28 Feb. 2024

Kommentiert:

am 29 Feb. 2024

Community Treasure Hunt

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

Start Hunting!

Translated by