tf.compat.v1.flags.FlagValues
Регистр объектов 'Flag'.
tf.compat.v1.flags.FlagValues()
Объект 'FlagValues' может затем сканировать аргументы командной строки, передавая аргументы флагов объектам 'Flag', которые он содержит. Он также предоставляет легкий доступ к значениям флагов. Обычно для приложения нужен только один объект 'FlagValues': flags.FLAGS
Этот класс сильно перегружен:
Объекты 'Flag' регистрируются через setitem: FLAGS['longname'] = x # регистрация нового флага
Атрибут .value зарегистрированных объектов 'Flag' может быть получен как атрибуты этого объекта 'FlagValues' через getattr. И длинное, и короткое имя исходных объектов 'Flag' могут использоваться для доступа к его значению: FLAGS.longname # проанализированное значение флага FLAGS.x # проанализированное значение флага (короткое имя)
Аргументы командной строки сканируются и передаются зарегистрированным объектам 'Flag' через метод call. Необработанные аргументы, включая argv0, возвращаются. argv = FLAGS(sys.argv) # сканирование аргументов командной строки
Оригинальные зарегистрированные объекты Flag могут быть получены с помощью оператора типа словаря, getitem: x = FLAGS['longname'] # доступ к зарегистрированному объекту Flag
Оператор str() объекта 'FlagValues' предоставляет справку по всем зарегистрированным объектам 'Flag'.
Методы
append_flag_values
append_flag_values(
flag_values
)
Добавляет флаги, зарегистрированные в другом экземпляре FlagValues.
| Аргументы | |
|---|---|
flag_values | FlagValues, экземпляр FlagValues, из которого копировать флаги. |
append_flags_into_file
append_flags_into_file(
filename
)
Добавляет все назначения флагов из этого объекта FlagInfo в файл.
Вывод будет в формате файла флагов.
Примечание: ДОЛЖЕН отражать поведение C++ AppendFlagsIntoFile из https://github.com/gflags/gflags
| Аргументы | |
|---|---|
filename | str, имя файла. |
find_module_defining_flag
find_module_defining_flag(
flagname, default=None
)
Возвращает имя модуля, определяющего этот флаг, или значение по умолчанию.
| Аргументы | |
|---|---|
flagname | str, имя флага для поиска. |
default | Значение, которое нужно вернуть, если flagname не определен. По умолчанию None. |
| Возвращает | |
|---|---|
| Имя модуля, который зарегистрировал флаг с этим именем. Если такого модуля не существует (т.е. нет флага с этим именем), возвращается значение по умолчанию. |
find_module_id_defining_flag
find_module_id_defining_flag(
flagname, default=None
)
Возвращает идентификатор модуля, определяющего этот флаг, или значение по умолчанию.
| Аргументы | |
|---|---|
flagname | str, имя флага для поиска. |
default | Значение, которое нужно вернуть, если flagname не определен. По умолчанию None. |
| Возвращает | |
|---|---|
| Идентификатор модуля, который зарегистрировал флаг с этим именем. Если такого модуля не существует (т.е. нет флага с этим именем), возвращается значение по умолчанию. |
flag_values_dict
flag_values_dict()
Возвращает словарь, сопоставляющий имена флагов со значениями флагов.
flags_by_module_dict
flags_by_module_dict()
Возвращает словарь module_name -> список определенных флагов.
| Возвращает | |
|---|---|
| Словарь. Его ключи - имена модулей (строки). Его значения - списки объектов Flag. |
flags_by_module_id_dict
flags_by_module_id_dict()
Возвращает словарь module_id -> список определенных флагов.
| Возвращает | |
|---|---|
| Словарь. Его ключи - идентификаторы модулей (целые числа). Его значения - списки объектов Flag. |
flags_into_string
flags_into_string()
Возвращает строку с назначениями флагов из этого объекта FlagValues.
Эта функция игнорирует флаги, значение которых равно None. Каждое назначение флага разделяется новой строкой.
Примечание: ДОЛЖЕН отражать поведение C++ CommandlineFlagsIntoString из https://github.com/gflags/gflags
| Возвращает | |
|---|---|
| str, строка с назначениями флагов из этого объекта FlagValues. Флаги упорядочены по (имя_модуля, имя_флага). |
get_flag_value
get_flag_value(
name, default
)
Возвращает значение флага (если оно не None) или значение по умолчанию.
| Аргументы | |
|---|---|
name | str, имя флага. |
default | Значение по умолчанию, используемое, если значение флага равно None. |
| Возвращает | |
|---|---|
| Запрашиваемое значение флага или значение по умолчанию. |
get_flags_for_module
get_flags_for_module(
module
)
Возвращает список флагов, определенных модулем.
| Аргументы | |
|---|---|
module | module|str, модуль, из которого нужно получить флаги. |
| Возвращает | |
|---|---|
| [Flag], новый список объектов Flag. Вызывающая сторона может обновить этот список, | |
desired | так как ни одно из этих изменений не повлияет на внутренние данные экземпляра FlagValue. |
get_help
get_help(
prefix='', include_special_flags=True
)
Возвращает строку справки по всем известным флагам.
| Аргументы | |
|---|---|
prefix | str, префикс вывода в строке. |
include_special_flags | bool, включить описание SPECIAL_FLAGS, т.е. --flagfile и --undefok. |
| Возвращает | |
|---|---|
| str, отформатированное сообщение справки. |
get_key_flags_for_module
get_key_flags_for_module(
module
)
Возвращает список ключевых флагов для модуля.
| Аргументы | |
|---|---|
module | module|str, модуль, из которого нужно получить ключевые флаги. |
| Возвращает | |
|---|---|
| [Flag], новый список объектов Flag. Вызывающая сторона может обновить этот список, | |
desired | так как ни одно из этих изменений не повлияет на внутренние данные экземпляра FlagValue. |
is_gnu_getopt
is_gnu_getopt()
is_parsed
is_parsed()
Возвращает, были ли обработаны флаги.
key_flags_by_module_dict
key_flags_by_module_dict()
Возвращает словарь module_name -> список ключевых флагов.
| Возвращает | |
|---|---|
| Словарь. Его ключи - имена модулей (строки). Его значения - списки объектов Flag. |
main_module_help
main_module_help()
Описывает ключевые флаги основного модуля.
| Возвращает | |
|---|---|
| str, описывающий ключевые флаги основного модуля. |
mark_as_parsed
mark_as_parsed()
Явно помечает флаги как обработанные.
Используйте этот метод, когда вызывающая сторона знает, что этот FlagValues был обработан так, как будто произошло вызов call(). Это общедоступный метод только для использования такими вещами, как appcommands, которые выполняют дополнительный парсинг команд.
module_help
module_help(
module
)
Описывает ключевые флаги модуля.
| Аргументы | |
|---|---|
module | module|str, модуль, для которого нужно описать ключевые флаги. |
| Возвращает | |
|---|---|
| str, описывающий ключевые флаги модуля. |
read_flags_from_files
read_flags_from_files(
argv, force_gnu=True
)
Обрабатывает аргументы командной строки, но также позволяет читать аргументы из файла.
| Аргументы | |
|---|---|
argv | [str], список строк, обычно sys.argv[1:], который может содержать один или несколько директив файла флагов в формате --flagfile="./filename". Обратите внимание, что имя программы (sys.argv[0]) должно быть опущено. |
force_gnu | bool, если False, --flagfile парсинг подчиняется значению FLAGS.is_gnu_getopt(). Если True, игнорирует значение и всегда следует семантике gnu_getopt. |
| Возвращает | |
|---|---|
| Новый список, в котором исходный список объединен с тем, что мы считали из файла(ов) флагов. |
| Исключения | |
|---|---|
IllegalFlagValueError | Вызывается, когда --flagfile указан без аргумента. |
Эта функция вызывается FLAGS(argv). Она сканирует входной список в поисках флага, похожего на: --flagfile=
Обратите внимание, что флаги вашей программы всё ещё определяются обычным способом с помощью функций типа absl.flags DEFINE_flag().
Примечания (предполагая, что мы получаем какую-то командную строку в качестве входных данных): --> Для дублирующих флагов последний из встреченных должен "победить". --> Так как флаги, появляющиеся позже, побеждают, настройки файла флагов могут быть "слабыми", если --flagfile находится в начале последовательности аргументов, и могут быть "сильными", если --flagfile находится в конце. --> Дальнейший "--flagfile=
register_flag_by_module
register_flag_by_module(
module_name, flag
)
Записывает модуль, который определяет определённый флаг.
Мы отслеживаем, какой флаг определяется каким модулем, чтобы впоследствии можно было отсортировать флаги по модулям.
| Аргументы | |
|---|---|
module_name | str, имя Python-модуля. |
flag | Flag, экземпляр Flag, который является ключом для модуля. |
register_flag_by_module_id
register_flag_by_module_id(
module_id, flag
)
Записывает модуль, который определяет определённый флаг.
| Аргументы | |
|---|---|
module_id | int, идентификатор Python-модуля. |
flag | Flag, экземпляр Flag, который является ключом для модуля. |
register_key_flag_for_module
register_key_flag_for_module(
module_name, flag
)
Указывает, что флаг является ключевым флагом для модуля.
| Аргументы | |
|---|---|
module_name | str, имя Python-модуля. |
flag | Flag, экземпляр Flag, который является ключом для модуля. |
remove_flag_values
remove_flag_values(
flag_values
)
Удаляет флаги, которые были ранее добавлены из другого FlagValues.
| Аргументы | |
|---|---|
flag_values | FlagValues, экземпляр FlagValues, содержащий флаги для удаления. |
set_default
set_default(
name, value
)
Изменяет значение по умолчанию объекта флага с указанным именем.
Текущее значение флага также обновляется, если флаг в настоящее время использует значение по умолчанию, т. е. не указан в командной строке и не установлен с помощью FLAGS.name = value.
| Аргументы | |
|---|---|
name | str, имя флага для изменения. |
value | Новое значение по умолчанию. |
| Исключения | |
|---|---|
UnrecognizedFlagError | Вызывается, когда нет зарегистрированного флага с именем name. |
IllegalFlagValueError | Вызывается, когда значение не является допустимым. |
set_gnu_getopt
set_gnu_getopt(
gnu_getopt=True
)
Устанавливает, использовать ли сканирование в стиле GNU.
Стиль GNU позволяет смешивать флаги и не-флаги аргументы. См. http://docs.python.org/library/getopt.html#getopt.gnu_getopt
| Аргументы | |
|---|---|
gnu_getopt | bool, использовать ли сканирование в стиле GNU. |
unparse_flags
unparse_flags()
Разбирает все флаги до момента, когда не был вызван FLAGS(argv).
validate_all_flags
validate_all_flags()
Проверяет, проходят ли все флаги проверку.
| Исключения | |
|---|---|
AttributeError | Вызывается, если валидаторы работают с несуществующим флагом. |
IllegalFlagValueError | Вызывается, если проверка не удалась по крайней мере для одного валидатора. |
write_help_in_xml_format
write_help_in_xml_format(
outfile=None
)
Выводит документацию флагов в формате XML.
Примечание: Мы используем имена элементов, согласующиеся с теми, что используются в C++ библиотеке командной строки, из https://github.com/gflags/gflags Мы также используем несколько новых элементов (например,), но не вмешиваемся/не перекрываем существующие XML элементы, используемые C++ библиотекой. Пожалуйста, сохраняйте эту согласованность.
| Аргументы | |
|---|---|
outfile | Объект файла, в который мы записываем. Значение по умолчанию None означает sys.stdout. |
__call__
__call__(
argv, known_only=False
)
Разбирает флаги из argv; сохраняет обработанные флаги в этом объекте FlagValues.
Все необработанные аргументы возвращаются.
| Аргументы | |
|---|---|
argv | кортеж/список строк. |
known_only | bool, если True, разбирает и удаляет известные флаги; возвращает остальные без изменений. Неизвестные флаги, указанные --undefok, не возвращаются. |
| Возвращает | |
|---|---|
| Список аргументов, не обработанных как параметры, включая argv[0]. |
| Исключения | |
|---|---|
Error | Вызывается при любой ошибке парсинга. |
TypeError | Вызывается при передаче неправильного типа аргументов. |
ValueError | Вызывается при ошибке парсинга значения флага. |
__contains__
__contains__(
name
)
Возвращает True, если имя является значением (флагом) в словаре.
__getitem__
__getitem__(
name
)
Возвращает объект Flag для флага --name.
__iter__
__iter__()
__len__
__len__()
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/compat/v1/flags/FlagValues