Я хочу обучить CNN, который будет k-кратно перекрестно проверен.для этого я разделил свой набор данных подписи на три равные части.с использованием двух частей происходит обучение, а из оставшейся части будет проведено тестирование.этот процесс будет выполнен трижды при k = 3.Я использую 3-кратную перекрестную проверку в Matlab.но когда я тестирую сеть, это дает 0% точности, насколько это возможно.Может кто-нибудь, пожалуйста, помогите мне, какую ошибку я совершаю?
k = 3; % number of folds
datastore = imageDatastore(fullfile('/media/titan/ACER
DATA/GPDS300'), 'IncludeSubfolders', true, 'LabelSource', 'foldernames');
partStores{k} = [];
for i = 1:k
temp = partition(datastore, k, i);
partStores{i} = temp.Files;
end
layers = [imageInputLayer([64 128 3]);
convolution2dLayer(7,40);
reluLayer();
fullyConnectedLayer(200);
softmaxLayer();
classificationLayer()];
options = trainingOptions('sgdm','MaxEpochs',150,'minibatchsize',32,...
'InitialLearnRate',0.001);
for i = 1:k
test_idx = (idx == i);
train_idx = ~test_idx;
test_Store = imageDatastore(partStores{test_idx}, 'IncludeSubfolders', true, 'LabelSource', 'foldernames');
train_Store = imageDatastore(cat(1, partStores{train_idx}), 'IncludeSubfolders', true, 'LabelSource', 'foldernames');
net{i} = trainNetwork(train_Store, layers, options);
pred{i} = classify(net{i}, test_Store);
TTest=test_Store.Labels;
accuracyn{i} = sum(pred{i} == TTest)/numel(TTest)
end