Referencia para ultralytics/utils/__init__.py
Nota
Este archivo está disponible en https://github.com/ultralytics/ ultralytics/blob/main/ ultralytics/utils/init.py. Si detectas algún problema, por favor, ayuda a solucionarlo contribuyendo con una Pull Request 🛠️. ¡Gracias 🙏!
ultralytics.utils.TQDM
Bases: tqdm
Clase personalizada Ultralytics tqdm con diferentes argumentos por defecto.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
*args |
list
|
Argumentos posicionales pasados al tqdm original. |
()
|
**kwargs |
any
|
Argumentos de palabras clave, con valores predeterminados personalizados aplicados. |
{}
|
Código fuente en ultralytics/utils/__init__.py
__init__(*args, **kwargs)
Inicializa la clase personalizada Ultralytics tqdm con diferentes argumentos por defecto.
Ten en cuenta que aún se pueden anular al llamar a TQDM.
Código fuente en ultralytics/utils/__init__.py
ultralytics.utils.SimpleClass
Ultralytics SimpleClass es una clase base que proporciona una representación de cadenas útil, informes de errores y métodos de acceso a atributos para facilitar la depuración y el uso. para facilitar la depuración y el uso.
Código fuente en ultralytics/utils/__init__.py
__getattr__(attr)
Mensaje de error personalizado de acceso a atributos con información útil.
Código fuente en ultralytics/utils/__init__.py
__repr__()
__str__()
Devuelve una representación de cadena legible por humanos del objeto.
Código fuente en ultralytics/utils/__init__.py
ultralytics.utils.IterableSimpleNamespace
Bases: SimpleNamespace
Ultralytics IterableSimpleNamespace es una clase de extensión de SimpleNamespace que añade funcionalidad iterable y permite su uso con dict() y bucles for.
Código fuente en ultralytics/utils/__init__.py
__getattr__(attr)
Mensaje de error personalizado de acceso a atributos con información útil.
Código fuente en ultralytics/utils/__init__.py
__iter__()
__str__()
get(key, default=None)
Devuelve el valor de la clave especificada si existe; en caso contrario, devuelve el valor por defecto.
ultralytics.utils.ThreadingLocked
Una clase decoradora para garantizar la ejecución segura de una función o método. Esta clase puede utilizarse como decorador para garantizar que, si la función decorada se llama desde varios subprocesos, sólo un subproceso a la vez podrá ejecutar la función. ejecutar la función.
Atributos:
Nombre | Tipo | Descripción |
---|---|---|
lock |
Lock
|
Un objeto de bloqueo utilizado para gestionar el acceso a la función decorada. |
Ejemplo
Código fuente en ultralytics/utils/__init__.py
__call__(f)
Ejecuta una función o método a prueba de hilos.
Código fuente en ultralytics/utils/__init__.py
ultralytics.utils.TryExcept
Bases: ContextDecorator
Ultralytics Clase TryExcept. Utilízalo como decorador @TryExcept() o gestor de contexto 'with TryExcept():'.
Ejemplos:
Como decorador:
>>> @TryExcept(msg="Error occurred in func", verbose=True)
>>> def func():
>>> # Function logic here
>>> pass
Como gestor de contexto:
Código fuente en ultralytics/utils/__init__.py
__enter__()
__exit__(exc_type, value, traceback)
Define el comportamiento al salir de un bloque 'con', imprime un mensaje de error si es necesario.
Código fuente en ultralytics/utils/__init__.py
__init__(msg='', verbose=True)
ultralytics.utils.Retry
Bases: ContextDecorator
Clase de reintentos para la ejecución de funciones con backoff exponencial.
Se puede utilizar como decorador o gestor de contexto para reintentar una función o bloque de código en caso de excepción, hasta un número especificado de veces con un retardo exponencialmente creciente entre reintentos.
Ejemplos:
Ejemplo de uso como decorador:
>>> @Retry(times=3, delay=2)
>>> def test_func():
>>> # Replace with function logic that may raise exceptions
>>> return True
Ejemplo de uso como gestor de contexto:
Código fuente en ultralytics/utils/__init__.py
__call__(func)
Implementación de decorador para Reintento con backoff exponencial.
Código fuente en ultralytics/utils/__init__.py
__enter__()
__exit__(exc_type, exc_value, traceback)
Salir del contexto de ejecución relacionado con este objeto con retroceso exponencial.
Código fuente en ultralytics/utils/__init__.py
__init__(times=3, delay=2)
Inicializa la clase Reintentos con el número de reintentos y el retardo especificados.
ultralytics.utils.SettingsManager
Bases: dict
Gestiona los ajustes de Ultralytics almacenados en un archivo YAML.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
file |
str | Path
|
Ruta al archivo YAML de configuración de Ultralytics . Por defecto es USER_CONFIG_DIR / 'settings.yaml'. |
SETTINGS_YAML
|
version |
str
|
Versión de los ajustes. En caso de que la versión local no coincida, se guardarán los nuevos ajustes por defecto. |
'0.0.4'
|
Código fuente en 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')
Inicializa el SettingsManager con la configuración por defecto, carga y valida la configuración actual desde el archivo YAML del archivo YAML.
Código fuente en ultralytics/utils/__init__.py
load()
reset()
save()
ultralytics.utils.plt_settings(rcparams=None, backend='Agg')
Decorador para establecer temporalmente los parámetros rc y el backend de una función de trazado.
Ejemplo
decorator: @plt_settings({"font.size": 12}) context manager: with plt_settings({"font.size": 12}):
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
rcparams |
dict
|
Diccionario de parámetros rc a ajustar. |
None
|
backend |
str
|
Nombre del backend a utilizar. Por defecto es 'Agg'. |
'Agg'
|
Devuelve:
Tipo | Descripción |
---|---|
Callable
|
Función decorada con parámetros rc y backend establecidos temporalmente. Este decorador se puede aplicado a cualquier función que necesite tener parámetros rc y backend matplotlib específicos para su ejecución. |
Código fuente en ultralytics/utils/__init__.py
ultralytics.utils.set_logging(name='LOGGING_NAME', verbose=True)
Configura el registro para el nombre dado con soporte de codificación UTF-8, asegurando la compatibilidad en distintos entornos.
Código fuente en ultralytics/utils/__init__.py
ultralytics.utils.emojis(string='')
ultralytics.utils.yaml_save(file='data.yaml', data=None, header='')
Guarda los datos YAML en un archivo.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
file |
str
|
Nombre del archivo. Por defecto es 'data.yaml'. |
'data.yaml'
|
data |
dict
|
Datos a guardar en formato YAML. |
None
|
header |
str
|
Cabecera YAML a añadir. |
''
|
Devuelve:
Tipo | Descripción |
---|---|
None
|
Los datos se guardan en el archivo especificado. |
Código fuente en ultralytics/utils/__init__.py
ultralytics.utils.yaml_load(file='data.yaml', append_filename=False)
Carga datos YAML de un archivo.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
file |
str
|
Nombre del archivo. Por defecto es 'data.yaml'. |
'data.yaml'
|
append_filename |
bool
|
Añade el nombre del archivo YAML al diccionario YAML. Por defecto es Falso. |
False
|
Devuelve:
Tipo | Descripción |
---|---|
dict
|
Datos YAML y nombre del archivo. |
Código fuente en ultralytics/utils/__init__.py
ultralytics.utils.yaml_print(yaml_file)
Imprime un archivo YAML o un diccionario con formato YAML.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
yaml_file |
Union[str, Path, dict]
|
La ruta del archivo YAML o de un diccionario con formato YAML. |
necesario |
Devuelve:
Tipo | Descripción |
---|---|
None
|
(Ninguno) |
Código fuente en ultralytics/utils/__init__.py
ultralytics.utils.read_device_model()
Lee la información del modelo de dispositivo del sistema y la almacena en caché para un acceso rápido. Utilizado por is_jetson() y is_raspberrypi().
Devuelve:
Tipo | Descripción |
---|---|
str
|
Contenido del fichero modelo si se lee correctamente o cadena vacía en caso contrario. |
Código fuente en ultralytics/utils/__init__.py
ultralytics.utils.is_ubuntu()
Comprueba si el SO es Ubuntu.
Devuelve:
Tipo | Descripción |
---|---|
bool
|
Verdadero si el SO es Ubuntu, Falso en caso contrario. |
Código fuente en ultralytics/utils/__init__.py
ultralytics.utils.is_colab()
Comprueba si el script actual se está ejecutando dentro de un bloc de notas de Google Colab.
Devuelve:
Tipo | Descripción |
---|---|
bool
|
Verdadero si se ejecuta dentro de un cuaderno Colab, Falso en caso contrario. |
Código fuente en ultralytics/utils/__init__.py
ultralytics.utils.is_kaggle()
Comprueba si el script actual se está ejecutando dentro de un núcleo Kaggle.
Devuelve:
Tipo | Descripción |
---|---|
bool
|
True si se ejecuta dentro de un núcleo Kaggle, False en caso contrario. |
Código fuente en ultralytics/utils/__init__.py
ultralytics.utils.is_jupyter()
Comprueba si el script actual se está ejecutando dentro de un Jupyter Notebook. Verificado en Colab, Jupyterlab, Kaggle, Paperspace.
Devuelve:
Tipo | Descripción |
---|---|
bool
|
True si se ejecuta dentro de un Jupyter Notebook, False en caso contrario. |
Código fuente en ultralytics/utils/__init__.py
ultralytics.utils.is_docker()
Determina si el script se está ejecutando dentro de un contenedor Docker.
Devuelve:
Tipo | Descripción |
---|---|
bool
|
True si el script se está ejecutando dentro de un contenedor Docker, False en caso contrario. |
Código fuente en ultralytics/utils/__init__.py
ultralytics.utils.is_raspberrypi()
Determina si el entorno Python se está ejecutando en una Raspberry Pi comprobando la información del modelo del dispositivo.
Devuelve:
Tipo | Descripción |
---|---|
bool
|
Verdadero si se ejecuta en una Raspberry Pi, Falso en caso contrario. |
Código fuente en ultralytics/utils/__init__.py
ultralytics.utils.is_jetson()
Determina si el entorno Python se está ejecutando en un dispositivo Jetson Nano o Jetson Orin comprobando la información del modelo de dispositivo del dispositivo.
Devuelve:
Tipo | Descripción |
---|---|
bool
|
Verdadero si se ejecuta en una Jetson Nano o una Jetson Orin, Falso en caso contrario. |
Código fuente en ultralytics/utils/__init__.py
ultralytics.utils.is_online()
Comprueba la conectividad a Internet intentando conectarte a un host online conocido.
Devuelve:
Tipo | Descripción |
---|---|
bool
|
Verdadero si la conexión tiene éxito, Falso en caso contrario. |
Código fuente en ultralytics/utils/__init__.py
ultralytics.utils.is_pip_package(filepath=__name__)
Determina si el archivo de la ruta dada forma parte de un paquete pip.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
filepath |
str
|
La ruta del archivo a comprobar. |
__name__
|
Devuelve:
Tipo | Descripción |
---|---|
bool
|
True si el archivo forma parte de un paquete pip, False en caso contrario. |
Código fuente en ultralytics/utils/__init__.py
ultralytics.utils.is_dir_writeable(dir_path)
Comprueba si se puede escribir en un directorio.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
dir_path |
str | Path
|
La ruta al directorio. |
necesario |
Devuelve:
Tipo | Descripción |
---|---|
bool
|
True si el directorio es escribible, False en caso contrario. |
Código fuente en ultralytics/utils/__init__.py
ultralytics.utils.is_pytest_running()
Determina si pytest se está ejecutando o no.
Devuelve:
Tipo | Descripción |
---|---|
bool
|
Verdadero si pytest se está ejecutando, Falso en caso contrario. |
Código fuente en ultralytics/utils/__init__.py
ultralytics.utils.is_github_action_running()
Determina si el entorno actual es un ejecutor de Acciones de GitHub.
Devuelve:
Tipo | Descripción |
---|---|
bool
|
True si el entorno actual es un ejecutor de Acciones de GitHub, False en caso contrario. |
Código fuente en ultralytics/utils/__init__.py
ultralytics.utils.get_git_dir()
Determina si el archivo actual forma parte de un repositorio git y, en caso afirmativo, devuelve el directorio raíz del repositorio. Si el archivo actual no forma parte de un repositorio git, devuelve Ninguno.
Devuelve:
Tipo | Descripción |
---|---|
Path | None
|
Directorio raíz de Git si se encuentra o Ninguno si no se encuentra. |
Código fuente en ultralytics/utils/__init__.py
ultralytics.utils.is_git_dir()
Determina si el archivo actual forma parte de un repositorio git. Si el archivo actual no forma parte de un repositorio git devuelve Ninguno.
Devuelve:
Tipo | Descripción |
---|---|
bool
|
Verdadero si el archivo actual forma parte de un repositorio git. |
Código fuente en ultralytics/utils/__init__.py
ultralytics.utils.get_git_origin_url()
Recupera la URL de origen de un repositorio git.
Devuelve:
Tipo | Descripción |
---|---|
str | None
|
La URL de origen del repositorio git o Ninguno si no es el directorio git. |
Código fuente en ultralytics/utils/__init__.py
ultralytics.utils.get_git_branch()
Devuelve el nombre de la rama git actual. Si no está en un repositorio git, devuelve Ninguno.
Devuelve:
Tipo | Descripción |
---|---|
str | None
|
El nombre de la rama git actual o Ninguno si no es un directorio git. |
Código fuente en ultralytics/utils/__init__.py
ultralytics.utils.get_default_args(func)
Devuelve un diccionario de argumentos por defecto para una función.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
func |
callable
|
La función a inspeccionar. |
necesario |
Devuelve:
Tipo | Descripción |
---|---|
dict
|
Un diccionario en el que cada clave es un nombre de parámetro, y cada valor es el valor por defecto de ese parámetro. |
Código fuente en ultralytics/utils/__init__.py
ultralytics.utils.get_ubuntu_version()
Recupera la versión de Ubuntu si el SO es Ubuntu.
Devuelve:
Tipo | Descripción |
---|---|
str
|
Versión de Ubuntu o Ninguna si no es un SO Ubuntu. |
Código fuente en ultralytics/utils/__init__.py
ultralytics.utils.get_user_config_dir(sub_dir='Ultralytics')
Devuelve el directorio de configuración adecuado en función del sistema operativo del entorno.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
sub_dir |
str
|
El nombre del subdirectorio a crear. |
'Ultralytics'
|
Devuelve:
Tipo | Descripción |
---|---|
Path
|
La ruta al directorio de configuración del usuario. |
Código fuente en ultralytics/utils/__init__.py
ultralytics.utils.colorstr(*input)
Colorea una cadena basándote en los argumentos de color y estilo proporcionados. Utiliza códigos de escape ANSI. Consulta https://en.wikipedia.org/wiki/ANSI_escape_code para más detalles.
Esta función se puede llamar de dos formas
- colorstr('color', 'estilo', 'tu cadena')
- colorstr('tu cadena')
En el segundo formulario, se aplicarán por defecto "azul" y "negrita".
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
*input |
str
|
Una secuencia de cadenas donde las primeras n-1 cadenas son argumentos de color y estilo, y la última cadena es la que se va a colorear. |
()
|
Colores y estilos admitidos
Colores básicos: 'negro', 'rojo', 'verde', 'amarillo', 'azul', 'magenta', 'cian', 'blanco' Colores brillantes: 'negro_brillante', 'rojo_brillante', 'verde_brillante', 'amarillo_brillante', azul_brillante, magenta_brillante, cian_brillante, blanco_brillante Misc: 'fin', 'negrita', 'subrayado'
Devuelve:
Tipo | Descripción |
---|---|
str
|
La cadena de entrada envuelta con códigos de escape ANSI para el color y estilo especificados. |
Ejemplos:
Código fuente en ultralytics/utils/__init__.py
ultralytics.utils.remove_colorstr(input_string)
Elimina los códigos de escape ANSI de una cadena, des coloreándola.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
input_string |
str
|
La cadena de la que eliminar el color y el estilo. |
necesario |
Devuelve:
Tipo | Descripción |
---|---|
str
|
Una nueva cadena con todos los códigos de escape ANSI eliminados. |
Ejemplos:
Código fuente en ultralytics/utils/__init__.py
ultralytics.utils.threaded(func)
Multihilo de una función objetivo por defecto y devuelve el hilo o el resultado de la función.
Utilízalo como decorador @threaded. La función se ejecuta en un hilo independiente a menos que se pase 'threaded=False'.
Código fuente en ultralytics/utils/__init__.py
ultralytics.utils.set_sentry()
Inicializa el SDK Sentry para el seguimiento y notificación de errores. Sólo se utiliza si el paquete sentry_sdk está instalado y sync=True en la configuración. Ejecuta 'yolo settings' para ver y actualizar el archivo YAML de configuración.
Condiciones necesarias para enviar errores (deben cumplirse TODAS las condiciones o no se informará de los errores): - el paquete sentry_sdk está instalado - sync=True en los ajustes de YOLO - pytest no se está ejecutando - ejecutándose en una instalación de paquete pip - se ejecuta en un directorio que no es git - ejecutándose con rango -1 o 0 - entorno en línea - CLI utilizado para ejecutar el paquete (comprobado con 'yolo' como nombre del comando principal CLI )
La función también configura Sentry SDK para que ignore las excepciones KeyboardInterrupt y FileNotFoundError y para excluir los eventos con "sin memoria" en su mensaje de excepción.
Además, la función establece etiquetas personalizadas e información de usuario para los eventos de Sentry.
Código fuente en ultralytics/utils/__init__.py
ultralytics.utils.deprecation_warn(arg, new_arg, version=None)
Emitir un aviso de obsoleto cuando se utilice un argumento obsoleto, sugiriendo un argumento actualizado.
Código fuente en ultralytics/utils/__init__.py
ultralytics.utils.clean_url(url)
Elimina la autenticidad de la URL, es decir, https://url.com/file.txt?auth -> https://url.com/file.txt.