Referentie voor ultralytics/utils/__init__.py
Opmerking
Dit bestand is beschikbaar op https://github.com/ultralytics/ ultralytics/blob/main/ ultralytics/utils/init.py. Als je een probleem ziet, help het dan oplossen door een Pull Request 🛠️ bij te dragen. Bedankt 🙏!
ultralytics.utils.TQDM
Basis: tqdm
Aangepaste Ultralytics tqdm klasse met verschillende standaard argumenten.
Parameters:
Naam | Type | Beschrijving | Standaard |
---|---|---|---|
*args |
list
|
Positionele argumenten doorgegeven aan originele tqdm. |
()
|
**kwargs |
any
|
Trefwoordargumenten, met aangepaste standaardinstellingen. |
{}
|
Broncode in ultralytics/utils/__init__.py
__init__(*args, **kwargs)
Initialiseer aangepaste Ultralytics tqdm klasse met verschillende standaard argumenten.
Merk op dat deze nog steeds overschreven kunnen worden bij het aanroepen van TQDM.
Broncode in ultralytics/utils/__init__.py
ultralytics.utils.SimpleClass
Ultralytics SimpleClass is een basisklasse die handige stringrepresentatie, foutrapportage en attribuut toegangsmethoden voor eenvoudiger debuggen en gebruik.
Broncode in ultralytics/utils/__init__.py
__getattr__(attr)
Aangepaste foutmelding over toegang tot attribuut met nuttige informatie.
__repr__()
__str__()
Geeft een voor mensen leesbare tekenreeksweergave van het object.
Broncode in ultralytics/utils/__init__.py
ultralytics.utils.IterableSimpleNamespace
Basis: SimpleNamespace
Ultralytics IterableSimpleNamespace is een uitbreidingsklasse van SimpleNamespace die iterable functionaliteit toevoegt en gebruik met dict() en for-lussen mogelijk maakt.
Broncode in ultralytics/utils/__init__.py
__getattr__(attr)
Aangepaste foutmelding over toegang tot attribuut met nuttige informatie.
Broncode in ultralytics/utils/__init__.py
__iter__()
__str__()
get(key, default=None)
Retourneert de waarde van de opgegeven sleutel als deze bestaat; anders retourneert het de standaardwaarde.
ultralytics.utils.ThreadingLocked
Een decoratorklasse om te zorgen voor een schroefdraadveilige uitvoering van een functie of methode. Deze klasse kan worden gebruikt als decorator om ervoor te zorgen dat als de versierde functie vanuit meerdere threads wordt aangeroepen, slechts één thread tegelijk in staat zal zijn om om de functie uit te voeren.
Kenmerken:
Naam | Type | Beschrijving |
---|---|---|
lock |
Lock
|
Een blokkeringsobject dat wordt gebruikt om de toegang tot de versierde functie te beheren. |
Voorbeeld
Broncode in ultralytics/utils/__init__.py
__call__(f)
Voer thread-veilige uitvoering van functie of methode uit.
Broncode in ultralytics/utils/__init__.py
ultralytics.utils.TryExcept
Basis: ContextDecorator
Ultralytics TryExcept klasse. Gebruik als @TryExcept() decorator of 'with TryExcept():' contextmanager.
Voorbeelden:
Als decorateur:
>>> @TryExcept(msg="Error occurred in func", verbose=True)
>>> def func():
>>> # Function logic here
>>> pass
Als contextmanager:
Broncode in ultralytics/utils/__init__.py
__enter__()
__exit__(exc_type, value, traceback)
Definieert het gedrag bij het verlaten van een 'with' blok, drukt indien nodig een foutmelding af.
__init__(msg='', verbose=True)
Initialiseer de TryExcept klasse met optionele bericht- en verbositeitsinstellingen.
ultralytics.utils.Retry
Basis: ContextDecorator
Herhalingsklasse voor functie-uitvoering met exponentiële backoff.
Kan worden gebruikt als een decorator of een contextmanager om een functie of blok code opnieuw te proberen bij uitzonderingen, tot een opgegeven aantal keren met een exponentieel toenemende vertraging tussen de pogingen.
Voorbeelden:
Voorbeeldgebruik als decorator:
>>> @Retry(times=3, delay=2)
>>> def test_func():
>>> # Replace with function logic that may raise exceptions
>>> return True
Voorbeeldgebruik als contextmanager:
Broncode in ultralytics/utils/__init__.py
__call__(func)
Decoratorimplementatie voor Retry met exponentiële backoff.
Broncode in ultralytics/utils/__init__.py
__enter__()
__exit__(exc_type, exc_value, traceback)
Verlaat de runtime context gerelateerd aan dit object met exponentiële backoff.
Broncode in ultralytics/utils/__init__.py
__init__(times=3, delay=2)
Initialiseer de klasse Retry met het opgegeven aantal pogingen en vertraging.
ultralytics.utils.SettingsManager
Basis: dict
Beheert Ultralytics instellingen die zijn opgeslagen in een YAML-bestand.
Parameters:
Naam | Type | Beschrijving | Standaard |
---|---|---|---|
file |
str | Path
|
Pad naar het Ultralytics instellingen YAML bestand. Standaard is dit USER_CONFIG_DIR / 'settings.yaml'. |
SETTINGS_YAML
|
version |
str
|
Instellingen versie. Als de lokale versie niet overeenkomt, worden de nieuwe standaardinstellingen opgeslagen. |
'0.0.4'
|
Broncode 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')
Initialiseer de SettingsManager met standaardinstellingen, laad en valideer de huidige instellingen uit het YAML bestand.
Broncode in ultralytics/utils/__init__.py
load()
reset()
save()
ultralytics.utils.plt_settings(rcparams=None, backend='Agg')
Decorator om tijdelijk rc-parameters en de backend voor een plotfunctie in te stellen.
Voorbeeld
decorator: @plt_settings({"font.size": 12}) context manager: with plt_settings({"font.size": 12}):
Parameters:
Naam | Type | Beschrijving | Standaard |
---|---|---|---|
rcparams |
dict
|
Woordenboek van in te stellen rc-parameters. |
None
|
backend |
str
|
Naam van de backend die gebruikt moet worden. Staat standaard op 'Agg'. |
'Agg'
|
Retourneert:
Type | Beschrijving |
---|---|
Callable
|
Versierde functie met tijdelijk ingestelde rc-parameters en backend. Deze decorator kan toegepast op elke functie die specifieke matplotlib rc-parameters en backend nodig heeft om te worden uitgevoerd. |
Broncode in ultralytics/utils/__init__.py
ultralytics.utils.set_logging(name='LOGGING_NAME', verbose=True)
Stelt logboekregistratie in voor de opgegeven naam met UTF-8 coderingsondersteuning, zodat compatibiliteit tussen verschillende omgevingen.
Broncode in ultralytics/utils/__init__.py
ultralytics.utils.emojis(string='')
ultralytics.utils.yaml_save(file='data.yaml', data=None, header='')
YAML-gegevens opslaan in een bestand.
Parameters:
Naam | Type | Beschrijving | Standaard |
---|---|---|---|
file |
str
|
Bestandsnaam. Standaard is dit 'data.yaml'. |
'data.yaml'
|
data |
dict
|
Gegevens om op te slaan in YAML formaat. |
None
|
header |
str
|
YAML-header om toe te voegen. |
''
|
Retourneert:
Type | Beschrijving |
---|---|
None
|
Gegevens worden opgeslagen in het opgegeven bestand. |
Broncode in ultralytics/utils/__init__.py
ultralytics.utils.yaml_load(file='data.yaml', append_filename=False)
YAML-gegevens laden vanuit een bestand.
Parameters:
Naam | Type | Beschrijving | Standaard |
---|---|---|---|
file |
str
|
Bestandsnaam. Standaard is dit 'data.yaml'. |
'data.yaml'
|
append_filename |
bool
|
Voeg de YAML-bestandsnaam toe aan het YAML-woordenboek. De standaardinstelling is False. |
False
|
Retourneert:
Type | Beschrijving |
---|---|
dict
|
YAML-gegevens en bestandsnaam. |
Broncode in ultralytics/utils/__init__.py
ultralytics.utils.yaml_print(yaml_file)
Pretty print een YAML-bestand of een YAML-geformatteerd woordenboek.
Parameters:
Naam | Type | Beschrijving | Standaard |
---|---|---|---|
yaml_file |
Union[str, Path, dict]
|
Het bestandspad van het YAML-bestand of een YAML-geformatteerd woordenboek. |
vereist |
Retourneert:
Type | Beschrijving |
---|---|
None
|
(Geen) |
Broncode in ultralytics/utils/__init__.py
ultralytics.utils.read_device_model()
Leest de informatie over het apparaatmodel uit het systeem en slaat deze op in de cache voor snelle toegang. Gebruikt door is_jetson() en is_raspberrypi().
Retourneert:
Type | Beschrijving |
---|---|
str
|
De inhoud van het modelbestand indien succesvol ingelezen of anders een lege tekenreeks. |
Broncode in ultralytics/utils/__init__.py
ultralytics.utils.is_ubuntu()
Controleer of het OS Ubuntu is.
Retourneert:
Type | Beschrijving |
---|---|
bool
|
True als het OS Ubuntu is, anders False. |
Broncode in ultralytics/utils/__init__.py
ultralytics.utils.is_colab()
Controleer of het huidige script wordt uitgevoerd in een Google Colab-notitieblok.
Retourneert:
Type | Beschrijving |
---|---|
bool
|
True als het wordt uitgevoerd in een Colab-notitieboek, anders False. |
Broncode in ultralytics/utils/__init__.py
ultralytics.utils.is_kaggle()
Controleer of het huidige script in een Kaggle kernel draait.
Retourneert:
Type | Beschrijving |
---|---|
bool
|
True als deze in een Kaggle kernel draait, anders False. |
Broncode in ultralytics/utils/__init__.py
ultralytics.utils.is_jupyter()
Controleer of het huidige script wordt uitgevoerd in een Jupyter-notitieboek. Gecontroleerd op Colab, Jupyterlab, Kaggle, Paperspace.
Retourneert:
Type | Beschrijving |
---|---|
bool
|
True als het wordt uitgevoerd in een Jupyter-notitieboek, anders False. |
Broncode in ultralytics/utils/__init__.py
ultralytics.utils.is_docker()
Bepaal of het script in een Docker-container draait.
Retourneert:
Type | Beschrijving |
---|---|
bool
|
True als het script in een Docker-container draait, anders False. |
Broncode in ultralytics/utils/__init__.py
ultralytics.utils.is_raspberrypi()
Bepaalt of de Python omgeving draait op een Raspberry Pi door de modelinformatie van het apparaat te controleren.
Retourneert:
Type | Beschrijving |
---|---|
bool
|
True als deze op een Raspberry Pi draait, anders False. |
Broncode in ultralytics/utils/__init__.py
ultralytics.utils.is_jetson()
Bepaalt of de Python omgeving draait op een Jetson Nano of Jetson Orin apparaat door de modelinformatie van het apparaat te controleren. informatie.
Retourneert:
Type | Beschrijving |
---|---|
bool
|
True als deze wordt uitgevoerd op een Jetson Nano of Jetson Orin, anders False. |
Broncode in ultralytics/utils/__init__.py
ultralytics.utils.is_online()
Controleer de internetconnectiviteit door te proberen verbinding te maken met een bekende online host.
Retourneert:
Type | Beschrijving |
---|---|
bool
|
True als de verbinding geslaagd is, anders False. |
Broncode in ultralytics/utils/__init__.py
ultralytics.utils.is_pip_package(filepath=__name__)
Bepaalt of het bestand op het gegeven bestandspad deel uitmaakt van een pip pakket.
Parameters:
Naam | Type | Beschrijving | Standaard |
---|---|---|---|
filepath |
str
|
Het bestandspad om te controleren. |
__name__
|
Retourneert:
Type | Beschrijving |
---|---|
bool
|
True als het bestand deel uitmaakt van een pip pakket, anders False. |
Broncode in ultralytics/utils/__init__.py
ultralytics.utils.is_dir_writeable(dir_path)
Controleer of een map beschrijfbaar is.
Parameters:
Naam | Type | Beschrijving | Standaard |
---|---|---|---|
dir_path |
str | Path
|
Het pad naar de map. |
vereist |
Retourneert:
Type | Beschrijving |
---|---|
bool
|
True als de map beschrijfbaar is, anders False. |
Broncode in ultralytics/utils/__init__.py
ultralytics.utils.is_pytest_running()
Bepaalt of pytest momenteel draait of niet.
Retourneert:
Type | Beschrijving |
---|---|
bool
|
True als pytest draait, anders False. |
Broncode in ultralytics/utils/__init__.py
ultralytics.utils.is_github_action_running()
Bepaal of de huidige omgeving een GitHub Actions runner is.
Retourneert:
Type | Beschrijving |
---|---|
bool
|
True als de huidige omgeving een GitHub Actions runner is, anders False. |
Broncode in ultralytics/utils/__init__.py
ultralytics.utils.get_git_dir()
Bepaalt of het huidige bestand onderdeel is van een git repository en als dat zo is, geeft het de hoofdmap van het repository terug. Als het huidige bestand geen onderdeel is van een git repository, wordt er Geen geretourneerd.
Retourneert:
Type | Beschrijving |
---|---|
Path | None
|
Git hoofdmap als die gevonden is of Geen als die niet gevonden is. |
Broncode in ultralytics/utils/__init__.py
ultralytics.utils.is_git_dir()
Bepaalt of het huidige bestand onderdeel is van een git repository. Als het huidige bestand geen onderdeel is van een git repository is, geeft het Geen terug.
Retourneert:
Type | Beschrijving |
---|---|
bool
|
True als het huidige bestand onderdeel is van een git repository. |
Broncode in ultralytics/utils/__init__.py
ultralytics.utils.get_git_origin_url()
Haalt de oorspronkelijke URL van een git repository op.
Retourneert:
Type | Beschrijving |
---|---|
str | None
|
De oorspronkelijke URL van de git repository of Geen als het geen git directory is. |
Broncode in ultralytics/utils/__init__.py
ultralytics.utils.get_git_branch()
Geeft de huidige git branchnaam terug. Als het niet in een git repository staat, geeft het geen terug.
Retourneert:
Type | Beschrijving |
---|---|
str | None
|
De huidige git branchnaam of Geen als het geen git map is. |
Broncode in ultralytics/utils/__init__.py
ultralytics.utils.get_default_args(func)
Geeft een woordenboek terug met standaardargumenten voor een functie.
Parameters:
Naam | Type | Beschrijving | Standaard |
---|---|---|---|
func |
callable
|
De functie om te inspecteren. |
vereist |
Retourneert:
Type | Beschrijving |
---|---|
dict
|
Een woordenboek waarin elke sleutel een parameternaam is en elke waarde de standaardwaarde van die parameter. |
Broncode in ultralytics/utils/__init__.py
ultralytics.utils.get_ubuntu_version()
Haal de Ubuntu-versie op als het OS Ubuntu is.
Retourneert:
Type | Beschrijving |
---|---|
str
|
Ubuntu versie of Geen als het geen Ubuntu OS is. |
Broncode in ultralytics/utils/__init__.py
ultralytics.utils.get_user_config_dir(sub_dir='Ultralytics')
Geef de juiste config directory op basis van het besturingssysteem van de omgeving.
Parameters:
Naam | Type | Beschrijving | Standaard |
---|---|---|---|
sub_dir |
str
|
De naam van de submap die moet worden aangemaakt. |
'Ultralytics'
|
Retourneert:
Type | Beschrijving |
---|---|
Path
|
Het pad naar de user config directory. |
Broncode in ultralytics/utils/__init__.py
ultralytics.utils.colorstr(*input)
Kleurt een string op basis van de opgegeven kleur- en stijlargumenten. Gebruikt ANSI escape codes. Zie https://en.wikipedia.org/wiki/ANSI_escape_code voor meer details.
Deze functie kan op twee manieren worden aangeroepen
- colorstr('kleur', 'stijl', 'jouw string')
- colorstr('jouw string')
In de tweede vorm worden 'blauw' en 'vet' standaard toegepast.
Parameters:
Naam | Type | Beschrijving | Standaard |
---|---|---|---|
*input |
str
|
Een reeks strings waarbij de eerste n-1 strings kleur- en stijlargumenten zijn, en de laatste tekenreeks degene is die gekleurd moet worden. |
()
|
Ondersteunde kleuren en stijlen
Basiskleuren: 'zwart', 'rood', 'groen', 'geel', 'blauw', 'magenta', 'cyaan', 'wit'. Heldere kleuren: 'helder_zwart', 'helder_rood', 'helder_groen', 'helder_geel', helder_blauw', 'helder_magenta', 'helder_cyaan', 'helder_wit'. Overig: "einde", "vet", "onderstrepen
Retourneert:
Type | Beschrijving |
---|---|
str
|
De invoerstring omwikkeld met ANSI escape-codes voor de opgegeven kleur en stijl. |
Voorbeelden:
Broncode in ultralytics/utils/__init__.py
ultralytics.utils.remove_colorstr(input_string)
Verwijdert ANSI escape-codes uit een string, waardoor deze effectief wordt ontkleurd.
Parameters:
Naam | Type | Beschrijving | Standaard |
---|---|---|---|
input_string |
str
|
De tekenreeks om kleur en stijl uit te verwijderen. |
vereist |
Retourneert:
Type | Beschrijving |
---|---|
str
|
Een nieuwe string met alle ANSI escape-codes verwijderd. |
Voorbeelden:
Broncode in ultralytics/utils/__init__.py
ultralytics.utils.threaded(func)
Voert standaard meerdere threads uit op een doelfunctie en retourneert het thread- of functieresultaat.
Te gebruiken als @threaded decorator. De functie draait in een aparte thread tenzij 'threaded=False' wordt doorgegeven.
Broncode in ultralytics/utils/__init__.py
ultralytics.utils.set_sentry()
Initialiseer de Sentry SDK voor foutopsporing en -rapportage. Alleen gebruikt als sentry_sdk pakket is geïnstalleerd en sync=True in instellingen. Voer 'yolo settings' uit om het YAML-bestand met instellingen te bekijken en bij te werken.
Vereiste voorwaarden om fouten te versturen (aan ALLE voorwaarden moet worden voldaan, anders worden er geen fouten gerapporteerd): - sentry_sdk pakket is geïnstalleerd - sync=True in YOLO instellingen - pytest wordt niet uitgevoerd - draait in een pip pakketinstallatie - draait in een niet-git directory - draait met rang -1 of 0 - online omgeving - CLI gebruikt om pakket uit te voeren (gecontroleerd met 'yolo' als de naam van het hoofdcommando CLI )
De functie configureert Sentry SDK ook om KeyboardInterrupt en FileNotFoundError uitzonderingen te negeren en gebeurtenissen met 'out of memory' in hun uitzonderingsbericht uit te sluiten.
Daarnaast stelt de functie aangepaste tags en gebruikersinformatie in voor Sentry gebeurtenissen.
Broncode in ultralytics/utils/__init__.py
ultralytics.utils.deprecation_warn(arg, new_arg, version=None)
Geef een deprecatiewaarschuwing als een deprecated argument wordt gebruikt en stel een bijgewerkt argument voor.
Broncode in ultralytics/utils/__init__.py
ultralytics.utils.clean_url(url)
Strip auth uit URL, d.w.z. https://url.com/file.txt?auth -> https://url.com/file.txt.