How to create a custom multi input layer for sequence model

9 次查看(过去 30 天)
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 个评论
Maryam Khairunissa
Maryam Khairunissa 2021-5-27
hi,
have you solved this issue? I have similar case but for 3 sequence input layers.
Gawsalyan Sivapalan
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

请先登录,再进行评论。

采纳的回答

Kenta
Kenta 2020-3-29
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 个评论
Van Vy
Van Vy 2021-10-22
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');

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 MATLAB Coder 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by