筆記來源于matlab官網(wǎng),不足之處還請?zhí)岢?抖誉。
1.4檢查預(yù)測
使用classify可以獲得所有類別的預(yù)測值,存儲在數(shù)組scrs中:
? ??????????????????????????????????????????[pred scrs] = classify(net ,img);
使用bar(scrs)來創(chuàng)建預(yù)測值的條形圖:
使用highscores = scrs >0.01顯示值中大于0.01
使用邏輯索引來創(chuàng)建高于閥值0.01的預(yù)測值的條形圖:
? ? ? ? ? ? ? ? ? ? ? ????????????????????????? bar(scrs(highscores));
使用邏輯索引和xticklabels函數(shù)來標(biāo)記出預(yù)測類名稱的條形圖。類名稱的完整列表存儲在變量中categorynames:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?xticklabels(categorynames(highscores));
1.5圖像數(shù)據(jù)存儲
使用imageDatastore函數(shù)在matlab中創(chuàng)建數(shù)據(jù)存儲區(qū)韵卤,如將file01.jpg到file12.jpg存儲到imds中,*代表通配符:
? ??????????????????????????????????????????????imds = imageDatastore('file*.jpg');
使用Files這個屬性來提取文件中圖像名稱:
? ????????????????????????????????????????????????????? fname = imds.Files
使用read,readimage以及readall函數(shù)從數(shù)據(jù)存儲區(qū)導(dǎo)入數(shù)據(jù)崇猫,read只能一次導(dǎo)入一個沈条,readimage可以導(dǎo)入一個具體的圖像,readall可以將所有圖像導(dǎo)入到一個數(shù)組中诅炉,將file07.jpg從數(shù)據(jù)存儲區(qū)imds導(dǎo)入到變量img中(7代表第7個):
? ??????????????????????????????????????????????img = readimage(imds,7)蜡歹;
可以使用圖像數(shù)據(jù)存儲來代替CNN中單個圖像,如:
? ??????????????????????????????????????????preds = classify(net,imds);
通過imageDatastore中‘IncludeSubfolders’選項(xiàng)涕烧,可以將數(shù)據(jù)存儲到指定文件夾下月而,如創(chuàng)建一個數(shù)據(jù)存儲區(qū)flwrds,將圖像都存到子文件Flowers層中:
? ??????????????????????flwds = imageDatastore('Flowers','IncludeSubfolders',true);
可以使用classify對flwrds進(jìn)行分類:
? ? ? ? ? ? ? ? ? ? ? ? ????????????????????preds = classify(net,flwrds);