cellに格納された​すべての配列にGra​d-camを適用する​方法

1 vue (au cours des 30 derniers jours)
KM
KM le 17 Nov 2022
Commenté : KM le 30 Nov 2022
現在、1000*1のcell配列の中に、120*180 doubleのデータが1000個格納されており、そのデータそれぞれにGrad-camを適用させる方法を模索しています。
1つのデータに対してであれば以下のコードでできるのですが、1000個もあるため、一括でできる方法をご教授いただきたいです。
[class,score] = classify(net,data);
map = gradCAM(net,data,class);
可能であれば、それぞれの結果(map)も元データと同様に1000*1のcell配列に格納したいです。
よろしくお願い申し上げます。

Réponse acceptée

Hernia Baby
Hernia Baby le 17 Nov 2022
Modifié(e) : Hernia Baby le 17 Nov 2022
cellfun をご使用ください
YourCell = ...  % ここに1000×1のcell配列
net = ... % ここに使用するnet
C_map = cellfun(@(x) MyGradCam(net,x),YourCell,'UniformOutput',false);
function map = MyGradCam(net,data)
[class,score] = classify(net,data);
map = gradCAM(net,data,class);
end
  4 commentaires
Hernia Baby
Hernia Baby le 17 Nov 2022
一点、確認させてください
netCNNもcell型で格納されていますか?
KM
KM le 30 Nov 2022
お返事大変遅くなり申し訳ございません。
ご回答いただきありがとうございました。
試行錯誤してみたところ、
C_map = cellfun(@(x) gradCAM(netCNN,x,class, ...
'ReductionLayer',reductionLayer, ...
'FeatureLayer',featureLayer),data,'UniformOutput',false)
で解決しました。
netCNNはcellではなくLayerで定義されています。

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Deep Learning Toolbox dans Help Center et File Exchange

Produits


Version

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!