Referencia para ultralytics/utils/checks.py
Nota
Este archivo está disponible en https://github.com/ultralytics/ ultralytics/blob/main/ ultralytics/utils/checks .py. Si detectas algún problema, por favor, ayuda a solucionarlo contribuyendo con una Pull Request 🛠️. ¡Gracias 🙏!
ultralytics.utils.checks.parse_requirements(file_path=ROOT.parent / 'requirements.txt', package='')
Analiza un archivo requirements.txt, ignorando las líneas que empiecen por "#" y cualquier texto después de "#".
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
file_path |
Path
|
Ruta al archivo requirements.txt. |
parent / 'requirements.txt'
|
package |
str
|
Python paquete a utilizar en lugar del archivo requirements.txt, es decir, package='ultralytics'. |
''
|
Devuelve:
Tipo | Descripción |
---|---|
List[Dict[str, str]]
|
Lista de requisitos analizados como diccionarios con |
Ejemplo
Código fuente en ultralytics/utils/checks.py
ultralytics.utils.checks.parse_version(version='0.0.0')
Convierte una cadena de versión en una tupla de números enteros, ignorando cualquier cadena no numérica adicional adjunta a la versión. Esta función de sustituye a la obsoleta 'pkg_resources.parse_version(v)'.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
version |
str
|
Cadena de versión, por ejemplo "2.0.1+cpu". |
'0.0.0'
|
Devuelve:
Tipo | Descripción |
---|---|
tuple
|
Tupla de enteros que representan la parte numérica de la versión y la cadena extra, es decir (2, 0, 1) |
Código fuente en ultralytics/utils/checks.py
ultralytics.utils.checks.is_ascii(s)
Comprueba si una cadena está compuesta sólo por caracteres ASCII.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
s |
str
|
Cadena que hay que comprobar. |
necesario |
Devuelve:
Tipo | Descripción |
---|---|
bool
|
Verdadero si la cadena está compuesta sólo por caracteres ASCII, Falso en caso contrario. |
Código fuente en ultralytics/utils/checks.py
ultralytics.utils.checks.check_imgsz(imgsz, stride=32, min_dim=1, max_dim=2, floor=0)
Comprueba que el tamaño de la imagen es múltiplo de la longitud dada en cada dimensión. Si el tamaño de la imagen no es múltiplo de la la secuencia, actualízala al múltiplo más cercano de la secuencia que sea mayor o igual que el valor mínimo dado.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
imgsz |
int | cList[int]
|
Tamaño de la imagen. |
necesario |
stride |
int
|
Valor de zancada. |
32
|
min_dim |
int
|
Número mínimo de dimensiones. |
1
|
max_dim |
int
|
Número máximo de dimensiones. |
2
|
floor |
int
|
Valor mínimo permitido para el tamaño de la imagen. |
0
|
Devuelve:
Tipo | Descripción |
---|---|
List[int]
|
Tamaño de imagen actualizado. |
Código fuente en ultralytics/utils/checks.py
ultralytics.utils.checks.check_version(current='0.0.0', required='0.0.0', name='version', hard=False, verbose=False, msg='')
Compara la versión actual con la versión o rango requerido.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
current |
str
|
Versión actual o nombre del paquete del que obtener la versión. |
'0.0.0'
|
required |
str
|
Versión o rango requerido (en formato estilo pip). |
'0.0.0'
|
name |
str
|
Nombre que se utilizará en el mensaje de advertencia. |
'version'
|
hard |
bool
|
Si es True, lanza un AssertionError si no se cumple el requisito. |
False
|
verbose |
bool
|
Si es Verdadero, imprime un mensaje de advertencia si no se cumple el requisito. |
False
|
msg |
str
|
Mensaje extra a mostrar si es verboso. |
''
|
Devuelve:
Tipo | Descripción |
---|---|
bool
|
Verdadero si se cumple el requisito, Falso en caso contrario. |
Ejemplo
# Check if current version is exactly 22.04
check_version(current='22.04', required='==22.04')
# Check if current version is greater than or equal to 22.04
check_version(current='22.10', required='22.04') # assumes '>=' inequality if none passed
# Check if current version is less than or equal to 22.04
check_version(current='22.04', required='<=22.04')
# Check if current version is between 20.04 (inclusive) and 22.04 (exclusive)
check_version(current='21.10', required='>20.04,<22.04')
Código fuente en ultralytics/utils/checks.py
175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 |
|
ultralytics.utils.checks.check_latest_pypi_version(package_name='ultralytics')
Devuelve la última versión de un paquete PyPI sin descargarlo ni instalarlo.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
package_name |
str
|
El nombre del paquete para el que hay que buscar la última versión. |
'ultralytics'
|
Devuelve:
Tipo | Descripción |
---|---|
str
|
La última versión del paquete. |
Código fuente en ultralytics/utils/checks.py
ultralytics.utils.checks.check_pip_update_available()
Comprueba si hay una nueva versión del paquete ultralytics disponible en PyPI.
Devuelve:
Tipo | Descripción |
---|---|
bool
|
Verdadero si hay una actualización disponible, Falso en caso contrario. |
Código fuente en ultralytics/utils/checks.py
ultralytics.utils.checks.check_font(font='Arial.ttf')
Busca la fuente localmente o descárgala en el directorio de configuración del usuario si aún no existe.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
font |
str
|
Ruta o nombre de la fuente. |
'Arial.ttf'
|
Devuelve:
Nombre | Tipo | Descripción |
---|---|---|
file |
Path
|
Resuelta la ruta del archivo de fuentes. |
Código fuente en ultralytics/utils/checks.py
ultralytics.utils.checks.check_python(minimum='3.8.0')
Comprueba la versión actual de python con la versión mínima requerida.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
minimum |
str
|
Versión mínima requerida de python. |
'3.8.0'
|
Devuelve:
Tipo | Descripción |
---|---|
bool
|
Si la versión instalada de Python cumple las restricciones mínimas. |
Código fuente en ultralytics/utils/checks.py
ultralytics.utils.checks.check_requirements(requirements=ROOT.parent / 'requirements.txt', exclude=(), install=True, cmds='')
Comprueba si las dependencias instaladas cumplen los requisitos de YOLOv8 e intenta auto-actualizarlas si es necesario.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
requirements |
Union[Path, str, List[str]]
|
Ruta a un archivo requirements.txt, un único requisito de paquete como cadena o una lista de requisitos de paquetes como cadenas. |
parent / 'requirements.txt'
|
exclude |
Tuple[str]
|
Tupla de nombres de paquetes a excluir de la comprobación. |
()
|
install |
bool
|
Si es Verdadero, intenta actualizar automáticamente los paquetes que no cumplan los requisitos. |
True
|
cmds |
str
|
Comandos adicionales para pasar al comando pip install cuando se auto-actualiza. |
''
|
Ejemplo
Código fuente en ultralytics/utils/checks.py
ultralytics.utils.checks.check_torchvision()
Comprueba las versiones instaladas de PyTorch y Torchvision para asegurarte de que son compatibles.
Esta función comprueba las versiones instaladas de PyTorch y Torchvision, y avisa si son incompatibles según la tabla de compatibilidad proporcionada basada en: https://github.com/pytorch/vision#instalación.
La tabla de compatibilidad es un diccionario en el que las claves son versiones de PyTorch y los valores son listas de versiones compatibles de versiones de Torchvision.
Código fuente en ultralytics/utils/checks.py
ultralytics.utils.checks.check_suffix(file='yolov8n.pt', suffix='.pt', msg='')
Comprueba si los archivos tienen un sufijo aceptable.
Código fuente en ultralytics/utils/checks.py
ultralytics.utils.checks.check_yolov5u_filename(file, verbose=True)
Sustituye los nombres de archivo antiguos de YOLOv5 por nombres de archivo actualizados de YOLOv5u.
Código fuente en ultralytics/utils/checks.py
ultralytics.utils.checks.check_model_file_from_stem(model='yolov8n')
Devuelve un nombre de archivo de modelo de un vástago de modelo válido.
Código fuente en ultralytics/utils/checks.py
ultralytics.utils.checks.check_file(file, suffix='', download=True, hard=True)
Busca/descarga el archivo (si es necesario) y devuelve la ruta.
Código fuente en ultralytics/utils/checks.py
ultralytics.utils.checks.check_yaml(file, suffix=('.yaml', '.yml'), hard=True)
Busca/descarga el archivo YAML (si es necesario) y devuelve la ruta, comprobando el sufijo.
ultralytics.utils.checks.check_is_path_safe(basedir, path)
Comprueba si la ruta resuelta se encuentra bajo el directorio previsto para evitar el cruce de rutas.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
basedir |
Path | str
|
El directorio previsto. |
necesario |
path |
Path | str
|
El camino a comprobar. |
necesario |
Devuelve:
Tipo | Descripción |
---|---|
bool
|
Verdadero si la ruta es segura, Falso en caso contrario. |
Código fuente en ultralytics/utils/checks.py
ultralytics.utils.checks.check_imshow(warn=False)
Comprueba si el entorno admite visualizaciones de imágenes.
Código fuente en ultralytics/utils/checks.py
ultralytics.utils.checks.check_yolo(verbose=True, device='')
Devuelve un resumen de software y hardware legible por humanos YOLO .
Código fuente en ultralytics/utils/checks.py
ultralytics.utils.checks.collect_system_info()
Recopila e imprime la información relevante del sistema, incluyendo SO, Python, RAM, CPU y CUDA.
Código fuente en ultralytics/utils/checks.py
ultralytics.utils.checks.check_amp(model)
Esta función comprueba la funcionalidad PyTorch Automatic Mixed Precision (AMP) de un modelo YOLOv8 . Si las comprobaciones fallan, significa que hay anomalías con AMP en el sistema que pueden causar pérdidas NaN o resultados de cero-mAP, por lo que AMP será se desactivará durante el entrenamiento.
Parámetros:
Nombre | Tipo | Descripción | Por defecto |
---|---|---|---|
model |
Module
|
Una instancia del modelo YOLOv8 . |
necesario |
Ejemplo
Devuelve:
Tipo | Descripción |
---|---|
bool
|
Devuelve True si la funcionalidad AMP funciona correctamente con el modelo YOLOv8 , en caso contrario False. |
Código fuente en ultralytics/utils/checks.py
ultralytics.utils.checks.git_describe(path=ROOT)
Devuelve una descripción git legible por humanos, es decir, v5.0-5-g3e25f1e https://git-scm.com/docs/git-describe.
Código fuente en ultralytics/utils/checks.py
ultralytics.utils.checks.print_args(args=None, show_file=True, show_func=False)
Imprime los argumentos de la función (args dict opcional).
Código fuente en ultralytics/utils/checks.py
ultralytics.utils.checks.cuda_device_count()
Obtén el número de GPUs NVIDIA disponibles en el entorno.
Devuelve:
Tipo | Descripción |
---|---|
int
|
El número de GPUs NVIDIA disponibles. |
Código fuente en ultralytics/utils/checks.py
ultralytics.utils.checks.cuda_is_available()
Comprueba si CUDA está disponible en el entorno.
Devuelve:
Tipo | Descripción |
---|---|
bool
|
True si hay una o más GPUs NVIDIA disponibles, False en caso contrario. |