how to train deep learning network with multi-inputs
29 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Lina Chato
el 7 de Nov. de 2019
Comentada: Hon Wah Yeung
el 4 de Ag. de 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 comentarios
Kenta
el 31 de Mzo. de 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
el 4 de Ag. de 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.
Respuesta aceptada
Sai Bhargav Avula
el 14 de Nov. de 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 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Image Data Workflows en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!