Мой проект - распознавать древние монеты.Я использую Matlab.У меня уже есть файл функций, который содержит как входы, так и выход.Я обучил 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 типа тестовых изображений монет, он отображает 1 или 2 для значенияI
.Но не 3. Даже когда я использую тот же набор изображений, которые используются для обучения, он также дает 1 или 2 для значения I
.
Можете ли вы мне помочь?