Référence pour ultralytics/utils/checks.py
Note
Ce fichier est disponible à l'adresse https://github.com/ultralytics/ ultralytics/blob/main/ ultralytics/utils/checks .py. Si tu repères un problème, aide à le corriger en contribuant à une Pull Request 🛠️. Merci 🙏 !
ultralytics.utils.checks.parse_requirements(file_path=ROOT.parent / 'requirements.txt', package='')
Analyse un fichier requirements.txt, en ignorant les lignes qui commencent par '#' et tout texte après '#'.
Paramètres :
Nom | Type | Description | Défaut |
---|---|---|---|
file_path |
Path
|
Chemin d'accès au fichier requirements.txt. |
parent / 'requirements.txt'
|
package |
str
|
Python package à utiliser à la place du fichier requirements.txt, c'est-à-dire package='ultralytics'. |
''
|
Retourne :
Type | Description |
---|---|
List[Dict[str, str]]
|
Liste des exigences analysées sous forme de dictionnaires avec |
Exemple
Code source dans ultralytics/utils/checks.py
ultralytics.utils.checks.parse_version(version='0.0.0')
Convertit une chaîne de version en un tuple d'entiers, en ignorant toute chaîne non numérique supplémentaire attachée à la version. Cette fonction remplace la fonction obsolète 'pkg_resources.parse_version(v)'.
Paramètres :
Nom | Type | Description | Défaut |
---|---|---|---|
version |
str
|
Chaîne de version, par exemple '2.0.1+cpu' |
'0.0.0'
|
Retourne :
Type | Description |
---|---|
tuple
|
Tuple d'entiers représentant la partie numérique de la version et la chaîne supplémentaire, c'est-à-dire (2, 0, 1). |
Code source dans ultralytics/utils/checks.py
ultralytics.utils.checks.is_ascii(s)
Vérifie si une chaîne de caractères est composée uniquement de caractères ASCII.
Paramètres :
Nom | Type | Description | Défaut |
---|---|---|---|
s |
str
|
Chaîne à vérifier. |
requis |
Retourne :
Type | Description |
---|---|
bool
|
Vrai si la chaîne est composée uniquement de caractères ASCII, Faux sinon. |
Code source dans ultralytics/utils/checks.py
ultralytics.utils.checks.check_imgsz(imgsz, stride=32, min_dim=1, max_dim=2, floor=0)
Vérifie que la taille de l'image est un multiple de l'échelle donnée dans chaque dimension. Si la taille de l'image n'est pas un multiple de la la met à jour avec le multiple le plus proche de l'échelle qui est supérieur ou égal à la valeur plancher donnée.
Paramètres :
Nom | Type | Description | Défaut |
---|---|---|---|
imgsz |
int | cList[int]
|
Taille de l'image. |
requis |
stride |
int
|
Valeur de la foulée. |
32
|
min_dim |
int
|
Nombre minimum de dimensions. |
1
|
max_dim |
int
|
Nombre maximum de dimensions. |
2
|
floor |
int
|
Valeur minimale autorisée pour la taille de l'image. |
0
|
Retourne :
Type | Description |
---|---|
List[int]
|
Mise à jour de la taille de l'image. |
Code source dans ultralytics/utils/checks.py
ultralytics.utils.checks.check_version(current='0.0.0', required='0.0.0', name='version', hard=False, verbose=False, msg='')
Vérifie la version actuelle par rapport à la version ou à la plage requise.
Paramètres :
Nom | Type | Description | Défaut |
---|---|---|---|
current |
str
|
Version actuelle ou nom du paquet à partir duquel la version est obtenue. |
'0.0.0'
|
required |
str
|
Version ou plage requise (dans un format de type pip). |
'0.0.0'
|
name |
str
|
Nom à utiliser dans le message d'avertissement. |
'version'
|
hard |
bool
|
Si True, lève une AssertionError si l'exigence n'est pas satisfaite. |
False
|
verbose |
bool
|
Si True, imprime un message d'avertissement si la condition n'est pas remplie. |
False
|
msg |
str
|
Message supplémentaire à afficher si le message est verbeux. |
''
|
Retourne :
Type | Description |
---|---|
bool
|
Vrai si l'exigence est satisfaite, Faux sinon. |
Exemple
# 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')
Code source dans 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')
Renvoie la dernière version d'un paquet PyPI sans le télécharger ni l'installer.
Paramètres :
Nom | Type | Description | Défaut |
---|---|---|---|
package_name |
str
|
Le nom du paquet pour lequel il faut trouver la dernière version. |
'ultralytics'
|
Retourne :
Type | Description |
---|---|
str
|
La dernière version du paquet. |
Code source dans ultralytics/utils/checks.py
ultralytics.utils.checks.check_pip_update_available()
Vérifie si une nouvelle version du paquet ultralytics est disponible sur PyPI.
Retourne :
Type | Description |
---|---|
bool
|
True si une mise à jour est disponible, False sinon. |
Code source dans ultralytics/utils/checks.py
ultralytics.utils.checks.check_font(font='Arial.ttf')
Trouve la police localement ou télécharge-la dans le répertoire de configuration de l'utilisateur si elle n'existe pas déjà.
Paramètres :
Nom | Type | Description | Défaut |
---|---|---|---|
font |
str
|
Chemin d'accès ou nom de la police. |
'Arial.ttf'
|
Retourne :
Nom | Type | Description |
---|---|---|
file |
Path
|
Chemin d'accès au fichier de police résolu. |
Code source dans ultralytics/utils/checks.py
ultralytics.utils.checks.check_python(minimum='3.8.0')
Vérifie la version actuelle de python par rapport à la version minimale requise.
Paramètres :
Nom | Type | Description | Défaut |
---|---|---|---|
minimum |
str
|
Version minimale requise de python. |
'3.8.0'
|
Retourne :
Type | Description |
---|---|
bool
|
Si la version installée de Python répond aux contraintes minimales. |
Code source dans ultralytics/utils/checks.py
ultralytics.utils.checks.check_requirements(requirements=ROOT.parent / 'requirements.txt', exclude=(), install=True, cmds='')
Vérifie si les dépendances installées répondent aux exigences de YOLOv8 et tente d'effectuer une mise à jour automatique si nécessaire.
Paramètres :
Nom | Type | Description | Défaut |
---|---|---|---|
requirements |
Union[Path, str, List[str]]
|
Chemin d'accès à un fichier requirements.txt, à une seule exigence de paquetage sous forme de chaîne ou à une liste d'exigences de paquetage sous forme de chaînes. ou une liste d'exigences de paquets sous forme de chaînes. |
parent / 'requirements.txt'
|
exclude |
Tuple[str]
|
Tuple de noms de paquets à exclure de la vérification. |
()
|
install |
bool
|
Si True, tente de mettre à jour automatiquement les paquets qui ne répondent pas aux exigences. |
True
|
cmds |
str
|
Commandes supplémentaires à passer à la commande pip install lors de la mise à jour automatique. |
''
|
Exemple
Code source dans ultralytics/utils/checks.py
ultralytics.utils.checks.check_torchvision()
Vérifie les versions installées de PyTorch et de Torchvision pour s'assurer qu'elles sont compatibles.
Cette fonction vérifie les versions installées de PyTorch et Torchvision, et te prévient en cas d'incompatibilité selon selon la table de compatibilité fournie, basée sur : https://github.com/pytorch/vision#installation.
La table de compatibilité est un dictionnaire dont les clés sont les versions PyTorch et les valeurs sont des listes de versions compatibles. Torchvision compatibles.
Code source dans ultralytics/utils/checks.py
ultralytics.utils.checks.check_suffix(file='yolov8n.pt', suffix='.pt', msg='')
Vérifie que le(s) fichier(s) possède(nt) un suffixe acceptable.
Code source dans ultralytics/utils/checks.py
ultralytics.utils.checks.check_yolov5u_filename(file, verbose=True)
Remplace les anciens noms de fichiers YOLOv5 par les nouveaux noms de fichiers YOLOv5u.
Code source dans ultralytics/utils/checks.py
ultralytics.utils.checks.check_model_file_from_stem(model='yolov8n')
Renvoie un nom de fichier de modèle à partir d'une tige de modèle valide.
Code source dans ultralytics/utils/checks.py
ultralytics.utils.checks.check_file(file, suffix='', download=True, hard=True)
Recherche/télécharge le fichier (si nécessaire) et renvoie le chemin d'accès.
Code source dans ultralytics/utils/checks.py
ultralytics.utils.checks.check_yaml(file, suffix=('.yaml', '.yml'), hard=True)
Recherche/télécharge le fichier YAML (si nécessaire) et renvoie le chemin, en vérifiant le suffixe.
ultralytics.utils.checks.check_is_path_safe(basedir, path)
Vérifie que le chemin résolu se trouve sous le répertoire prévu pour éviter la traversée du chemin.
Paramètres :
Nom | Type | Description | Défaut |
---|---|---|---|
basedir |
Path | str
|
Le répertoire prévu. |
requis |
path |
Path | str
|
Le chemin à parcourir pour vérifier. |
requis |
Retourne :
Type | Description |
---|---|
bool
|
Vrai si le chemin est sûr, Faux sinon. |
Code source dans ultralytics/utils/checks.py
ultralytics.utils.checks.check_imshow(warn=False)
Vérifie si l'environnement prend en charge l'affichage d'images.
Code source dans ultralytics/utils/checks.py
ultralytics.utils.checks.check_yolo(verbose=True, device='')
Renvoie un résumé du logiciel et du matériel lisible par l'homme à l'adresse YOLO .
Code source dans ultralytics/utils/checks.py
ultralytics.utils.checks.collect_system_info()
Recueille et imprime les informations pertinentes sur le système, notamment le système d'exploitation, Python, la mémoire vive, le processeur et CUDA.
Code source dans ultralytics/utils/checks.py
ultralytics.utils.checks.check_amp(model)
Cette fonction vérifie la fonctionnalité PyTorch Automatic Mixed Precision (AMP) d'un modèle YOLOv8 . Si les vérifications échouent, cela signifie qu'il y a des anomalies avec AMP sur le système qui peuvent causer des pertes NaN ou des résultats zéro-mAP, donc AMP sera désactivé pendant la formation. sera donc désactivée pendant la formation.
Paramètres :
Nom | Type | Description | Défaut |
---|---|---|---|
model |
Module
|
Une instance du modèle YOLOv8 . |
requis |
Exemple
Retourne :
Type | Description |
---|---|
bool
|
Renvoie True si la fonctionnalité AMP fonctionne correctement avec le modèle YOLOv8 , sinon False. |
Code source dans ultralytics/utils/checks.py
ultralytics.utils.checks.git_describe(path=ROOT)
Retourne une description git lisible par l'homme, c'est-à-dire v5.0-5-g3e25f1e https://git-scm.com/docs/git-describe.
Code source dans ultralytics/utils/checks.py
ultralytics.utils.checks.print_args(args=None, show_file=True, show_func=False)
Imprime les arguments de la fonction (dict d'args optionnel).
Code source dans ultralytics/utils/checks.py
ultralytics.utils.checks.cuda_device_count()
Obtiens le nombre de GPU NVIDIA disponibles dans l'environnement.
Retourne :
Type | Description |
---|---|
int
|
Le nombre de GPU NVIDIA disponibles. |
Code source dans ultralytics/utils/checks.py
ultralytics.utils.checks.cuda_is_available()
Vérifie si CUDA est disponible dans l'environnement.
Retourne :
Type | Description |
---|---|
bool
|
True si un ou plusieurs GPU NVIDIA sont disponibles, False sinon. |
Créé le 2023-11-12, Mis à jour le 2024-05-08
Auteurs : Burhan-Q (1), glenn-jocher (3), Laughing-q (1)