Modify Objective Function in trainNetwork() Function

4 views (last 30 days)
I am currently working on a deep learning semantic segmentation project, trying to acquire the shape of a feature in material imaging. I find deeplabV3+ is a good choice considering its cascade module will help me get the fine details of the shape I need. However, with strong need to get the fine boundary of the whole region of interest, I think it will be better if I merge some boundary factor into objective function.
Hence, is it possible for me to edit either trainNetwork function, or the model itself, or training options to achieve this goal?
Grateful for any comments!

Answers (1)

Hari
Hari on 4 Sep 2023
Edited: Hari on 4 Sep 2023
Hi William,
As per my understanding, you want to implement your custom model by editing “trainNetwork” function and other training options in deeplabV3+.
These are the few ways you can consider for the customization:
  • “trainNetwork” function can be implemented with desired features by specifying the custom training options in the argument to the function. Here is an example of how to specify training options using “trainingOptions()” function from the Deep Learning Toolbox.
options = trainingOptions('adam', ...
'LossFunction', @customLoss, ...
'InitialLearnRate', 0.001, ...
'MiniBatchSize', 8);
In the “customLoss” function you can add your desired behaviour.
  • You can use the “deeplabv3plusLayers” function from the Computer Vision Toolbox to create the network architecture.
net = deeplabv3plusLayers(...); % Create the DeepLabv3+ network by specifying your parameters
net = addBoundaryLayers(net); % Add additional layers for boundary prediction
  • Train the modified “DeepLabv3+” network using the trainNetwork function from the Deep Learning Toolbox. Provide the training data, network architecture, and training options as inputs.
trainedNet = trainNetwork(trainingData, net, options);
Refer to the below documentation to learn more about training options in neural networks.
Refer to the below documentation to learn more about “deeplabv3plusLayers for semantic image segmentation.

Categories

Find more on Deep Learning Toolbox in Help Center and File Exchange

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!