how to train deep learning network with multi-inputs
41 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Lina Chato
le 7 Nov 2019
Commenté : Hon Wah Yeung
le 4 Août 2021
Hi I need to train a CNN with two different type of images, so I used the following code
inputSize = [64 64 64 4];
inputLayer = image3dInputLayer(inputSize,'Normalization','none','Name','input');
inputLayer2 = image3dInputLayer(inputSize,'Normalization','none','Name','input2');
when I used analyzeNetwork(lgraph), I got error that should only one input layer be used. So please is there any way I can use multi inputs in the matlab?
Also, if multi inputes is supported in matlab, how can define the two different inputs in the training process ( trainNetwork(dsTrain,lgraph,options);)
I appreciate your advice!
Thanks
2 commentaires
Kenta
le 31 Mar 2020
You can use multi-input CNN with "custom training loop" as it is started to be supported from 2019b. The below is an example. I hope it can help you.
Hon Wah Yeung
le 4 Août 2021
There is an easier way to by-pass it as the inputSize for the 2 inputs are the same.
Just simply stack the 2 inputs channel-wise and use grouped-convolution with number of groups set as 2. Or if you want the learning to be done differently for the 2 inputs, you can create your own layer to split the stacked input into 2 outputs.
Réponse acceptée
Sai Bhargav Avula
le 14 Nov 2019
Hi,
You can either use the CombinedDatastore or define a custom layer that can take multiple inputs. For defining a custom layer with multiple inputs you can follow the following link
Hope this helps !
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Image Data Workflows dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!