Riferimento per ultralytics/utils/__init__.py
Nota
Questo file è disponibile su https://github.com/ultralytics/ ultralytics/blob/main/ ultralytics/utils/init.py. Se noti un problema, contribuisci a risolverlo inviando una Pull Request 🛠️. Grazie 🙏!
ultralytics.utils.TQDM
Basi: tqdm
Classe tqdm personalizzata Ultralytics con diversi argomenti predefiniti.
Parametri:
Nome | Tipo | Descrizione | Predefinito |
---|---|---|---|
*args |
list
|
Argomenti posizionali passati al tqdm originale. |
()
|
**kwargs |
any
|
Argomenti delle parole chiave, con l'applicazione di valori predefiniti personalizzati. |
{}
|
Codice sorgente in ultralytics/utils/__init__.py
__init__(*args, **kwargs)
Inizializza la classe Ultralytics tqdm personalizzata con diversi argomenti predefiniti.
Nota che questi possono essere sovrascritti quando si chiama TQDM.
Codice sorgente in ultralytics/utils/__init__.py
ultralytics.utils.SimpleClass
Ultralytics SimpleClass è una classe base che fornisce utili metodi di rappresentazione delle stringhe, di segnalazione degli errori e di accesso agli attributi. per facilitare il debug e l'utilizzo.
Codice sorgente in ultralytics/utils/__init__.py
__getattr__(attr)
Messaggio di errore di accesso all'attributo personalizzato con informazioni utili.
Codice sorgente in ultralytics/utils/__init__.py
__repr__()
__str__()
Restituisce una rappresentazione stringa leggibile dall'uomo dell'oggetto.
Codice sorgente in ultralytics/utils/__init__.py
ultralytics.utils.IterableSimpleNamespace
Basi: SimpleNamespace
Ultralytics IterableSimpleNamespace è una classe di estensione di SimpleNamespace che aggiunge la funzionalità iterabile e consente l'utilizzo con dict( e for loop. consente l'utilizzo di dict() e dei cicli for.
Codice sorgente in ultralytics/utils/__init__.py
__getattr__(attr)
Messaggio di errore di accesso all'attributo personalizzato con informazioni utili.
Codice sorgente in ultralytics/utils/__init__.py
__iter__()
__str__()
get(key, default=None)
Restituisce il valore della chiave specificata se esiste; altrimenti, restituisce il valore predefinito.
ultralytics.utils.ThreadingLocked
Una classe decoratrice per garantire l'esecuzione thread-safe di una funzione o di un metodo. Questa classe può essere utilizzata come decoratore per assicurarsi che se la funzione decorata viene richiamata da più thread, solo un thread alla volta potrà di eseguire la funzione.
Attributi:
Nome | Tipo | Descrizione |
---|---|---|
lock |
Lock
|
Un oggetto lock utilizzato per gestire l'accesso alla funzione decorata. |
Esempio
Codice sorgente in ultralytics/utils/__init__.py
__call__(f)
Esegue l'esecuzione thread-safe di una funzione o di un metodo.
Codice sorgente in ultralytics/utils/__init__.py
__init__()
ultralytics.utils.TryExcept
Basi: ContextDecorator
Ultralytics Classe TryExcept. Utilizzala come decoratore @TryExcept() o come gestore del contesto "with TryExcept():".
Esempi:
Come decoratore:
>>> @TryExcept(msg="Error occurred in func", verbose=True)
>>> def func():
>>> # Function logic here
>>> pass
Come gestore del contesto:
Codice sorgente in ultralytics/utils/__init__.py
__enter__()
__exit__(exc_type, value, traceback)
Definisce il comportamento da tenere quando si esce da un blocco "con", stampando un messaggio di errore se necessario.
Codice sorgente in ultralytics/utils/__init__.py
__init__(msg='', verbose=True)
Inizializza la classe TryExcept con le impostazioni opzionali di messaggio e verbosità.
ultralytics.utils.Retry
Basi: ContextDecorator
Classe di tentativi per l'esecuzione di funzioni con backoff esponenziale.
Può essere utilizzato come decoratore o gestore di contesto per riprovare una funzione o un blocco di codice in caso di eccezioni, fino a un numero specifico di volte con un ritardo esponenziale tra un tentativo e l'altro. numero di volte specificato con un ritardo esponenzialmente crescente tra un tentativo e l'altro.
Esempi:
Esempio di utilizzo come decoratore:
>>> @Retry(times=3, delay=2)
>>> def test_func():
>>> # Replace with function logic that may raise exceptions
>>> return True
Esempio di utilizzo come gestore del contesto:
Codice sorgente in ultralytics/utils/__init__.py
__call__(func)
Implementazione del decoratore per il Retry con backoff esponenziale.
Codice sorgente in ultralytics/utils/__init__.py
__enter__()
__exit__(exc_type, exc_value, traceback)
Esce dal contesto di runtime relativo a questo oggetto con un backoff esponenziale.
Codice sorgente in ultralytics/utils/__init__.py
__init__(times=3, delay=2)
Inizializza la classe Retry con il numero di tentativi e il ritardo specificati.
ultralytics.utils.SettingsManager
Basi: dict
Gestisce le impostazioni di Ultralytics memorizzate in un file YAML.
Parametri:
Nome | Tipo | Descrizione | Predefinito |
---|---|---|---|
file |
str | Path
|
Percorso del file YAML delle impostazioni di Ultralytics . Il valore predefinito è USER_CONFIG_DIR / 'settings.yaml'. |
SETTINGS_YAML
|
version |
str
|
Versione delle impostazioni. In caso di mancata corrispondenza della versione locale, verranno salvate le nuove impostazioni predefinite. |
'0.0.4'
|
Codice sorgente in 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')
Inizializza il SettingsManager con le impostazioni predefinite, carica e convalida le impostazioni correnti dal file YAML. del file YAML.
Codice sorgente in ultralytics/utils/__init__.py
load()
reset()
save()
ultralytics.utils.plt_settings(rcparams=None, backend='Agg')
Decoratore per impostare temporaneamente i parametri rc e il backend di una funzione di plottaggio.
Esempio
decorator: @plt_settings({"font.size": 12}) context manager: with plt_settings({"font.size": 12}):
Parametri:
Nome | Tipo | Descrizione | Predefinito |
---|---|---|---|
rcparams |
dict
|
Dizionario dei parametri rc da impostare. |
None
|
backend |
str
|
Nome del backend da utilizzare. Il valore predefinito è 'Agg'. |
'Agg'
|
Restituzione:
Tipo | Descrizione |
---|---|
Callable
|
Funzione decorata con parametri rc e backend impostati temporaneamente. Questo decoratore può essere applicato a qualsiasi funzione che necessita di parametri rc e backend specifici di matplotlib per la sua esecuzione. |
Codice sorgente in ultralytics/utils/__init__.py
ultralytics.utils.set_logging(name='LOGGING_NAME', verbose=True)
Imposta la registrazione per il nome indicato con il supporto della codifica UTF-8, assicurando la compatibilità con diversi ambienti. ambienti.
Codice sorgente in ultralytics/utils/__init__.py
ultralytics.utils.emojis(string='')
ultralytics.utils.yaml_save(file='data.yaml', data=None, header='')
Salva i dati YAML in un file.
Parametri:
Nome | Tipo | Descrizione | Predefinito |
---|---|---|---|
file |
str
|
Nome del file. Il valore predefinito è "data.yaml". |
'data.yaml'
|
data |
dict
|
Dati da salvare in formato YAML. |
None
|
header |
str
|
Intestazione YAML da aggiungere. |
''
|
Restituzione:
Tipo | Descrizione |
---|---|
None
|
I dati vengono salvati nel file specificato. |
Codice sorgente in ultralytics/utils/__init__.py
ultralytics.utils.yaml_load(file='data.yaml', append_filename=False)
Carica i dati YAML da un file.
Parametri:
Nome | Tipo | Descrizione | Predefinito |
---|---|---|---|
file |
str
|
Nome del file. Il valore predefinito è "data.yaml". |
'data.yaml'
|
append_filename |
bool
|
Aggiunge il nome del file YAML al dizionario YAML. L'impostazione predefinita è False. |
False
|
Restituzione:
Tipo | Descrizione |
---|---|
dict
|
Dati YAML e nome del file. |
Codice sorgente in ultralytics/utils/__init__.py
ultralytics.utils.yaml_print(yaml_file)
Stampa un file YAML o un dizionario formattato in YAML.
Parametri:
Nome | Tipo | Descrizione | Predefinito |
---|---|---|---|
yaml_file |
Union[str, Path, dict]
|
Il percorso del file YAML o di un dizionario formattato in YAML. |
richiesto |
Restituzione:
Tipo | Descrizione |
---|---|
None
|
(Nessuno) |
Codice sorgente in ultralytics/utils/__init__.py
ultralytics.utils.read_device_model()
Legge le informazioni sul modello del dispositivo dal sistema e le memorizza nella cache per un accesso rapido. Utilizzato da is_jetson() e is_raspberrypi().
Restituzione:
Tipo | Descrizione |
---|---|
str
|
Contenuto del file modello se la lettura è andata a buon fine o stringa vuota in caso contrario. |
Codice sorgente in ultralytics/utils/__init__.py
ultralytics.utils.is_ubuntu()
Controlla se il sistema operativo è Ubuntu.
Restituzione:
Tipo | Descrizione |
---|---|
bool
|
Vero se il sistema operativo è Ubuntu, Falso altrimenti. |
Codice sorgente in ultralytics/utils/__init__.py
ultralytics.utils.is_colab()
Controlla se lo script corrente è in esecuzione all'interno di un blocco note di Google Colab.
Restituzione:
Tipo | Descrizione |
---|---|
bool
|
Vero se viene eseguito all'interno di un blocco note Colab, Falso altrimenti. |
Codice sorgente in ultralytics/utils/__init__.py
ultralytics.utils.is_kaggle()
Controlla se lo script corrente è in esecuzione all'interno di un kernel Kaggle.
Restituzione:
Tipo | Descrizione |
---|---|
bool
|
Vero se viene eseguito all'interno di un kernel Kaggle, Falso altrimenti. |
Codice sorgente in ultralytics/utils/__init__.py
ultralytics.utils.is_jupyter()
Controlla se lo script corrente è in esecuzione all'interno di un Jupyter Notebook. Verificato su Colab, Jupyterlab, Kaggle, Paperspace.
Restituzione:
Tipo | Descrizione |
---|---|
bool
|
Vero se viene eseguito all'interno di un Jupyter Notebook, Falso altrimenti. |
Codice sorgente in ultralytics/utils/__init__.py
ultralytics.utils.is_docker()
Determina se lo script è in esecuzione all'interno di un contenitore Docker.
Restituzione:
Tipo | Descrizione |
---|---|
bool
|
Vero se lo script è in esecuzione all'interno di un contenitore Docker, Falso altrimenti. |
Codice sorgente in ultralytics/utils/__init__.py
ultralytics.utils.is_raspberrypi()
Determina se l'ambiente Python è in esecuzione su un Raspberry Pi controllando le informazioni sul modello del dispositivo.
Restituzione:
Tipo | Descrizione |
---|---|
bool
|
Vero se viene eseguito su un Raspberry Pi, Falso altrimenti. |
Codice sorgente in ultralytics/utils/__init__.py
ultralytics.utils.is_jetson()
Determina se l'ambiente Python è in esecuzione su un dispositivo Jetson Nano o Jetson Orin controllando le informazioni sul modello del dispositivo. del dispositivo.
Restituzione:
Tipo | Descrizione |
---|---|
bool
|
Vero se viene eseguito su un Jetson Nano o Jetson Orin, Falso altrimenti. |
Codice sorgente in ultralytics/utils/__init__.py
ultralytics.utils.is_online()
Verifica la connettività a Internet provando a connetterti a un host online conosciuto.
Restituzione:
Tipo | Descrizione |
---|---|
bool
|
Vero se la connessione è riuscita, Falso altrimenti. |
Codice sorgente in ultralytics/utils/__init__.py
ultralytics.utils.is_pip_package(filepath=__name__)
Determina se il file nel percorso dato fa parte di un pacchetto pip.
Parametri:
Nome | Tipo | Descrizione | Predefinito |
---|---|---|---|
filepath |
str
|
Il percorso del file da controllare. |
__name__
|
Restituzione:
Tipo | Descrizione |
---|---|
bool
|
Vero se il file fa parte di un pacchetto pip, Falso altrimenti. |
Codice sorgente in ultralytics/utils/__init__.py
ultralytics.utils.is_dir_writeable(dir_path)
Controlla se una directory è scrivibile.
Parametri:
Nome | Tipo | Descrizione | Predefinito |
---|---|---|---|
dir_path |
str | Path
|
Il percorso della directory. |
richiesto |
Restituzione:
Tipo | Descrizione |
---|---|
bool
|
Vero se la directory è scrivibile, Falso altrimenti. |
Codice sorgente in ultralytics/utils/__init__.py
ultralytics.utils.is_pytest_running()
Determina se pytest è in esecuzione o meno.
Restituzione:
Tipo | Descrizione |
---|---|
bool
|
Vero se pytest è in esecuzione, Falso altrimenti. |
Codice sorgente in ultralytics/utils/__init__.py
ultralytics.utils.is_github_action_running()
Determina se l'ambiente corrente è un runner di azioni GitHub.
Restituzione:
Tipo | Descrizione |
---|---|
bool
|
Vero se l'ambiente corrente è un runner di azioni GitHub, Falso altrimenti. |
Codice sorgente in ultralytics/utils/__init__.py
ultralytics.utils.get_git_dir()
Determina se il file corrente fa parte di un repository git e, in caso affermativo, restituisce la directory principale del repository. Se il file corrente non fa parte di un repository git, restituisce None.
Restituzione:
Tipo | Descrizione |
---|---|
Path | None
|
La directory principale di Git se trovata o Nessuna se non trovata. |
Codice sorgente in ultralytics/utils/__init__.py
ultralytics.utils.is_git_dir()
Determina se il file corrente fa parte di un repository git. Se il file corrente non fa parte di un repository git restituisce Nessuno.
Restituzione:
Tipo | Descrizione |
---|---|
bool
|
Vero se il file corrente fa parte di un repository git. |
Codice sorgente in ultralytics/utils/__init__.py
ultralytics.utils.get_git_origin_url()
Recupera l'URL di origine di un repository git.
Restituzione:
Tipo | Descrizione |
---|---|
str | None
|
L'URL di origine del repository git o Nessuno se non è una directory git. |
Codice sorgente in ultralytics/utils/__init__.py
ultralytics.utils.get_git_branch()
Restituisce il nome del ramo git corrente. Se non si trova in un repository git, restituisce None.
Restituzione:
Tipo | Descrizione |
---|---|
str | None
|
Il nome del ramo git corrente o Nessuno se non è una directory git. |
Codice sorgente in ultralytics/utils/__init__.py
ultralytics.utils.get_default_args(func)
Restituisce un dizionario di argomenti predefiniti per una funzione.
Parametri:
Nome | Tipo | Descrizione | Predefinito |
---|---|---|---|
func |
callable
|
La funzione da ispezionare. |
richiesto |
Restituzione:
Tipo | Descrizione |
---|---|
dict
|
Un dizionario in cui ogni chiave è il nome di un parametro e ogni valore è il valore predefinito di quel parametro. |
Codice sorgente in ultralytics/utils/__init__.py
ultralytics.utils.get_ubuntu_version()
Recupera la versione di Ubuntu se il sistema operativo è Ubuntu.
Restituzione:
Tipo | Descrizione |
---|---|
str
|
Versione di Ubuntu o Nessuno se non si tratta di un sistema operativo Ubuntu. |
Codice sorgente in ultralytics/utils/__init__.py
ultralytics.utils.get_user_config_dir(sub_dir='Ultralytics')
Restituisce la directory di configurazione appropriata in base al sistema operativo dell'ambiente.
Parametri:
Nome | Tipo | Descrizione | Predefinito |
---|---|---|---|
sub_dir |
str
|
Il nome della sottodirectory da creare. |
'Ultralytics'
|
Restituzione:
Tipo | Descrizione |
---|---|
Path
|
Il percorso della directory di configurazione dell'utente. |
Codice sorgente in ultralytics/utils/__init__.py
ultralytics.utils.colorstr(*input)
Colora una stringa in base agli argomenti di colore e stile forniti. Utilizza i codici di escape ANSI. Vedi https://en.wikipedia.org/wiki/ANSI_escape_code per maggiori dettagli.
Questa funzione può essere chiamata in due modi
- colorstr('colore', 'stile', 'la tua stringa')
- colorstr('la tua stringa')
Nel secondo modulo, "blu" e "grassetto" saranno applicati per impostazione predefinita.
Parametri:
Nome | Tipo | Descrizione | Predefinito |
---|---|---|---|
*input |
str
|
Una sequenza di stringhe in cui le prime n-1 stringhe sono gli argomenti del colore e dello stile, e l'ultima stringa è quella da colorare. |
()
|
Colori e stili supportati
Colori di base: 'nero', 'rosso', 'verde', 'giallo', 'blu', 'magenta', 'ciano', 'bianco'. Colori vivaci: 'bright_black', 'bright_red', 'bright_green', 'bright_yellow', 'blu brillante', 'magenta brillante', 'ciano brillante', 'bianco brillante'. Varie: 'fine', 'grassetto', 'sottolineato'
Restituzione:
Tipo | Descrizione |
---|---|
str
|
La stringa di input è stata arricchita con i codici di escape ANSI per il colore e lo stile specificati. |
Esempi:
Codice sorgente in ultralytics/utils/__init__.py
ultralytics.utils.remove_colorstr(input_string)
Rimuove i codici di escape ANSI da una stringa, decolorandola di fatto.
Parametri:
Nome | Tipo | Descrizione | Predefinito |
---|---|---|---|
input_string |
str
|
La stringa da cui rimuovere il colore e lo stile. |
richiesto |
Restituzione:
Tipo | Descrizione |
---|---|
str
|
Una nuova stringa con tutti i codici di escape ANSI rimossi. |
Esempi:
Codice sorgente in ultralytics/utils/__init__.py
ultralytics.utils.threaded(func)
Per impostazione predefinita, esegue il multi-threading di una funzione di destinazione e restituisce il risultato del thread o della funzione.
Utilizza il decoratore @threaded. La funzione viene eseguita in un thread separato a meno che non venga passato 'threaded=False'.
Codice sorgente in ultralytics/utils/__init__.py
ultralytics.utils.set_sentry()
Inizializza l'SDK di Sentry per il monitoraggio e la segnalazione degli errori. Viene utilizzato solo se il pacchetto sentry_sdk è installato e se sync=True nelle impostazioni. Esegui 'yolo settings' per vedere e aggiornare il file YAML delle impostazioni.
Condizioni necessarie per l'invio di errori (TUTTE le condizioni devono essere soddisfatte, altrimenti non verranno segnalati errori): - il pacchetto sentry_sdk è installato - sync=True nelle impostazioni di YOLO - pytest non è in esecuzione - è in esecuzione in un'installazione del pacchetto pip - è in esecuzione in una directory non GIT - in esecuzione con rank -1 o 0 - ambiente online - CLI utilizzato per eseguire il pacchetto (controllato con 'yolo' come nome del comando principale CLI )
La funzione configura inoltre Sentry SDK per ignorare le eccezioni KeyboardInterrupt e FileNotFoundError e di escludere gli eventi con "out of memory" nel messaggio di eccezione.
Inoltre, la funzione imposta tag personalizzati e informazioni sull'utente per gli eventi Sentry.
Codice sorgente in ultralytics/utils/__init__.py
ultralytics.utils.deprecation_warn(arg, new_arg, version=None)
Emette un avviso di deprecazione quando viene utilizzato un argomento deprecato, suggerendo un argomento aggiornato.
Codice sorgente in ultralytics/utils/__init__.py
ultralytics.utils.clean_url(url)
Elimina l'autenticazione dall'URL, ad esempio https://url.com/file.txt?auth -> https://url.com/file.txt.