Problem using scalingLayer for shifting actor outputs to desired range

조회 수: 3 (최근 30일)
Greetings everyone. I want to use scalingLayer to shift my actor network's outputs to desired range. I'm using this reference and the code below :
numObs = 10;
numAct = 5;
actorLayerSizes = [400 300];
sc = reshape([10, 10, 20, 15, 15], [1 1 5]);
bias = reshape([0, 0, 0, 0, 0], [1 1 5]);
actorNetwork = [
imageInputLayer([numObs 1 1],'Normalization','none','Name','observation')
fullyConnectedLayer(actorLayerSizes(1), 'Name', 'ActorFC1')
reluLayer('Name', 'ActorRelu1')
fullyConnectedLayer(actorLayerSizes(2), 'Name', 'ActorFC2')
reluLayer('Name', 'ActorRelu2')
fullyConnectedLayer(numAct, 'Name', 'ActorFC3')
tanhLayer('Name','ActorTanh1'), ...
scalingLayer('Scale',sc, 'Bias',bias)
];
I'm getting the error below:
Error using vertcat
Dimensions of arrays being concatenated are not consistent.
Can anyone help me with this?
Thanks
  댓글 수: 3
Mostafa Nazmi
Mostafa Nazmi 2021년 2월 10일
I'm using DDPG agent for this problem

댓글을 달려면 로그인하십시오.

채택된 답변

Emmanouil Tzorakoleftherakis
Emmanouil Tzorakoleftherakis 2021년 2월 13일
If you remove ',...' from the 'tanh' row the error goes away. The way you have it now, you are adding the scaling layer in the same row as tanh whereas it should be in its own row.
actorNetwork = [
imageInputLayer([numObs 1 1],'Normalization','none','Name','observation')
fullyConnectedLayer(actorLayerSizes(1), 'Name', 'ActorFC1')
reluLayer('Name', 'ActorRelu1')
fullyConnectedLayer(actorLayerSizes(2), 'Name', 'ActorFC2')
reluLayer('Name', 'ActorRelu2')
fullyConnectedLayer(numAct, 'Name', 'ActorFC3')
tanhLayer('Name','ActorTanh1')
scalingLayer('Scale',sc, 'Bias',bias)
];
  댓글 수: 3
Emmanouil Tzorakoleftherakis
Emmanouil Tzorakoleftherakis 2021년 2월 15일
Np. Please accept the answer if it answered your question

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Deep Learning Toolbox에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by