Я работаю над проектом по глубокому обучению. У меня есть две переменные для хранения прогнозов и их процентов.
Это делается с помощью цикла for для каждого изображения в массиве ячеек C. И прогнозы, и проценты хранятся в отдельных векторах столбцов, которые понадобятся для дальнейшего использования
for i=1:size(C)
img=im2uint8(C{i});
img2=imresize(img,[224 224]);
[prediction,pred_val] = classify(n_net,img2)
predictions(i,:)=prediction;
pred_vals(i,:)=pred_val;
figure
imshow(img2)
title(sprintf("%s %s",[labels,num2str(100*pravdepodobnost_predikciesnimky(i,:))]));
end
Теперь я хочу отобразить все прогнозы и проценты, поэтому предположим, что сеть предсказывает, что изображение состоит из 80% океана и 20% людей, поэтому заголовок на рисунке отображает оба прогноза, а не только доминирующий. Какой лучший способ сделать это?
Редактировать: вот пример для разъяснения (названия и метки на моем родном языке):
labels=string(categories(scenes_training.Labels)') %creates 1x2 string array
labels =
"Pobrežie" "Ulica"
После одной итерации из цикла for я получаю следующее:
prediction = categorical
Ulica
pred_vals = 1×2 single row vector
0.0046 0.9954
А (после модификации) цифра
Итак, моя цель - написать название так:
Побрежье 0,45644%; Улица 99,5436%