Error using trainNetwork - possible change with Matlab release?

2 visualizzazioni (ultimi 30 giorni)
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 Commenti
Jenny Bosten
Jenny Bosten il 29 Feb 2024
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.

Accedi per commentare.

Risposte (1)

Matt J
Matt J il 29 Feb 2024
Modificato: Matt J il 29 Feb 2024
Convert the data to cell array form.
XTrain=num2cell(Xtrain,[1,2,3]); XTrain=XTrain(:);
YTrain=num2cell(YTrain); YTrain=YTrain(:);
  2 Commenti
Jenny Bosten
Jenny Bosten il 29 Feb 2024
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.
Matt J
Matt J il 29 Feb 2024
I suggest attaching the layers and options in a .mat file so that we can all examine it.

Accedi per commentare.

Categorie

Scopri di più su Language Support in Help Center e File Exchange

Prodotti


Release

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by