How to create Multiplication Layer in deep learning toolbox
    3 views (last 30 days)
  
       Show older comments
    
Dear community,
I am trying to create multiplication layer which multiplies inputs from multiple neural network layers element-wise, something like "additionLayer to add inputs from multiple layers element-wise". Is there any way I can create this layer in Matlab 2018a?
Best Regards, 
0 Comments
Answers (1)
  CARLOS VIDAL
      
 on 3 Oct 2019
        
      Edited: CARLOS VIDAL
      
 on 4 Oct 2019
  
      Hi,
I don't think matlab already has available the layer you are looking for, but you can create one.
Follow the link below.
I did it quickly, it seems to work, but better if you double check and follow the instruction in the link above to know how to integrate it with your NN structure.
Hope this will help you.
classdef ElementWiseMultiplication < nnet.layer.Layer
    % Example custom ElementWiseMultiplication layer.
    properties (Learnable)
        % Layer learnable parameters
        % Scaling coefficients
    end
    methods
        function layer = ElementWiseMultiplication(numInputs,name) 
            % layer = ElementWiseMultiplication(numInputs,name) creates a
            % element wise multiplication and specifies the number of inputs
            % and the layer name.
            % Set number of inputs.
            layer.NumInputs = numInputs;
            % Set layer name.
            layer.Name = name;
            % Set layer description.
            layer.Description = "Element Wise Multiplication of " + numInputs +  ... 
                " inputs";
        end
        function Z = predict(~, X1,X2)
            % Z = predict(layer, X1, ..., Xn) forwards the input data X1,
            % ..., Xn through the layer and outputs the result Z.     
            % Element Wise Multiplication
                        Z = X1 .*X2;
        end
    end
end
2 Comments
See Also
Categories
				Find more on Deep Learning Toolbox in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


