Main Content

registerCustomLayer

Class: dlhdl.ProcessorConfig
Namespace: dlhdl

Register the custom layer definition and Simulink model representation of the custom layer

Since R2022a

Syntax

registerCustomLayer(processorConfigObject, 'Layer', Layer, 'Model', Model)
registerCustomLayer(processorConfigObject, 'Layer', Layer, 'Model', Model,'DataType',DataType)

Description

registerCustomLayer(processorConfigObject, 'Layer', Layer, 'Model', Model) registers a custom layer specified by the Layer argument and the Simulink® model representation of the custom layer, specified by the Model argument.

registerCustomLayer(processorConfigObject, 'Layer', Layer, 'Model', Model,'DataType',DataType) registers a custom layer specified by the Layer argument, the Simulink model representation of the custom layer, specified by the Model argument, and the data type specified by the DataType argument.

Input Arguments

expand all

Processor configuration, specified as a dlhdl.ProcessorConfig object.

Class definition of the custom layer object, specified as an nnet.layer.Layer object.

Example: Layer = hSig

Simulink model representing the custom layer, specified as a file name of the Simulink model on the MATLAB® path or absolute or relative path to the Simulink model.

Example: Model = 'myfile.slx'

Example: Model = 'C:\myfolder\myfile.slx'

Deep learning processor custom processing module data type, specified as a character vector. The DataType parameter can be set to int8 only when the dlhdl.ProcessorConfig object, ProcessorDataType parameter is set to int8.

Example: 'single'

Data Types: char

Examples

expand all

  1. Create a function that represents the custom signum layer. Save the function definition as SignumLayer.m.

    classdef SignumLayer < nnet.layer.Layer
        % Example custom Signum layer.
        
        properties
            testPropertyValue1 single = 3;
            testPropertyValue2 single = 4;
        end
        
        methods
            function layer = SignumLayer(name)
                % Set layer name.
                layer.Name = name;
                % Set layer description.
                layer.Description = "custom signum layer";
            end
            
            function Z = predict(layer, X)
                % Z = predict(layer, X) forwards the input data X through the
                % layer and outputs the result Z.
                
                Z = sign(X) + layer.testPropertyValue1 + layer.testPropertyValue2;
               
            end
        end
    end

  2. Create a variable hSig. Assign the custom signum layer function definition to hSig.

    hSig = SignumLayer('sLayer');

  3. Create a Simulink model that represents the custom signum layer. Save the Simulink model as SignumLayer.slx.

  4. Create a custom deep learning processor configuration object by using the dlhdl.ProcessorConfig class. Save the custom deep learning processor configuration as hPC.

    hPC = dlhdl.ProcessorConfig;

  5. Use the registerCustomLayer method to register the custom signum layer definition and Simulink model.

    % If the Simulink model is on the MATLAB path, use:
    hPC.registerCustomLayer(Layer = hSig, Model = 'SignumLayer.slx');
    % If the Simulink model is in a folder called myLayers on your C drive, use:
    %   hPC.registerCustomLayer( Layer = hSig, Model = 'C:\myLayers\SignumLayer.slx');

Version History

Introduced in R2022a