options = trainingOptions中加了Cell类型YValidation后报错,但是不加的的时候能运行
2 次查看(过去 30 天)
显示 更早的评论
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数据就是截下来的,类型怎么会不同?

0 个评论
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Deep Learning Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!