# tf.compat.v1.flags.DEFINE_flag

<br />

Registers a :class:`Flag` object with a :class:`FlagValues` object.

    tf.compat.v1.flags.DEFINE_flag(
        flag, flag_values=_flagvalues.FLAGS, module_name=None, required=False
    )

By default, the global :const:`FLAGS` `FlagValue` object is used.

Typical users will use one of the more specialized DEFINE_xxx
functions, such as :func:`DEFINE_string` or :func:`DEFINE_integer`. But
developers who need to create :class:`Flag` objects themselves should use
this function to register their flags.

<br />

<br />

<br />

| ## Args ||
|---|---|
| `flag` | :class:`Flag`, a flag that is key to the module. |
| `flag_values` | :class:`FlagValues`, the `FlagValues` instance with which the flag will be registered. This should almost never need to be overridden. |
| `module_name` | str, the name of the Python module declaring this flag. If not provided, it will be computed using the stack trace of this call. |
| `required` | bool, is this a required flag. This must be used as a keyword argument. |

<br />

<br />

<br />

<br />

| ## Returns ||
|---|---|
| a handle to defined flag. ||

<br />