Error using dlfeval when custom training

7 次查看(过去 30 天)
DL
DL 2021-4-25
回答: DL 2021-4-29
Hi, when I was doing custom training for the model there was an error of
Error using dlfeval (line 43)
One input argument can have dimension labels only when the other input argument is an unformatted scalar. Use .* for element-wise multiplication.
Error in test_Tranformer (line 81)
[loss,gradients] = dlfeval(@modelGradients, Training_X_1, Training_Y_1, parameters);
Did someone have similar error before and what should I do to fix it?

回答(1 个)

DL
DL 2021-4-29
The potential answer could be, do not specific the dimension labels when you do minibatch. Concretely,
mbqTrain = minibatchqueue(cdsTrain,2,...
'MiniBatchSize',minibatch_size,...
'MiniBatchFcn',@preprocessMiniBatch,...
'MiniBatchFormat',{'',''},... % do not specific the dimensional labels or set it carefully
"PartialMiniBatch","discard");
You may get another error by mse function when you cauculate the loss, and if you specific the dimensional labels, say mse(Y, X, "DataFormat", "SSB"), it would be good to go if no addtional errors.

类别

Help CenterFile Exchange 中查找有关 Sequence and Numeric Feature Data Workflows 的更多信息

产品


版本

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by