我的项目是识别古钱币。我正在使用 Matlab。我已经有一个包含输入和输出的功能文件。我已经使用 newff 训练了 3 种类型的硬币,并且已经保存了 net。对于三种类型的硬币,我使用 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 种类型的测试硬币图像,但它的 value 显示为 1 或 2 I
。但不是 3。即使我使用用于训练的同一组图像,它也会给出 1 或 2 的值I
。
你能帮帮我吗?