options = trainingOp​tions中加了Ce​ll类型YValid​ation后报错,但​是不加的的时候能运行

2 Ansichten (letzte 30 Tage)
Wei Wang
Wei Wang am 10 Apr. 2023
Bearbeitet: Wei Wang am 11 Apr. 2023
options = trainingOptions('adam', ...
'ExecutionEnvironment', 'cpu', ...
'MaxEpochs',200, ...
'GradientThreshold',2, ...
'Verbose',1, ...
'MiniBatchSize', miniBatchSize, ...
'ValidationData',{XValidation,YValidation}, ...
'ValidationFrequency',validationFrequency, ...
'Plots','training-progress', ...
'OutputFcn',@(info)stopIfAccuracyNotImproving(info,20));
加入了'ValidationData',{XValidation,YValidation}, ...等代码后报错
错误使用 trainNetwork (第 184 行)
训练和验证响应必须有相同的类别。要查看响应的类别,请使用 categories 函数。
出错 classify2 (第 104 行)
[net,info] = trainNetwork(XTrain,YTrain,layers,options);
原因:
错误使用 nnet.internal.cnn.trainNetwork.DLTDataPreprocessor>iAssertClassNamesAreTheSame (第 213 行)
训练和验证响应必须有相同的类别。要查看响应的类别,请使用 categories 函数。
可是YTrain类型与YValidation相同,同为cell类型,元细胞为categorical类型。
并且没有这句代码的时候能正常运行。
其中YValidation数据就是截下来的,类型怎么会不同?

Antworten (0)

Kategorien

Mehr zu Deep Learning Toolbox finden Sie in Help Center und File Exchange

Produkte


Version

R2021a

Community Treasure Hunt

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

Start Hunting!