def add_greater_than(
        self, name, input_names, output_name, use_greater_than_equal=False, alpha=0.0
    ):
        """
        Add a greater_than layer to the model that performs the element-wise
        greater-than (>) operation or greater-than-or-equal-to (>=) operation.
        Broadcasting is supported.
        Refer to the ``GreaterThanLayerParams``, ``GreaterEqualLayerParams`` messages
        in the specification (NeuralNetwork.proto) for more details.

        Parameters
        ----------
        name: str
            The name of this layer.
        input_names: list of str
            The input blob names of this layer.
        output_name: str
            The output blob name of this layer.
        use_greater_than_equal: bool, optional
            Whether or not to allow greater than or equal to, default: false.
        alpha: float, optional
            y = x1 != alpha, if only one input is provided, default: 0.

        See Also
        --------
        add_equal, add_not_equal, add_less_than
        """

        if isinstance(input_names, str):
            input_names = [input_names]
        spec_layer = self._add_generic_layer(name, input_names, [output_name])
        if use_greater_than_equal:
            spec_layer.greaterEqual.MergeFromString(b"")
            if len(input_names) == 1:
                spec_layer.greaterEqual.alpha = alpha
        else:
            spec_layer.greaterThan.MergeFromString(b"")
            if len(input_names) == 1:
                spec_layer.greaterThan.alpha = alpha

        return spec_layer

        Add a greater_than layer to the model that performs the element-wise
        greater-than (>) operation or greater-than-or-equal-to (>=) operation.
        Broadcasting is supported.
        Refer to the ``GreaterThanLayerParams``, ``GreaterEqualLayerParams`` messages
        in the specification (NeuralNetwork.proto) for more details.

        Parameters
        ----------
        name: str
            The name of this layer.
        input_names: list of str
            The input blob names of this layer.
        output_name: str
            The output blob name of this layer.
        use_greater_than_equal: bool, optional
            Whether or not to allow greater than or equal to, default: false.
        alpha: float, optional
            y = x1 != alpha, if only one input is provided, default: 0.

        See Also
        --------
        add_equal, add_not_equal, add_less_than
        
coremltools/models/neural_network/builder.py