def new_prelu(self, name: str, input_layer_name: str=None):
        """
        Creates a new prelu layer with the given name and input.
        :param name: name for this layer.
        :param input_layer_name: name of the layer that serves as input for this one.
        """
        input_layer = self.__network.get_layer(input_layer_name)

        with tf.variable_scope(name):
            channels_input = int(input_layer.get_shape()[-1])
            alpha = self.__make_var('alpha', shape=[channels_input])
            output = tf.nn.relu(input_layer) + tf.multiply(alpha, -tf.nn.relu(-input_layer))

        self.__network.add_layer(name, layer_output=output)