How to change the output label of a pretrained model.

1 次查看(过去 30 天)
I have a pretrained model from 'https://ssd.mathworks.com/supportfiles/vision/data/deeplabv3plusResnet18CamVid.zip'.
How could I change the output label from 11 labels, including "Sky, Building, Pole, Road, Pavement, SignSymbol, Tree, Fence, Car, Pedestrain, Bicyclist" into 5 labels, including "Vehicles, Bicycles and motorcycles, Pedestrians, Drivable surface, Others",
while "Vehicles" contains "Car", "Bicycles and motorcycles" contains "Bicyclists", "Pedestrians" contains "Pedestrian", "Drivable surface" contains "Road", "Others" contains "Sky, Building, Pole, Pavement, SignSymbol, Tree, Fence";

回答(1 个)

Aritra
Aritra 2023-2-2
Hi, 
As per my understanding you are trying to change the output label of a pretrained model.
Pretrained models are read only so it’s not possible to change the output class names of a pretrained model directly. However, you can extract the output labels of a pretrained model store it in a table variable and can perform the required modifications. To do so you can take help of the below code snippet:
Network = load('deeplabv3plusResnet18CamVid.mat');
T1 = Network.metrics;
T2 = T1.ClassMetrics;
T2.Row(9) = cellstr("Vehicles");
You can refer to the MATLAB documentation for more details on cellstr:
  1 个评论
Deng
Deng 2023-2-2
Hi,
Thank you for your answer.
It resolutely solves part of my problem. The other one that bothered me is that what should I do if I want to combine several original categories into one new category (or just combine their data)? There are 11 labels in the original model, and I have only 5 categories, one of which contains the original seven categories which is like:
"Others" contains "Sky"," Building"," Pole", "Pavement", "SignSymbol", "Tree", and "Fence";

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 C4ISR 的更多信息

产品


版本

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by