How to create a custom multi input layer for sequence model

조회 수: 7 (최근 30일)
Gawsalyan Sivapalan
Gawsalyan Sivapalan 2019년 4월 16일
댓글: Van Vy 2021년 10월 22일
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
Gawsalyan Sivapalan 2021년 5월 27일
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에서 Image Data Workflows에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by