How to create a custom multi input layer for sequence model

9 vues (au cours des 30 derniers jours)
Gawsalyan Sivapalan
Gawsalyan Sivapalan le 16 Avr 2019
Commenté : Van Vy le 22 Oct 2021
I want to develop similsr type of architechture and Matlab does not support 2 input sequence to one model. Hence could you please let me know some perfect example of deveoping custom layer for inputs like this.
Capture.JPG
I have also tried to develop the same model in keras and try to import. But it is not helpful as well.
pasted image 0.png
Please help and Thanks in Advance
  2 commentaires
Maryam Khairunissa
Maryam Khairunissa le 27 Mai 2021
hi,
have you solved this issue? I have similar case but for 3 sequence input layers.
Gawsalyan Sivapalan
Gawsalyan Sivapalan le 27 Mai 2021
Hi,
Unfortuntely I coudn't get help from MATLAB teams. I tried editing a custom layer but it didn't get accepted by the MLToolbox as it was keep throwing error saying mismatch in size for backpropagation (You can try it as well). Therefore, I developbed my own ML toolbox in matlab for the purpose. https://github.com/gawsalyan/FloatingPoint-NN-from-scratch-MATLAB
Please feel free to contribute to the code base if possible or let me know of any errors as it is solely developed by myself. If you need a fixedpoint version, you can look into my github for the same.
It is very similar to how you create layers in original MATLAB ML Toolbox.
Hope this will help.
P.S.: - Unfortunately I have developed and tested only few layers LSTM and MLP mainly. Only SGD for learning is used.
Cheers!
Siva

Connectez-vous pour commenter.

Réponse acceptée

Kenta
Kenta le 29 Mar 2020
As of 2019b, a new system called "custom training loop" which enables you to implement multi-input CNN is available.
For example, you can refer to the example below.
As of 2019a, to implement multi-input CNN is not easy. If you can update the version of Matlab, please try the example below.
  1 commentaire
Van Vy
Van Vy le 22 Oct 2021
Could you please explain more about the connect layer? If I have 3 inputs, how can I fix the layers? I have trouble with 3 inputs and connectLayers() function. it shows input 1 and input 3 only. Here is my code:
layers2=renameLayer(layers2,'_2');
layersRemoved=[layers(1:end);concatenationLayer(1,3,'Name','cat')];
lgraphAggregated = addLayers(layerGraph(layersRemoved),layers2(1:end));
lgraphAggregated = connectLayers(lgraphAggregated,'fc_2','cat/in2');
layers3=renameLayer(layers3,'_3');
layersRemoved1=[layers2(1:end);concatenationLayer(1,3,'Name','cat')];
lgraphAggregated = addLayers(layerGraph(layersRemoved),layers3(1:end));
lgraphAggregated = connectLayers(lgraphAggregated,'fc_3','cat/in3');

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur MATLAB Coder dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by