Error using trainNetwork - possible change with Matlab release?

6 ビュー (過去 30 日間)
Jenny Bosten
Jenny Bosten 2024 年 2 月 28 日
コメント済み: Matt J 2024 年 2 月 29 日
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 件のコメント
Jenny Bosten
Jenny Bosten 2024 年 2 月 28 日
Thanks for any insight anyone can give!
Jenny Bosten
Jenny Bosten 2024 年 2 月 29 日
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.

サインインしてコメントする。

回答 (1 件)

Matt J
Matt J 2024 年 2 月 29 日
編集済み: Matt J 2024 年 2 月 29 日
Convert the data to cell array form.
XTrain=num2cell(Xtrain,[1,2,3]); XTrain=XTrain(:);
YTrain=num2cell(YTrain); YTrain=YTrain(:);
  2 件のコメント
Jenny Bosten
Jenny Bosten 2024 年 2 月 29 日
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 2024 年 2 月 29 日
I suggest attaching the layers and options in a .mat file so that we can all examine it.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeMatrix Indexing についてさらに検索

製品


リリース

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by