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

2 views (last 30 days)
Wei Wang
Wei Wang on 10 Apr 2023
Edited: Wei Wang on 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数据就是截下来的,类型怎么会不同?

Answers (0)

Categories

Find more on Deep Learning Toolbox in Help Center and File Exchange

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!