Ссылка для ultralytics/utils/__init__.py
Примечание
Этот файл доступен по адресу https://github.com/ultralytics/ ultralytics/blob/main/ ultralytics/utils/init.py. Если ты заметил проблему, пожалуйста, помоги исправить ее, отправив Pull Request 🛠️. Спасибо 🙏!
ultralytics.utils.TQDM
Базы: tqdm
Пользовательский класс Ultralytics tqdm с разными аргументами по умолчанию.
Параметры:
Имя | Тип | Описание | По умолчанию |
---|---|---|---|
*args |
list
|
Позиционные аргументы, передаваемые оригинальному tqdm. |
()
|
**kwargs |
any
|
Аргументы ключевых слов, с применением пользовательских настроек по умолчанию. |
{}
|
Исходный код в ultralytics/utils/__init__.py
__init__(*args, **kwargs)
Инициализируй пользовательский класс Ultralytics tqdm с разными аргументами по умолчанию.
Обрати внимание, что их все равно можно переопределить при вызове TQDM.
Исходный код в ultralytics/utils/__init__.py
ultralytics.utils.SimpleClass
Ultralytics SimpleClass - это базовый класс, предоставляющий полезное представление строк, сообщения об ошибках и методы доступа к атрибутам. методы доступа к атрибутам для облегчения отладки и использования.
Исходный код в ultralytics/utils/__init__.py
__getattr__(attr)
Пользовательское сообщение об ошибке доступа к атрибутам с полезной информацией.
Исходный код в ultralytics/utils/__init__.py
__repr__()
__str__()
Верни человекочитаемое строковое представление объекта.
Исходный код в ultralytics/utils/__init__.py
ultralytics.utils.IterableSimpleNamespace
Базы: SimpleNamespace
Ultralytics IterableSimpleNamespace - это класс расширения SimpleNamespace, который добавляет функциональность итерации и позволяет использовать его в циклах dict() и for.
Исходный код в ultralytics/utils/__init__.py
__getattr__(attr)
Пользовательское сообщение об ошибке доступа к атрибутам с полезной информацией.
Исходный код в ultralytics/utils/__init__.py
__iter__()
__str__()
get(key, default=None)
Верни значение указанного ключа, если оно существует; в противном случае верни значение по умолчанию.
ultralytics.utils.ThreadingLocked
Класс-декоратор для обеспечения потокобезопасного выполнения функции или метода. Этот класс можно использовать в качестве декоратора чтобы убедиться, что если декорированная функция будет вызываться из нескольких потоков, то только один поток за раз сможет выполнить функцию.
Атрибуты:
Имя | Тип | Описание |
---|---|---|
lock |
Lock
|
Объект блокировки, используемый для управления доступом к декорированной функции. |
Пример
Исходный код в ultralytics/utils/__init__.py
__call__(f)
Запусти потокобезопасное выполнение функции или метода.
Исходный код в ultralytics/utils/__init__.py
ultralytics.utils.TryExcept
Базы: ContextDecorator
Ultralytics Класс TryExcept. Используй в качестве декоратора @TryExcept() или контекстного менеджера 'with TryExcept():'.
Примеры:
В качестве декоратора:
>>> @TryExcept(msg="Error occurred in func", verbose=True)
>>> def func():
>>> # Function logic here
>>> pass
В качестве контекстного менеджера:
Исходный код в ultralytics/utils/__init__.py
__enter__()
__exit__(exc_type, value, traceback)
Определяет поведение при выходе из блока 'with', при необходимости печатает сообщение об ошибке.
__init__(msg='', verbose=True)
Инициализируй класс TryExcept с необязательными настройками сообщения и вербосности.
ultralytics.utils.Retry
Базы: ContextDecorator
Класс повторных попыток для выполнения функций с экспоненциальной отдачей.
Может использоваться как декоратор или менеджер контекста для повторного выполнения функции или блока кода при возникновении исключений до определенного количества раз с экспоненциально возрастающей задержкой между повторными попытками. заданного количества раз с экспоненциально возрастающей задержкой между повторами.
Примеры:
Пример использования в качестве декоратора:
>>> @Retry(times=3, delay=2)
>>> def test_func():
>>> # Replace with function logic that may raise exceptions
>>> return True
Пример использования в качестве контекстного менеджера:
Исходный код в ultralytics/utils/__init__.py
__call__(func)
Реализация декоратора для Retry с экспоненциальной отдачей.
Исходный код в ultralytics/utils/__init__.py
__enter__()
__exit__(exc_type, exc_value, traceback)
Выйди из контекста выполнения, связанного с этим объектом, с экспоненциальным отступлением.
Исходный код в ultralytics/utils/__init__.py
__init__(times=3, delay=2)
Инициализируй класс Retry с указанным количеством повторных попыток и задержкой.
ultralytics.utils.SettingsManager
Базы: dict
Управляет настройками Ultralytics , хранящимися в YAML-файле.
Параметры:
Имя | Тип | Описание | По умолчанию |
---|---|---|---|
file |
str | Path
|
Путь к YAML-файлу настроек Ultralytics . По умолчанию это USER_CONFIG_DIR / 'settings.yaml'. |
SETTINGS_YAML
|
version |
str
|
Версия настроек. В случае несовпадения локальных версий будут сохранены новые настройки по умолчанию. |
'0.0.4'
|
Исходный код в ultralytics/utils/__init__.py
955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 |
|
__init__(file=SETTINGS_YAML, version='0.0.4')
Инициализируй SettingsManager с настройками по умолчанию, загрузи и проверь текущие настройки из YAML файла.
Исходный код в ultralytics/utils/__init__.py
load()
reset()
save()
ultralytics.utils.plt_settings(rcparams=None, backend='Agg')
Декоратор для временной установки параметров rc и бэкенда для функции черчения.
Пример
decorator: @plt_settings({"font.size": 12}) context manager: with plt_settings({"font.size": 12}):
Параметры:
Имя | Тип | Описание | По умолчанию |
---|---|---|---|
rcparams |
dict
|
Словарь параметров rc, которые нужно установить. |
None
|
backend |
str
|
Имя бэкенда, который будет использоваться. По умолчанию это 'Agg'. |
'Agg'
|
Возвращается:
Тип | Описание |
---|---|
Callable
|
Декорированная функция с временно заданными параметрами rc и бэкенда. Этот декоратор может быть применить к любой функции, для выполнения которой нужны определенные параметры matplotlib rc и backend. |
Исходный код в ultralytics/utils/__init__.py
ultralytics.utils.set_logging(name='LOGGING_NAME', verbose=True)
Устанавливает ведение журнала для заданного имени с поддержкой кодировки UTF-8, обеспечивая совместимость в различных окружениях.
Исходный код в ultralytics/utils/__init__.py
ultralytics.utils.emojis(string='')
ultralytics.utils.yaml_save(file='data.yaml', data=None, header='')
Сохрани данные YAML в файл.
Параметры:
Имя | Тип | Описание | По умолчанию |
---|---|---|---|
file |
str
|
Имя файла. По умолчанию это 'data.yaml'. |
'data.yaml'
|
data |
dict
|
Данные, которые нужно сохранить в формате YAML. |
None
|
header |
str
|
YAML-заголовок, который нужно добавить. |
''
|
Возвращается:
Тип | Описание |
---|---|
None
|
Данные сохраняются в указанный файл. |
Исходный код в ultralytics/utils/__init__.py
ultralytics.utils.yaml_load(file='data.yaml', append_filename=False)
Загрузи данные YAML из файла.
Параметры:
Имя | Тип | Описание | По умолчанию |
---|---|---|---|
file |
str
|
Имя файла. По умолчанию это 'data.yaml'. |
'data.yaml'
|
append_filename |
bool
|
Добавь имя YAML-файла в словарь YAML. По умолчанию это значение равно False. |
False
|
Возвращается:
Тип | Описание |
---|---|
dict
|
Данные YAML и имя файла. |
Исходный код в ultralytics/utils/__init__.py
ultralytics.utils.yaml_print(yaml_file)
Красиво печатает YAML-файл или словарь в формате YAML.
Параметры:
Имя | Тип | Описание | По умолчанию |
---|---|---|---|
yaml_file |
Union[str, Path, dict]
|
Путь к файлу YAML-файла или словаря в формате YAML. |
требуется |
Возвращается:
Тип | Описание |
---|---|
None
|
(Нет) |
Исходный код в ultralytics/utils/__init__.py
ultralytics.utils.read_device_model()
Считывает информацию о модели устройства из системы и кэширует ее для быстрого доступа. Используется функциями is_jetson() и is_raspberrypi().
Возвращается:
Тип | Описание |
---|---|
str
|
Содержимое файла модели, если чтение прошло успешно, или пустая строка в противном случае. |
Исходный код в ultralytics/utils/__init__.py
ultralytics.utils.is_ubuntu()
Проверь, является ли ОС Ubuntu.
Возвращается:
Тип | Описание |
---|---|
bool
|
True, если ОС - Ubuntu, False - в противном случае. |
Исходный код в ultralytics/utils/__init__.py
ultralytics.utils.is_colab()
Проверь, запущен ли текущий скрипт внутри блокнота Google Colab.
Возвращается:
Тип | Описание |
---|---|
bool
|
True, если выполняется внутри блокнота Colab, False - в противном случае. |
Исходный код в ultralytics/utils/__init__.py
ultralytics.utils.is_kaggle()
Проверь, запущен ли текущий скрипт внутри ядра Kaggle.
Возвращается:
Тип | Описание |
---|---|
bool
|
True, если он запущен внутри ядра Kaggle, False - в противном случае. |
Исходный код в ultralytics/utils/__init__.py
ultralytics.utils.is_jupyter()
Проверь, запущен ли текущий скрипт внутри Jupyter Notebook. Проверено на Colab, Jupyterlab, Kaggle, Paperspace.
Возвращается:
Тип | Описание |
---|---|
bool
|
True, если он запущен внутри Jupyter Notebook, False - в противном случае. |
Исходный код в ultralytics/utils/__init__.py
ultralytics.utils.is_docker()
Определи, запущен ли скрипт внутри контейнера Docker.
Возвращается:
Тип | Описание |
---|---|
bool
|
True, если скрипт запущен внутри контейнера Docker, False - в противном случае. |
Исходный код в ultralytics/utils/__init__.py
ultralytics.utils.is_raspberrypi()
Определяет, запущена ли среда Python на Raspberry Pi, проверяя информацию о модели устройства.
Возвращается:
Тип | Описание |
---|---|
bool
|
True, если он работает на Raspberry Pi, False - в противном случае. |
Исходный код в ultralytics/utils/__init__.py
ultralytics.utils.is_jetson()
Определяет, запущена ли среда Python на устройстве Jetson Nano или Jetson Orin, проверяя информацию о модели устройства. информацию.
Возвращается:
Тип | Описание |
---|---|
bool
|
True, если он работает на Jetson Nano или Jetson Orin, False - в противном случае. |
Исходный код в ultralytics/utils/__init__.py
ultralytics.utils.is_online()
Проверь возможность подключения к интернету, попытавшись подключиться к известному онлайн-хосту.
Возвращается:
Тип | Описание |
---|---|
bool
|
True, если соединение успешно, False в противном случае. |
Исходный код в ultralytics/utils/__init__.py
ultralytics.utils.is_pip_package(filepath=__name__)
Определяет, является ли файл по заданному файловому пути частью пакета pip.
Параметры:
Имя | Тип | Описание | По умолчанию |
---|---|---|---|
filepath |
str
|
Путь к файлу, который нужно проверить. |
__name__
|
Возвращается:
Тип | Описание |
---|---|
bool
|
True, если файл является частью пакета pip, False - в противном случае. |
Исходный код в ultralytics/utils/__init__.py
ultralytics.utils.is_dir_writeable(dir_path)
Проверь, пригодна ли директория для записи.
Параметры:
Имя | Тип | Описание | По умолчанию |
---|---|---|---|
dir_path |
str | Path
|
Путь к директории. |
требуется |
Возвращается:
Тип | Описание |
---|---|
bool
|
True, если каталог доступен для записи, False - в противном случае. |
Исходный код в ultralytics/utils/__init__.py
ultralytics.utils.is_pytest_running()
Определяет, запущен ли pytest в данный момент или нет.
Возвращается:
Тип | Описание |
---|---|
bool
|
True, если pytest запущен, False в противном случае. |
Исходный код в ultralytics/utils/__init__.py
ultralytics.utils.is_github_action_running()
Определи, является ли текущее окружение бегуном GitHub Actions.
Возвращается:
Тип | Описание |
---|---|
bool
|
True, если текущее окружение является бегуном GitHub Actions, False - в противном случае. |
Исходный код в ultralytics/utils/__init__.py
ultralytics.utils.get_git_dir()
Определяет, является ли текущий файл частью git-репозитория, и если да, то возвращает корневой каталог репозитория. Если текущий файл не является частью git-репозитория, возвращается None.
Возвращается:
Тип | Описание |
---|---|
Path | None
|
Корневой каталог Git, если он найден, или None, если не найден. |
Исходный код в ultralytics/utils/__init__.py
ultralytics.utils.is_git_dir()
Определяет, является ли текущий файл частью git-репозитория. Если текущий файл не является частью git репозитория, возвращается None.
Возвращается:
Тип | Описание |
---|---|
bool
|
True, если текущий файл является частью git-репозитория. |
Исходный код в ultralytics/utils/__init__.py
ultralytics.utils.get_git_origin_url()
Получает URL-адрес происхождения git-репозитория.
Возвращается:
Тип | Описание |
---|---|
str | None
|
URL-адрес происхождения git-репозитория или None, если это не git-каталог. |
Исходный код в ultralytics/utils/__init__.py
ultralytics.utils.get_git_branch()
Возвращает имя текущей ветки git. Если ветки нет в git-репозитории, возвращается None.
Возвращается:
Тип | Описание |
---|---|
str | None
|
Имя текущей ветки git или None, если это не директория git. |
Исходный код в ultralytics/utils/__init__.py
ultralytics.utils.get_default_args(func)
Возвращает словарь аргументов по умолчанию для функции.
Параметры:
Имя | Тип | Описание | По умолчанию |
---|---|---|---|
func |
callable
|
Функция, которую нужно проверить. |
требуется |
Возвращается:
Тип | Описание |
---|---|
dict
|
Словарь, в котором каждый ключ - это имя параметра, а каждое значение - это значение этого параметра по умолчанию. |
Исходный код в ultralytics/utils/__init__.py
ultralytics.utils.get_ubuntu_version()
Получи версию Ubuntu, если ОС - Ubuntu.
Возвращается:
Тип | Описание |
---|---|
str
|
Версия Ubuntu или None, если не Ubuntu OS. |
Исходный код в ultralytics/utils/__init__.py
ultralytics.utils.get_user_config_dir(sub_dir='Ultralytics')
Верни соответствующую директорию конфигов в зависимости от операционной системы окружения.
Параметры:
Имя | Тип | Описание | По умолчанию |
---|---|---|---|
sub_dir |
str
|
Имя подкаталога, который нужно создать. |
'Ultralytics'
|
Возвращается:
Тип | Описание |
---|---|
Path
|
Путь к директории пользовательского конфига. |
Исходный код в ultralytics/utils/__init__.py
ultralytics.utils.colorstr(*input)
Раскрашивает строку в соответствии с заданными аргументами цвета и стиля. Использует аварийные коды ANSI. Более подробную информацию см. на сайте https://en.wikipedia.org/wiki/ANSI_escape_code.
Эта функция может быть вызвана двумя способами
- colorstr('color', 'style', 'your string')
- colorstr('твоя строка')
Во второй форме по умолчанию будут применены "синий" и "жирный" цвета.
Параметры:
Имя | Тип | Описание | По умолчанию |
---|---|---|---|
*input |
str
|
Последовательность строк, в которой первые n-1 строк являются аргументами цвета и стиля, а последняя строка - та, которую нужно раскрасить. |
()
|
Поддерживаемые цвета и стили
Основные цвета: 'черный', 'красный', 'зеленый', 'желтый', 'синий', 'пурпурный', 'голубой', 'белый'. Яркие цвета: 'bright_black', 'bright_red', 'bright_green', 'bright_yellow', 'bright_blue', 'bright_magenta', 'bright_cyan', 'bright_white'. Misc: 'end', 'bold', 'underline'
Возвращается:
Тип | Описание |
---|---|
str
|
Входная строка, обернутая кодами ANSI для указанного цвета и стиля. |
Примеры:
Исходный код в ultralytics/utils/__init__.py
ultralytics.utils.remove_colorstr(input_string)
Удаляет из строки escape-коды ANSI, эффективно снимая с нее цвет.
Параметры:
Имя | Тип | Описание | По умолчанию |
---|---|---|---|
input_string |
str
|
Строка, из которой нужно удалить цвет и стиль. |
требуется |
Возвращается:
Тип | Описание |
---|---|
str
|
Новая строка, из которой удалены все escape-коды ANSI. |
Примеры:
Исходный код в ultralytics/utils/__init__.py
ultralytics.utils.threaded(func)
Многопоточность целевой функции по умолчанию и возвращает результат работы потока или функции.
Используй в качестве декоратора @threaded. Функция запускается в отдельном потоке, если не передать 'threaded=False'.
Исходный код в ultralytics/utils/__init__.py
ultralytics.utils.set_sentry()
Инициализируй Sentry SDK для отслеживания ошибок и создания отчетов. Используется только в том случае, если установлен пакет sentry_sdk и sync=True в настройках. Выполни 'yolo settings', чтобы посмотреть и обновить YAML-файл настроек.
Условия, необходимые для отправки ошибок (ВСЕ условия должны быть выполнены, иначе об ошибках не будет сообщено): - установлен пакет sentry_sdk - sync=True в настройках YOLO - pytest не запущен - запущен при установке пакета pip - запущен не в директории git - запущен с рангом -1 или 0 - онлайн-окружение - CLI используется для запуска пакета (проверяется с помощью 'yolo' в качестве имени основной команды CLI )
Эта функция также настраивает Sentry SDK на игнорирование исключений KeyboardInterrupt и FileNotFoundError а также исключать события, в сообщении об исключении которых содержится "out of memory".
Кроме того, функция устанавливает пользовательские теги и информацию о пользователе для событий Sentry.
Исходный код в ultralytics/utils/__init__.py
ultralytics.utils.deprecation_warn(arg, new_arg, version=None)
При использовании устаревшего аргумента выдай предупреждение об устаревании, предложив обновленный аргумент.
Исходный код в ultralytics/utils/__init__.py
ultralytics.utils.clean_url(url)
Убери auth из URL, то есть https://url.com/file.txt?auth -> https://url.com/file.txt.