How to split a trained network into two networks?

4 views (last 30 days)
I have trained a U-shape network, now I want to split it into encoder and decoder, so that I can do some operations on the output of the encoder (e.g. svd and matrix multiplication) and then feeds the tuned features into the decoder. But how to split a trained network in matlab? The function activations( ) only realizes the encoder part.

Answers (1)

Srivardhan Gadila
Srivardhan Gadila on 28 Mar 2020
As you already mentioned, for the enoder part you can make use of the activations function on a layer to collect the output.
W.r.t the decoder part, refer to Multiple-Input and Multiple-Output Networks then make use of the assembleNetwork and create a mulitple Input network with Inputs to the decoder wherever there are broken connections from the encoder. Use the imageInputLayer for those connections with appropriate input size. Collect the activations from the broken connections and pass it to the assembled decoder network. In addition to above the following answer might also help you in the process: Prediction on a pre-trained neural network.

Categories

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

Community Treasure Hunt

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

Start Hunting!