Referenz für ultralytics/engine/model.py
Hinweis
Diese Datei ist verfügbar unter https://github.com/ultralytics/ ultralytics/blob/main/ ultralytics/engine/model .py. Wenn du ein Problem entdeckst, hilf bitte mit, es zu beheben, indem du einen Pull Request 🛠️ einreichst. Vielen Dank 🙏!
ultralytics.engine.model.Model
Basen: Module
Eine Basisklasse für die Implementierung von YOLO Modellen, die APIs für verschiedene Modelltypen vereinheitlicht.
Diese Klasse bietet eine gemeinsame Schnittstelle für verschiedene Vorgänge im Zusammenhang mit YOLO Modellen, wie Training, Validierung, Vorhersage, Exportieren und Benchmarking. Sie behandelt verschiedene Modelltypen, darunter solche die von lokalen Dateien, Ultralytics HUB oder Triton Server geladen werden. Die Klasse ist so konzipiert, dass sie flexibel und und für verschiedene Aufgaben und Modellkonfigurationen erweiterbar.
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
model |
Union[str, Path]
|
Pfad oder Name des zu ladenden oder zu erstellenden Modells. Dies kann ein lokaler Dateipfad sein Pfad, ein Modellname von Ultralytics HUB oder ein Triton Servermodell sein. Der Standardwert ist 'yolov8n.pt'. |
'yolov8n.pt'
|
task |
Any
|
Der Aufgabentyp, der mit dem Modell YOLO verbunden ist. Hier kann der Anwendungsbereich des Modells angegeben werden Anwendungsbereich des Modells angeben, z. B. Objekterkennung, Segmentierung usw. Der Standardwert ist Keine. |
None
|
verbose |
bool
|
Bei True wird die ausführliche Ausgabe während der Operationen des Modells aktiviert. Der Standardwert ist False. |
False
|
Attribute:
Name | Typ | Beschreibung |
---|---|---|
callbacks |
dict
|
Ein Wörterbuch mit Callback-Funktionen für verschiedene Ereignisse während des Modellbetriebs. |
predictor |
BasePredictor
|
Das Prädiktorobjekt, das für Vorhersagen verwendet wird. |
model |
Module
|
Das zugrunde liegende PyTorch Modell. |
trainer |
BaseTrainer
|
Das Trainerobjekt, das für das Training des Modells verwendet wird. |
ckpt |
dict
|
Die Kontrollpunktdaten, wenn das Modell aus einer *.pt-Datei geladen wird. |
cfg |
str
|
Die Konfiguration des Modells, wenn es aus einer *.yaml-Datei geladen wird. |
ckpt_path |
str
|
Der Pfad zur Checkpoint-Datei. |
overrides |
dict
|
Ein Wörterbuch mit Überschreibungen für die Modellkonfiguration. |
metrics |
dict
|
Die neuesten Trainings-/Validierungskennzahlen. |
session |
HUBTrainingSession
|
Die Ultralytics HUB-Sitzung, falls zutreffend. |
task |
str
|
Die Art der Aufgabe, für die das Modell bestimmt ist. |
model_name |
str
|
Der Name des Modells. |
Methoden:
Name | Beschreibung |
---|---|
__call__ |
Alias für die Vorhersagemethode, damit die Modellinstanz aufgerufen werden kann. |
_new |
Initialisiert ein neues Modell basierend auf einer Konfigurationsdatei. |
_load |
Lädt ein Modell aus einer Checkpoint-Datei. |
_check_is_pytorch_model |
Stellt sicher, dass das Modell ein PyTorch Modell ist. |
reset_weights |
Setzt die Gewichte des Modells auf ihren Ausgangszustand zurück. |
load |
Lädt Modellgewichte aus einer angegebenen Datei. |
save |
Speichert den aktuellen Zustand des Modells in einer Datei. |
info |
Protokolliert oder gibt Informationen über das Modell zurück. |
fuse |
Verschmelzt Conv2d- und BatchNorm2d-Schichten für optimierte Inferenz. |
predict |
Führt Vorhersagen zur Objekterkennung durch. |
track |
Führt eine Objektverfolgung durch. |
val |
Überprüft das Modell anhand eines Datensatzes. |
benchmark |
Vergleicht das Modell mit verschiedenen Exportformaten. |
export |
Exportiert das Modell in verschiedene Formate. |
train |
Trainiert das Modell auf einem Datensatz. |
tune |
Führt die Abstimmung der Hyperparameter durch. |
_apply |
Wendet eine Funktion auf die Tensoren des Modells an. |
add_callback |
Fügt eine Callback-Funktion für ein Ereignis hinzu. |
clear_callback |
Löscht alle Rückrufe für ein Ereignis. |
reset_callbacks |
Setzt alle Rückrufe auf ihre Standardfunktionen zurück. |
_get_hub_session |
Ruft eine Ultralytics HUB-Sitzung ab oder erstellt sie. |
is_triton_model |
Prüft, ob ein Modell ein Triton Server-Modell ist. |
is_hub_model |
Prüft, ob ein Modell ein Ultralytics HUB-Modell ist. |
_reset_ckpt_args |
Setzt die Checkpoint-Argumente beim Laden eines PyTorch Modells zurück. |
_smart_load |
Lädt das passende Modul basierend auf der Modellaufgabe. |
task_map |
Stellt eine Zuordnung von Modellaufgaben zu den entsprechenden Klassen her. |
Erhöht:
Typ | Beschreibung |
---|---|
FileNotFoundError
|
Wenn die angegebene Modelldatei nicht existiert oder unzugänglich ist. |
ValueError
|
Wenn die Modelldatei oder die Konfiguration ungültig ist oder nicht unterstützt wird. |
ImportError
|
Wenn erforderliche Abhängigkeiten für bestimmte Modelltypen (wie das HUB SDK) nicht installiert sind. |
TypeError
|
Wenn das Modell bei Bedarf kein PyTorch Modell ist. |
AttributeError
|
Wenn erforderliche Attribute oder Methoden nicht implementiert oder verfügbar sind. |
NotImplementedError
|
Wenn eine bestimmte Modellaufgabe oder ein Modus nicht unterstützt wird. |
Quellcode in ultralytics/engine/model.py
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 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 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 |
|
device: torch.device
property
Ruft das Gerät ab, auf dem die Parameter des Modells zugewiesen sind.
Diese Eigenschaft wird verwendet, um zu bestimmen, ob die Parameter des Modells auf der CPU oder der GPU liegen. Sie gilt nur für Modelle die Instanzen von nn.Module sind.
Retouren:
Typ | Beschreibung |
---|---|
device | None
|
Das Gerät (CPU/GPU) des Modells, wenn es sich um ein PyTorch Modell handelt, ansonsten Keine. |
names: list
property
Ruft die Klassennamen ab, die mit dem geladenen Modell verbunden sind.
Diese Eigenschaft gibt die Klassennamen zurück, wenn sie im Modell definiert sind. Sie prüft die Klassennamen auf Gültigkeit mit der Funktion "check_class_names" aus dem Modul ultralytics.nn.autobackend.
Retouren:
Typ | Beschreibung |
---|---|
list | None
|
Die Klassennamen des Modells, falls vorhanden, sonst Keine. |
task_map: dict
property
Ordne den Kopf den Klassen Model, Trainer, Validator und Prädiktor zu.
Retouren:
Name | Typ | Beschreibung |
---|---|---|
task_map |
dict
|
Die Zuordnung von Modellaufgaben zu Modusklassen. |
transforms
property
Ruft die Transformationen ab, die auf die Eingabedaten des geladenen Modells angewendet wurden.
Diese Eigenschaft gibt die Transformationen zurück, wenn sie im Modell definiert sind.
Retouren:
Typ | Beschreibung |
---|---|
object | None
|
Das Transformationsobjekt des Modells, falls vorhanden, sonst Keine. |
__call__(source=None, stream=False, **kwargs)
Ein Alias für die Predict-Methode, mit dem die Modellinstanz aufgerufen werden kann.
Diese Methode vereinfacht den Prozess der Vorhersage, indem sie es ermöglicht, die Modellinstanz direkt mit den erforderlichen Argumenten für die Vorhersage.
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
source |
str | Path | int | Image | ndarray
|
Die Quelle des Bildes für die Erstellung von Vorhersagen. Akzeptiert verschiedene Typen, darunter Dateipfade, URLs, PIL-Bilder und Numpy-Arrays. Der Standardwert ist None. |
None
|
stream |
bool
|
Bei True wird die Eingangsquelle für Vorhersagen als kontinuierlicher Stream behandelt. Der Standardwert ist False. |
False
|
**kwargs |
any
|
Zusätzliche Schlüsselwortargumente für die Konfiguration des Vorhersageprozesses. |
{}
|
Retouren:
Typ | Beschreibung |
---|---|
List[Results]
|
Eine Liste von Vorhersageergebnissen, die in der Klasse Results gekapselt ist. |
Quellcode in ultralytics/engine/model.py
__init__(model='yolov8n.pt', task=None, verbose=False)
Initialisiert eine neue Instanz der Modellklasse YOLO .
Dieser Konstruktor richtet das Modell auf der Grundlage des angegebenen Modellpfads oder -namens ein. Er behandelt verschiedene Arten von Modell Quellen, darunter lokale Dateien, Ultralytics HUB-Modelle und Triton Server-Modelle. Die Methode initialisiert mehrere wichtige Attribute des Modells und bereitet es für Operationen wie Training, Vorhersage oder Export vor.
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
model |
Union[str, Path]
|
Der Pfad oder die Modelldatei, die geladen oder erstellt werden soll. Dabei kann es sich um einen lokalen Dateipfad, ein Modellname von Ultralytics HUB oder ein Triton Servermodell sein. Der Standardwert ist 'yolov8n.pt'. |
'yolov8n.pt'
|
task |
Any
|
Der Aufgabentyp, der mit dem Modell YOLO verbunden ist und dessen Anwendungsbereich angibt. Der Standardwert ist Keine. |
None
|
verbose |
bool
|
Wenn True, wird die ausführliche Ausgabe während der Initialisierung des Modells und der folgenden Operationen. Der Standardwert ist False. |
False
|
Erhöht:
Typ | Beschreibung |
---|---|
FileNotFoundError
|
Wenn die angegebene Modelldatei nicht existiert oder unzugänglich ist. |
ValueError
|
Wenn die Modelldatei oder die Konfiguration ungültig ist oder nicht unterstützt wird. |
ImportError
|
Wenn erforderliche Abhängigkeiten für bestimmte Modelltypen (wie das HUB SDK) nicht installiert sind. |
Quellcode in ultralytics/engine/model.py
add_callback(event, func)
Fügt eine Callback-Funktion für ein bestimmtes Ereignis hinzu.
Mit dieser Methode kann der Nutzer eine benutzerdefinierte Callback-Funktion registrieren, die bei einem bestimmten Ereignis während Modelltraining oder Inferenz ausgelöst wird.
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
event |
str
|
Der Name des Ereignisses, an das der Callback angehängt werden soll. |
erforderlich |
func |
callable
|
Die zu registrierende Callback-Funktion. |
erforderlich |
Erhöht:
Typ | Beschreibung |
---|---|
ValueError
|
Wenn der Ereignisname nicht erkannt wird. |
Quellcode in ultralytics/engine/model.py
benchmark(**kwargs)
Vergleiche das Modell mit verschiedenen Exportformaten, um die Leistung zu bewerten.
Mit dieser Methode wird die Leistung des Modells in verschiedenen Exportformaten wie ONNX, TorchScript, etc. bewertet. Sie verwendet die Funktion "Benchmark" aus dem Modul ultralytics.utils.benchmarks. Das Benchmarking wird konfiguriert mit einer Kombination aus Standardkonfigurationswerten, modellspezifischen Argumenten, methodenspezifischen Vorgaben und zusätzlichen vom Benutzer bereitgestellten Schlüsselwortargumenten.
Die Methode unterstützt verschiedene Argumente, mit denen der Benchmarking-Prozess angepasst werden kann, z. B. Auswahl, Bildgröße, Präzisionsmodi, Geräteauswahl und Ausführlichkeit. Für eine umfassende Liste aller konfigurierbaren Optionen findest du im Abschnitt "Konfiguration" in der Dokumentation.
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
**kwargs |
any
|
Beliebige Schlüsselwortargumente, um den Benchmarking-Prozess anzupassen. Diese werden kombiniert mit Standardkonfigurationen, modellspezifischen Argumenten und Methodenvorgaben. |
{}
|
Retouren:
Typ | Beschreibung |
---|---|
dict
|
Ein Wörterbuch, das die Ergebnisse des Benchmarking-Prozesses enthält. |
Erhöht:
Typ | Beschreibung |
---|---|
AssertionError
|
Wenn es sich bei dem Modell nicht um ein PyTorch Modell handelt. |
Quellcode in ultralytics/engine/model.py
clear_callback(event)
Löscht alle Callback-Funktionen, die für ein bestimmtes Ereignis registriert sind.
Diese Methode entfernt alle benutzerdefinierten und Standard-Callback-Funktionen, die mit dem angegebenen Ereignis verbunden sind.
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
event |
str
|
Der Name des Ereignisses, für das die Rückrufe gelöscht werden sollen. |
erforderlich |
Erhöht:
Typ | Beschreibung |
---|---|
ValueError
|
Wenn der Ereignisname nicht erkannt wird. |
Quellcode in ultralytics/engine/model.py
embed(source=None, stream=False, **kwargs)
Erzeugt Bildeinbettungen auf der Grundlage der angegebenen Quelle.
Diese Methode ist ein Wrapper um die Methode "predict()" und konzentriert sich auf die Erzeugung von Einbettungen aus einer Bildquelle. Sie ermöglicht die Anpassung des Einbettungsprozesses durch verschiedene Schlüsselwortargumente.
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
source |
str | int | Image | ndarray
|
Die Quelle des Bildes für die Erzeugung von Einbettungen. Die Quelle kann ein Dateipfad, eine URL, ein PIL-Bild, ein Numpy-Array usw. sein. Der Standardwert ist None. |
None
|
stream |
bool
|
Wenn True, werden die Vorhersagen gestreamt. Der Standardwert ist False. |
False
|
**kwargs |
any
|
Zusätzliche Schlüsselwortargumente zum Konfigurieren des Einbettungsprozesses. |
{}
|
Retouren:
Typ | Beschreibung |
---|---|
List[Tensor]
|
Eine Liste mit den Bildeinbettungen. |
Erhöht:
Typ | Beschreibung |
---|---|
AssertionError
|
Wenn es sich bei dem Modell nicht um ein PyTorch Modell handelt. |
Quellcode in ultralytics/engine/model.py
export(**kwargs)
Exportiert das Modell in ein anderes Format, das für den Einsatz geeignet ist.
Diese Methode erleichtert den Export des Modells in verschiedene Formate (z. B. ONNX, TorchScript) für den Einsatz Zwecke. Sie verwendet die Klasse "Exporter" für den Exportprozess und kombiniert modellspezifische Überschreibungen, Methodenvorgaben Voreinstellungen und zusätzliche Argumente. Die kombinierten Argumente werden verwendet, um die Exporteinstellungen zu konfigurieren.
Die Methode unterstützt eine Vielzahl von Argumenten, mit denen du den Exportprozess anpassen kannst. Eine umfassende Liste aller möglichen Argumente findest du im Abschnitt "Konfiguration" in der Dokumentation.
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
**kwargs |
any
|
Beliebige Schlüsselwortargumente, um den Exportprozess anzupassen. Diese werden kombiniert mit den Überschreibungen und Methodenvorgaben des Modells kombiniert. |
{}
|
Retouren:
Typ | Beschreibung |
---|---|
str
|
Der Dateiname des exportierten Modells im angegebenen Format oder ein Objekt, das sich auf den Exportprozess bezieht. |
Erhöht:
Typ | Beschreibung |
---|---|
AssertionError
|
Wenn es sich bei dem Modell nicht um ein PyTorch Modell handelt. |
Quellcode in ultralytics/engine/model.py
fuse()
Verschmilzt Conv2d- und BatchNorm2d-Ebenen im Modell.
Diese Methode optimiert das Modell durch die Verschmelzung von Conv2d- und BatchNorm2d-Schichten, was die Schlussfolgerungsgeschwindigkeit erhöhen kann.
Erhöht:
Typ | Beschreibung |
---|---|
AssertionError
|
Wenn es sich bei dem Modell nicht um ein PyTorch Modell handelt. |
Quellcode in ultralytics/engine/model.py
info(detailed=False, verbose=True)
Protokolliert oder gibt Modellinformationen zurück.
Diese Methode liefert je nach den übergebenen Argumenten einen Überblick oder detaillierte Informationen über das Modell. Sie kann die Ausführlichkeit der Ausgabe steuern.
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
detailed |
bool
|
Wenn True, werden detaillierte Informationen über das Modell angezeigt. Der Standardwert ist False. |
False
|
verbose |
bool
|
Wenn True, werden die Informationen gedruckt. Wenn False, werden die Informationen zurückgegeben. Der Standardwert ist True. |
True
|
Retouren:
Typ | Beschreibung |
---|---|
list
|
Verschiedene Arten von Informationen über das Modell, abhängig von den Parametern "Detailliert" und "Ausführlich". |
Erhöht:
Typ | Beschreibung |
---|---|
AssertionError
|
Wenn es sich bei dem Modell nicht um ein PyTorch Modell handelt. |
Quellcode in ultralytics/engine/model.py
is_hub_model(model)
staticmethod
Prüfe, ob das angegebene Modell ein HUB-Modell ist.
Quellcode in ultralytics/engine/model.py
is_triton_model(model)
staticmethod
Ist das Modell ein Triton Server URL String, d.h.
Quellcode in ultralytics/engine/model.py
load(weights='yolov8n.pt')
Lädt Parameter aus der angegebenen Gewichte-Datei in das Modell.
Diese Methode unterstützt das Laden von Gewichten aus einer Datei oder direkt aus einem Gewichtobjekt. Sie vergleicht Parameter nach Namen und Form und überträgt sie in das Modell.
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
weights |
str | Path
|
Pfad zur Datei mit den Gewichten oder einem Objekt mit Gewichten. Der Standardwert ist 'yolov8n.pt'. |
'yolov8n.pt'
|
Retouren:
Name | Typ | Beschreibung |
---|---|---|
self |
Model
|
Die Instanz der Klasse mit den geladenen Gewichten. |
Erhöht:
Typ | Beschreibung |
---|---|
AssertionError
|
Wenn es sich bei dem Modell nicht um ein PyTorch Modell handelt. |
Quellcode in ultralytics/engine/model.py
predict(source=None, stream=False, predictor=None, **kwargs)
Führt Vorhersagen für die angegebene Bildquelle anhand des Modells YOLO durch.
Diese Methode erleichtert den Vorhersageprozess und ermöglicht verschiedene Konfigurationen durch Schlüsselwortargumente. Sie unterstützt Vorhersagen mit benutzerdefinierten Prädiktoren oder der Standardprädiktormethode. Die Methode verarbeitet verschiedene Arten von Bildquellen und kann im Streaming-Modus arbeiten. Sie bietet auch Unterstützung für Modelle des Typs SAM durch "Prompts".
Die Methode richtet einen neuen Prädiktor ein, wenn er noch nicht vorhanden ist, und aktualisiert seine Argumente bei jedem Aufruf. Außerdem gibt sie eine Warnung aus und verwendet Standardwerte, wenn die "Quelle" nicht angegeben wird. Die Methode stellt fest, ob sie von der Befehlszeilenschnittstelle aus aufgerufen wird und passt ihr Verhalten entsprechend an, einschließlich der Voreinstellungen für die Vertrauensschwelle und das Speicherverhalten.
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
source |
str | int | Image | ndarray
|
Die Quelle des Bildes für die Vorhersage. Akzeptiert verschiedene Typen, darunter Dateipfade, URLs, PIL-Bilder und Numpy-Arrays. Der Standardwert ist ASSETS. |
None
|
stream |
bool
|
Behandelt die Eingabequelle als kontinuierlichen Stream für Vorhersagen. Der Standardwert ist False. |
False
|
predictor |
BasePredictor
|
Eine Instanz einer benutzerdefinierten Prädikatorenklasse für die Erstellung von Vorhersagen. Wenn keine, verwendet die Methode einen Standardprädiktor. Der Standardwert ist None. |
None
|
**kwargs |
any
|
Zusätzliche Schlüsselwortargumente zur Konfiguration des Vorhersageprozesses. Diese Argumente ermöglichen weitere Anpassungen des Vorhersageverhaltens. |
{}
|
Retouren:
Typ | Beschreibung |
---|---|
List[Results]
|
Eine Liste von Vorhersageergebnissen, die in der Klasse Results gekapselt ist. |
Erhöht:
Typ | Beschreibung |
---|---|
AttributeError
|
Wenn der Prädiktor nicht richtig eingestellt ist. |
Quellcode in ultralytics/engine/model.py
reset_callbacks()
Setzt alle Rückrufe auf ihre Standardfunktionen zurück.
Diese Methode setzt die Standard-Callback-Funktionen für alle Ereignisse wieder ein und entfernt alle benutzerdefinierten Callbacks, die zuvor hinzugefügt wurden. die zuvor hinzugefügt wurden.
Quellcode in ultralytics/engine/model.py
reset_weights()
Setzt die Modellparameter auf zufällige Werte zurück und verwirft damit alle Trainingsinformationen.
Diese Methode durchläuft alle Module des Modells und setzt ihre Parameter zurück, wenn sie über eine 'reset_parameters' Methode haben. Sie stellt außerdem sicher, dass bei allen Parametern "requires_grad" auf True gesetzt ist, damit sie während des Trainings aktualisiert werden können.
Retouren:
Name | Typ | Beschreibung |
---|---|---|
self |
Model
|
Die Instanz der Klasse mit zurückgesetzten Gewichten. |
Erhöht:
Typ | Beschreibung |
---|---|
AssertionError
|
Wenn es sich bei dem Modell nicht um ein PyTorch Modell handelt. |
Quellcode in ultralytics/engine/model.py
save(filename='saved_model.pt', use_dill=True)
Speichert den aktuellen Modellstatus in einer Datei.
Diese Methode exportiert den Checkpoint (ckpt) des Modells in den angegebenen Dateinamen.
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
filename |
str | Path
|
Der Name der Datei, in der das Modell gespeichert wird. Der Standardwert ist "saved_model.pt". |
'saved_model.pt'
|
use_dill |
bool
|
Ob Dill für die Serialisierung verwendet werden soll, falls verfügbar. Der Standardwert ist True. |
True
|
Erhöht:
Typ | Beschreibung |
---|---|
AssertionError
|
Wenn es sich bei dem Modell nicht um ein PyTorch Modell handelt. |
Quellcode in ultralytics/engine/model.py
track(source=None, stream=False, persist=False, **kwargs)
Führt die Objektverfolgung für die angegebene Eingangsquelle mit den registrierten Trackern durch.
Diese Methode führt die Objektverfolgung mithilfe der Prädiktoren des Modells und optional registrierter Tracker durch. Sie ist Sie kann verschiedene Arten von Eingabequellen wie Dateipfade oder Videostreams verarbeiten. Die Methode unterstützt die Anpassung des Verfolgungsprozesses durch verschiedene Schlüsselwortargumente. Sie registriert Tracker, wenn sie noch nicht vorhanden sind, und hält sie optional mit dem Flag "persist" fest.
Die Methode setzt eine Standard-Konfidenzschwelle speziell für das ByteTrack-basierte Tracking, das niedrige Vertrauensvorhersagen als Eingabe benötigt. Der Tracking-Modus wird explizit in den Schlüsselwortargumenten festgelegt.
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
source |
str
|
Die Eingabequelle für die Objektverfolgung. Das kann ein Dateipfad, eine URL oder ein Videostream sein. |
None
|
stream |
bool
|
Behandelt die Eingangsquelle als kontinuierlichen Videostrom. Der Standardwert ist False. |
False
|
persist |
bool
|
Lässt die Tracker zwischen verschiedenen Aufrufen dieser Methode bestehen. Der Standardwert ist False. |
False
|
**kwargs |
any
|
Zusätzliche Schlüsselwortargumente für die Konfiguration des Tracking-Prozesses. Diese Argumente ermöglichen weitere Anpassungen des Tracking-Verhaltens. |
{}
|
Retouren:
Typ | Beschreibung |
---|---|
List[Results]
|
Eine Liste von Tracking-Ergebnissen, gekapselt in der Klasse Results. |
Erhöht:
Typ | Beschreibung |
---|---|
AttributeError
|
Wenn der Prädiktor keine registrierten Tracker hat. |
Quellcode in ultralytics/engine/model.py
train(trainer=None, **kwargs)
Trainiert das Modell anhand des angegebenen Datensatzes und der Trainingskonfiguration.
Diese Methode erleichtert das Modelltraining mit einer Reihe von anpassbaren Einstellungen und Konfigurationen. Sie unterstützt Training mit einem benutzerdefinierten Trainer oder dem in der Methode definierten Standard-Trainingsansatz. Die Methode behandelt verschiedene Szenarien, wie z. B. die Wiederaufnahme des Trainings von einem Kontrollpunkt aus, die Integration mit Ultralytics HUB und Aktualisierung von Modell und Konfiguration nach dem Training.
Wenn Ultralytics HUB verwendet wird und die Sitzung bereits ein geladenes Modell hat, priorisiert die Methode die HUB-Trainings Argumente und gibt eine Warnung aus, wenn lokale Argumente angegeben werden. Sie prüft auf Pip-Updates und kombiniert Standard Konfigurationen, methodenspezifische Standardwerte und vom Benutzer angegebene Argumente, um den Trainingsprozess zu konfigurieren. Nach Training aktualisiert sie das Modell und seine Konfigurationen und fügt optional Metriken hinzu.
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
trainer |
BaseTrainer
|
Eine Instanz einer benutzerdefinierten Trainerklasse für das Training des Modells. Wenn keine, verwendet die Methode einen Standardtrainer. Der Standardwert ist None. |
None
|
**kwargs |
any
|
Beliebige Schlüsselwortargumente, die die Trainingskonfiguration darstellen. Diese Argumente werden verwendet, um verschiedene Aspekte des Trainingsprozesses anzupassen. |
{}
|
Retouren:
Typ | Beschreibung |
---|---|
dict | None
|
Ausbildungskennzahlen, falls vorhanden und die Ausbildung erfolgreich war; andernfalls Keine. |
Erhöht:
Typ | Beschreibung |
---|---|
AssertionError
|
Wenn es sich bei dem Modell nicht um ein PyTorch Modell handelt. |
PermissionError
|
Wenn es ein Problem mit der Berechtigung für die HUB-Sitzung gibt. |
ModuleNotFoundError
|
Wenn das HUB SDK nicht installiert ist. |
Quellcode in ultralytics/engine/model.py
604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 |
|
tune(use_ray=False, iterations=10, *args, **kwargs)
Führt die Abstimmung der Hyperparameter für das Modell durch, mit der Option, Ray Tune zu verwenden.
Diese Methode unterstützt zwei Arten der Abstimmung von Hyperparametern: Ray Tune oder eine eigene Abstimmungsmethode. Wenn Ray Tune aktiviert ist, nutzt sie die Funktion "run_ray_tune" aus dem Modul ultralytics.utils.tuner. Andernfalls wird die interne Klasse "Tuner" zur Abstimmung verwendet. Die Methode kombiniert Standard-, überschriebene und benutzerdefinierte Argumente, um den Abstimmungsprozess zu konfigurieren.
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
use_ray |
bool
|
Wenn True, wird Ray Tune für die Abstimmung der Hyperparameter verwendet. Der Standardwert ist False. |
False
|
iterations |
int
|
Die Anzahl der durchzuführenden Abstimmungswiederholungen. Der Standardwert ist 10. |
10
|
*args |
list
|
Argumentliste mit variabler Länge für zusätzliche Argumente. |
()
|
**kwargs |
any
|
Beliebige Schlüsselwortargumente. Diese werden mit den Überschreibungen und Standardwerten des Modells kombiniert. |
{}
|
Retouren:
Typ | Beschreibung |
---|---|
dict
|
Ein Wörterbuch, das die Ergebnisse der Hyperparametersuche enthält. |
Erhöht:
Typ | Beschreibung |
---|---|
AssertionError
|
Wenn es sich bei dem Modell nicht um ein PyTorch Modell handelt. |
Quellcode in ultralytics/engine/model.py
val(validator=None, **kwargs)
Validiert das Modell anhand eines angegebenen Datensatzes und einer Validierungskonfiguration.
Diese Methode erleichtert den Prozess der Modellvalidierung und ermöglicht eine Reihe von Anpassungen durch verschiedene Einstellungen und Konfigurationen. Sie unterstützt die Validierung mit einem benutzerdefinierten Validator oder dem Standard-Validierungsansatz. Die Methode kombiniert Standardkonfigurationen, methodenspezifische Vorgaben und vom Benutzer bereitgestellte Argumente, um den den Validierungsprozess zu konfigurieren. Nach der Validierung aktualisiert sie die Metriken des Modells mit den Ergebnissen des Validierer.
Die Methode unterstützt verschiedene Argumente, mit denen der Validierungsprozess angepasst werden kann. Für eine umfassende Liste aller konfigurierbaren Optionen findest du im Abschnitt "Konfiguration" in der Dokumentation.
Parameter:
Name | Typ | Beschreibung | Standard |
---|---|---|---|
validator |
BaseValidator
|
Eine Instanz einer benutzerdefinierten Validator-Klasse zur Validierung des Modells. Wenn Keine, verwendet die Methode einen Standard-Validator. Der Standardwert ist None. |
None
|
**kwargs |
any
|
Beliebige Schlüsselwortargumente, die die Validierungskonfiguration darstellen. Diese Argumente werden verwendet, um verschiedene Aspekte des Validierungsprozesses anzupassen. |
{}
|
Retouren:
Typ | Beschreibung |
---|---|
dict
|
Validierungskennzahlen aus dem Validierungsprozess. |
Erhöht:
Typ | Beschreibung |
---|---|
AssertionError
|
Wenn es sich bei dem Modell nicht um ein PyTorch Modell handelt. |