@classmethod
def convertible(cls, layer, converter):
    """
        Check whether the given Keras layer is convertible to native Nengo objects.

        Parameters
        ----------
        layer : ``tf.keras.layers.Layer``
            The Keras Layer we want to convert.
        converter : `.Converter`
            The Converter object running the conversion process.

        Returns
        -------
        convertible : bool
            True if the layer can be converted to native Nengo objects, else False.
        """
    unsupported = cls.unsupported_args
    if not converter.inference_only:
        unsupported = unsupported + cls.unsupported_training_args
    for arg in unsupported:
        if isinstance(arg, str):
            default = None
        else:
            arg, default = arg
        val = getattr(layer, arg)
        if val != default:
            msg = '%s.%s has value %s != %s, which is not supported' % (layer
                .name, arg, val, default)
            if arg in cls.unsupported_training_args:
                msg += ' (unless inference_only=True)'
            return False, msg
    return True, None
