Ejemplo n.º 1
0
def create_layer_parameters(inputShape, inputPadding, inputPaddingScheme,
                            outputShape, outputPadding, outputPaddingScheme):
    """Helper function to return ell.LayerParameters given input and output shapes/padding/paddingScheme"""
    inputPaddingParameters = ell.PaddingParameters(inputPaddingScheme,
                                                   inputPadding)
    outputPaddingParameters = ell.PaddingParameters(outputPaddingScheme,
                                                    outputPadding)

    return ell.LayerParameters(inputShape, inputPaddingParameters, outputShape,
                               outputPaddingParameters)
Ejemplo n.º 2
0
    def get_predictor(self, layer):

        ell_layers = []
        # remove output_padding from because CNTK doesn't have output padding.
        layer.layer.ell_outputPaddingParameters = ell.PaddingParameters(
            ell.PaddingScheme.zeros, 0)
        layer.layer.ell_outputShape = cntk_utilities.get_adjusted_shape(
            layer.layer.output.shape, layer.layer.ell_outputPaddingParameters)
        layer.process(ell_layers)
        # Create an ELL neural network predictor from the relevant CNTK layers
        return ell.FloatNeuralNetworkPredictor(ell_layers)
Ejemplo n.º 3
0
    def get_input_padding_parameters(self):
        """Returns the ell.PaddingParameters for a layer's input."""

        padding = 0
        if ('autoPadding' in self.attributes):
            if (self.attributes['autoPadding'][0] == True):
                padding = int((self.attributes['poolingWindowShape'][0] - 1) / 2)
            else:
                padding = self.attributes['upperPad'][0]
        else:
            padding = self.attributes['upperPad'][0]

        return ell.PaddingParameters(self.padding_scheme, padding)
Ejemplo n.º 4
0
    def get_input_padding_parameters(self):
        """Returns the ell.PaddingParameters for a layer's input."""

        paddingScheme = ell.PaddingScheme.zeros
        padding = 0
        receptiveField = self.weights_parameter.shape[2]

        if ('autoPadding' in self.attributes):
            if (self.attributes['autoPadding'][1] == True):
                padding = int((receptiveField - 1) / 2)
            else:
                padding = self.attributes['upperPad'][0]
        else:
            padding = self.attributes['upperPad'][0]

        return ell.PaddingParameters(paddingScheme, padding)
Ejemplo n.º 5
0
    def get_input_padding_parameters(self):
        """Returns the default ell.PaddingParameters for a layer's input.
           Derived classes may override this.
        """

        return ell.PaddingParameters(ell.PaddingScheme.zeros, 0)