Мой проект заключается в распознавании древних монет. Я использую Матлаб. У меня уже есть файл функций, который содержит как входные данные, так и выходные данные. Я обучил 3 типа монет, используя newff, и сеть была сохранена. Для трех типов монет я использовал 01, 10 и 11 в качестве целей. Теперь я хочу использовать эту обученную сеть для тестирования. У меня тоже есть тестовые изображения. Я закодировал так:
load net.mat;
load features.mat;
testInputs = Features';
out = sim(net,testInputs);
[dummy, I]=max(out);
Значение I
используется для проверки типа монеты. Если I
равно 1, введите 1, если 2, то введите 2, а если 3, введите 3. Я прав? Я жестко закодировал эти значения 1,2,3, потому что я указал цели как 01, 10 и 11.
if (I == 2)
fprintf('Type1\n');
elseif (I == 1)
fprintf('Type2\n');
elseif (I == 3)
fprintf('Type3\n');
else
fprintf('undefined\n');
end
Хотя сейчас я ввожу 3 типа тестовых изображений монет, для значения I
отображается либо 1, либо 2. Но не 3. Даже когда я использую тот же набор изображений, которые используются для обучения, он также дает либо 1, либо 2 для значения I
.
Не могли бы вы мне помочь?