Clear Filters
Clear Filters

How to change the output label of a pretrained model.

1 view (last 30 days)
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";

Answers (1)

Aritra
Aritra on 2 Feb 2023
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 Comment
Deng
Deng on 2 Feb 2023
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";

Sign in to comment.

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!