Referentie voor ultralytics/engine/model.py
Opmerking
Dit bestand is beschikbaar op https://github.com/ultralytics/ ultralytics/blob/main/ ultralytics/engine/model .py. Als je een probleem ziet, help het dan oplossen door een Pull Request 🛠️ bij te dragen. Bedankt 🙏!
ultralytics.engine.model.Model
Basis: Module
Een basisklasse voor het implementeren van YOLO modellen, die API's over verschillende modeltypes verenigt.
Deze klasse biedt een gemeenschappelijke interface voor verschillende bewerkingen met betrekking tot YOLO modellen, zoals trainen, validatie, voorspelling, exporteren en benchmarken. Het behandelt verschillende typen modellen, waaronder die geladen vanuit lokale bestanden, Ultralytics HUB of Triton Server. De klasse is ontworpen om flexibel en uitbreidbaar voor verschillende taken en modelconfiguraties.
Parameters:
Naam | Type | Beschrijving | Standaard |
---|---|---|---|
model |
Union[str, Path]
|
Pad of naam van het model dat moet worden geladen of aangemaakt. Dit kan een lokaal bestandspad pad, een modelnaam van Ultralytics HUB of een Triton Server model zijn. Standaard is dit 'yolov8n.pt'. |
'yolov8n.pt'
|
task |
Any
|
Het taaktype dat bij het YOLO model hoort. Dit kan worden gebruikt om het toepassingsdomein van het model te specificeren, zoals objectdetectie, segmentatie, enz. toepassingsdomein van het model, zoals objectdetectie, segmentatie, enz. Staat standaard op Geen. |
None
|
verbose |
bool
|
Als dit Waar is, wordt verbose-uitvoer ingeschakeld tijdens de bewerkingen van het model. Staat standaard op Onwaar. |
False
|
Kenmerken:
Naam | Type | Beschrijving |
---|---|---|
callbacks |
dict
|
Een woordenboek met callback-functies voor verschillende gebeurtenissen tijdens modelbewerkingen. |
predictor |
BasePredictor
|
Het voorspellingsobject dat wordt gebruikt om voorspellingen te doen. |
model |
Module
|
Het onderliggende PyTorch model. |
trainer |
BaseTrainer
|
Het trainerobject dat wordt gebruikt om het model te trainen. |
ckpt |
dict
|
De controlepuntgegevens als het model wordt geladen vanuit een *.pt bestand. |
cfg |
str
|
De configuratie van het model indien geladen vanuit een *.yaml bestand. |
ckpt_path |
str
|
Het pad naar het controlepuntbestand. |
overrides |
dict
|
Een woordenboek met overrides voor modelconfiguratie. |
metrics |
dict
|
De laatste training/validatiegegevens. |
session |
HUBTrainingSession
|
De Ultralytics HUB-sessie, indien van toepassing. |
task |
str
|
Het soort taak waar het model voor bedoeld is. |
model_name |
str
|
De naam van het model. |
Methoden:
Naam | Beschrijving |
---|---|
__call__ |
Alias voor de predict methode, waardoor de modelinstantie oproepbaar is. |
_new |
Initialiseert een nieuw model op basis van een configuratiebestand. |
_load |
Laadt een model uit een checkpointbestand. |
_check_is_pytorch_model |
Zorgt ervoor dat het model een PyTorch model is. |
reset_weights |
Zet de gewichten van het model terug naar hun beginstand. |
load |
Laadt modelgewichten uit een opgegeven bestand. |
save |
Slaat de huidige toestand van het model op in een bestand. |
info |
Logt of retourneert informatie over het model. |
fuse |
Voegt Conv2d en BatchNorm2d lagen samen voor geoptimaliseerde inferentie. |
predict |
Voert voorspellingen uit voor objectdetectie. |
track |
Voert het volgen van objecten uit. |
val |
Valideert het model op een dataset. |
benchmark |
Benchmark het model op verschillende exportformaten. |
export |
Exporteert het model naar verschillende formaten. |
train |
Traint het model op een dataset. |
tune |
Voert hyperparameter tuning uit. |
_apply |
Past een functie toe op de tensoren van het model. |
add_callback |
Voegt een terugbelfunctie voor een gebeurtenis toe. |
clear_callback |
Wist alle callbacks voor een gebeurtenis. |
reset_callbacks |
Zet alle callbacks terug op hun standaardfuncties. |
_get_hub_session |
Haalt een Ultralytics HUB-sessie op of maakt deze aan. |
is_triton_model |
Controleert of een model een Triton Server-model is. |
is_hub_model |
Controleert of een model een Ultralytics HUB-model is. |
_reset_ckpt_args |
Zet controlepuntargumenten terug bij het laden van een PyTorch model. |
_smart_load |
Laadt de juiste module op basis van de modeltaak. |
task_map |
Biedt een mapping van modeltaken naar overeenkomstige klassen. |
Verhogingen:
Type | Beschrijving |
---|---|
FileNotFoundError
|
Als het opgegeven modelbestand niet bestaat of ontoegankelijk is. |
ValueError
|
Als het modelbestand of de configuratie ongeldig is of niet wordt ondersteund. |
ImportError
|
Als vereiste afhankelijkheden voor specifieke modeltypes (zoals HUB SDK) niet zijn geïnstalleerd. |
TypeError
|
Als het model geen PyTorch model is wanneer dat nodig is. |
AttributeError
|
Als vereiste attributen of methoden niet geïmplementeerd of beschikbaar zijn. |
NotImplementedError
|
Als een specifieke modeltaak of modus niet wordt ondersteund. |
Broncode 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
Haalt het apparaat op waarop de parameters van het model zijn toegewezen.
Deze eigenschap wordt gebruikt om te bepalen of de parameters van het model op CPU of GPU staan. Het is alleen van toepassing op modellen die instanties zijn van nn.Module.
Retourneert:
Type | Beschrijving |
---|---|
device | None
|
Het apparaat (CPU/GPU) van het model als het een PyTorch model is, anders geen. |
names: list
property
Haalt de klassennamen op die bij het geladen model horen.
Deze eigenschap geeft de klassennamen terug als ze gedefinieerd zijn in het model. De klassennamen worden gecontroleerd op geldigheid met behulp van de functie 'check_class_names' van de module ultralytics.nn.autobackend.
Retourneert:
Type | Beschrijving |
---|---|
list | None
|
De klassennamen van het model indien beschikbaar, anders geen. |
task_map: dict
property
Breng het hoofd in kaart in model, trainer, validator en predictor klassen.
Retourneert:
Naam | Type | Beschrijving |
---|---|---|
task_map |
dict
|
De kaart van modeltaak naar modusklassen. |
transforms
property
Haalt de transformaties op die zijn toegepast op de invoergegevens van het geladen model.
Deze eigenschap geeft de transformaties terug als ze gedefinieerd zijn in het model.
Retourneert:
Type | Beschrijving |
---|---|
object | None
|
Het transform object van het model indien beschikbaar, anders geen. |
__call__(source=None, stream=False, **kwargs)
Een alias voor de predict methode, waardoor de modelinstantie aanroepbaar is.
Deze methode vereenvoudigt het proces van voorspellen door de instantie van het model direct aan te roepen met de vereiste argumenten voor de voorspelling.
Parameters:
Naam | Type | Beschrijving | Standaard |
---|---|---|---|
source |
str | Path | int | Image | ndarray
|
De bron van het beeld voor het maken van voorspellingen. Accepteert verschillende typen, waaronder bestandspaden, URL's, PIL afbeeldingen en numpy arrays. Staat standaard op Geen. |
None
|
stream |
bool
|
Behandelt, indien True, de invoerbron als een continue stroom voor voorspellingen. Staat standaard op Onwaar. |
False
|
**kwargs |
any
|
Extra trefwoordargumenten voor het configureren van het voorspellingsproces. |
{}
|
Retourneert:
Type | Beschrijving |
---|---|
List[Results]
|
Een lijst met voorspellingsresultaten, ingekapseld in de klasse Resultaten. |
Broncode in ultralytics/engine/model.py
__init__(model='yolov8n.pt', task=None, verbose=False)
Initialiseert een nieuwe instantie van de modelklasse YOLO .
Deze constructor stelt het model in op basis van het opgegeven modelpad of de modelnaam. Het behandelt verschillende soorten model bronnen, waaronder lokale bestanden, Ultralytics HUB modellen en Triton Server modellen. De methode initialiseert verschillende belangrijke attributen van het model en bereidt het voor op bewerkingen zoals trainen, voorspellen of exporteren.
Parameters:
Naam | Type | Beschrijving | Standaard |
---|---|---|---|
model |
Union[str, Path]
|
Het pad of modelbestand om te laden of te maken. Dit kan een lokaal bestandspad, een modelnaam van Ultralytics HUB of een Triton Server model zijn. Standaard is dit 'yolov8n.pt'. |
'yolov8n.pt'
|
task |
Any
|
Het taaktype geassocieerd met het YOLO model, dat het toepassingsdomein specificeert. Staat standaard op Geen. |
None
|
verbose |
bool
|
Als dit Waar is, wordt de uitvoer tijdens het initialiseren van het model en de daaropvolgende bewerkingen. Staat standaard op Onwaar. |
False
|
Verhogingen:
Type | Beschrijving |
---|---|
FileNotFoundError
|
Als het opgegeven modelbestand niet bestaat of ontoegankelijk is. |
ValueError
|
Als het modelbestand of de configuratie ongeldig is of niet wordt ondersteund. |
ImportError
|
Als vereiste afhankelijkheden voor specifieke modeltypes (zoals HUB SDK) niet zijn geïnstalleerd. |
Broncode in ultralytics/engine/model.py
add_callback(event, func)
Voegt een terugbelfunctie toe voor een opgegeven gebeurtenis.
Met deze methode kan de gebruiker een aangepaste callback-functie registreren die wordt geactiveerd bij een specifieke gebeurtenis tijdens modeltraining of inferentie.
Parameters:
Naam | Type | Beschrijving | Standaard |
---|---|---|---|
event |
str
|
De naam van de gebeurtenis waaraan de callback moet worden gekoppeld. |
vereist |
func |
callable
|
De terugbelfunctie die moet worden geregistreerd. |
vereist |
Verhogingen:
Type | Beschrijving |
---|---|
ValueError
|
Als de naam van de gebeurtenis niet wordt herkend. |
Broncode in ultralytics/engine/model.py
benchmark(**kwargs)
Vergelijkt het model met verschillende exportformaten om de prestaties te evalueren.
Deze methode beoordeelt de prestaties van het model in verschillende exportformaten, zoals ONNX, TorchScript, enz. Het gebruikt de functie 'benchmark' uit de module ultralytics.utils.benchmarks. De benchmark wordt geconfigureerd met een combinatie van standaard configuratiewaarden, modelspecifieke argumenten, methode-specifieke standaardwaarden en aanvullende sleutelwoordargumenten van de gebruiker.
De methode ondersteunt verschillende argumenten waarmee het benchmarkproces kan worden aangepast, zoals de keuze van de dataset, de afbeeldingsgrootte, de precisiemodi, de apparaatkeuze en de verbositeit. keuze, afbeeldingsgrootte, precisiemodi, apparaatkeuze en verbositeit. Voor een uitgebreide lijst van alle configureerbare opties moeten gebruikers de sectie 'configuration' in de documentatie raadplegen.
Parameters:
Naam | Type | Beschrijving | Standaard |
---|---|---|---|
**kwargs |
any
|
Willekeurige trefwoordargumenten om het benchmarkproces aan te passen. Deze worden gecombineerd met standaardconfiguraties, modelspecifieke argumenten en standaardmethoden. |
{}
|
Retourneert:
Type | Beschrijving |
---|---|
dict
|
Een woordenboek met de resultaten van het benchmarkingproces. |
Verhogingen:
Type | Beschrijving |
---|---|
AssertionError
|
Als het model geen PyTorch model is. |
Broncode in ultralytics/engine/model.py
clear_callback(event)
Wist alle terugbelfuncties die zijn geregistreerd voor een opgegeven gebeurtenis.
Deze methode verwijdert alle aangepaste en standaard callbackfuncties die zijn gekoppeld aan de opgegeven gebeurtenis.
Parameters:
Naam | Type | Beschrijving | Standaard |
---|---|---|---|
event |
str
|
De naam van de gebeurtenis waarvoor de callbacks moeten worden gewist. |
vereist |
Verhogingen:
Type | Beschrijving |
---|---|
ValueError
|
Als de naam van de gebeurtenis niet wordt herkend. |
Broncode in ultralytics/engine/model.py
embed(source=None, stream=False, **kwargs)
Genereert beeldinbeddingen op basis van de opgegeven bron.
Deze methode is een wrapper rond de methode 'predict()' en richt zich op het genereren van embeddings vanuit een afbeeldingsbron. Het maakt het mogelijk om het inbeddingsproces aan te passen door middel van verschillende trefwoordargumenten.
Parameters:
Naam | Type | Beschrijving | Standaard |
---|---|---|---|
source |
str | int | Image | ndarray
|
De bron van de afbeelding voor het genereren van embeddings. De bron kan een bestandspad, URL, PIL afbeelding, numpy array, etc. zijn. Staat standaard op Geen. |
None
|
stream |
bool
|
Als dit waar is, worden voorspellingen gestreamd. Staat standaard op Onwaar. |
False
|
**kwargs |
any
|
Extra trefwoordargumenten voor het configureren van het insluitproces. |
{}
|
Retourneert:
Type | Beschrijving |
---|---|
List[Tensor]
|
Een lijst met de beeldinbeddingen. |
Verhogingen:
Type | Beschrijving |
---|---|
AssertionError
|
Als het model geen PyTorch model is. |
Broncode in ultralytics/engine/model.py
export(**kwargs)
Exporteert het model naar een ander formaat dat geschikt is voor implementatie.
Deze methode vergemakkelijkt het exporteren van het model naar verschillende formaten (bijv. ONNX, TorchScript) voor implementatiedoeleinden. doeleinden. Het gebruikt de klasse 'Exporter' voor het exportproces, waarbij modelspecifieke overrides, methode standaardinstellingen en eventuele aanvullende argumenten. De gecombineerde argumenten worden gebruikt om de exportinstellingen te configureren.
De methode ondersteunt een groot aantal argumenten om het exportproces aan te passen. Voor een uitgebreide lijst van alle mogelijke argumenten, raadpleeg je de sectie "configuratie" in de documentatie.
Parameters:
Naam | Type | Beschrijving | Standaard |
---|---|---|---|
**kwargs |
any
|
Willekeurige trefwoordargumenten om het exportproces aan te passen. Deze worden gecombineerd met de overrides van het model en de standaardinstellingen van de methode. |
{}
|
Retourneert:
Type | Beschrijving |
---|---|
str
|
De bestandsnaam van het geëxporteerde model in het opgegeven formaat, of een object gerelateerd aan het exportproces. |
Verhogingen:
Type | Beschrijving |
---|---|
AssertionError
|
Als het model geen PyTorch model is. |
Broncode in ultralytics/engine/model.py
fuse()
Voegt Conv2d en BatchNorm2d lagen samen in het model.
Deze methode optimaliseert het model door Conv2d en BatchNorm2d lagen samen te voegen, wat de inferentiesnelheid kan verbeteren.
Verhogingen:
Type | Beschrijving |
---|---|
AssertionError
|
Als het model geen PyTorch model is. |
Broncode in ultralytics/engine/model.py
info(detailed=False, verbose=True)
Logt of retourneert modelinformatie.
Deze methode geeft een overzicht of gedetailleerde informatie over het model, afhankelijk van de doorgegeven argumenten. Het kan de verbositeit van de uitvoer regelen.
Parameters:
Naam | Type | Beschrijving | Standaard |
---|---|---|---|
detailed |
bool
|
Als dit waar is, wordt gedetailleerde informatie over het model getoond. Staat standaard op Onwaar. |
False
|
verbose |
bool
|
Als dit Waar is, wordt de informatie afgedrukt. Als dit niet waar is, wordt de informatie geretourneerd. Standaard is dit Waar. |
True
|
Retourneert:
Type | Beschrijving |
---|---|
list
|
Verschillende soorten informatie over het model, afhankelijk van de parameters 'gedetailleerd' en 'uitgebreid'. |
Verhogingen:
Type | Beschrijving |
---|---|
AssertionError
|
Als het model geen PyTorch model is. |
Broncode in ultralytics/engine/model.py
is_hub_model(model)
staticmethod
Controleer of het geleverde model een HUB-model is.
Broncode in ultralytics/engine/model.py
is_triton_model(model)
staticmethod
Is het model een Triton Server URL string, d.w.z.
Broncode in ultralytics/engine/model.py
load(weights='yolov8n.pt')
Laadt parameters uit het opgegeven gewichtenbestand in het model.
Deze methode ondersteunt het laden van gewichten uit een bestand of rechtstreeks uit een gewichtenobject. Het vergelijkt parameters op naam en vorm en brengt ze over naar het model.
Parameters:
Naam | Type | Beschrijving | Standaard |
---|---|---|---|
weights |
str | Path
|
Pad naar het gewichtenbestand of een gewichtenobject. Standaard is dit 'yolov8n.pt'. |
'yolov8n.pt'
|
Retourneert:
Naam | Type | Beschrijving |
---|---|---|
self |
Model
|
De instantie van de klasse met geladen gewichten. |
Verhogingen:
Type | Beschrijving |
---|---|
AssertionError
|
Als het model geen PyTorch model is. |
Broncode in ultralytics/engine/model.py
predict(source=None, stream=False, predictor=None, **kwargs)
Voert voorspellingen uit op de gegeven afbeeldingsbron met behulp van het YOLO model.
Deze methode vergemakkelijkt het voorspellingsproces en staat verschillende configuraties toe door middel van trefwoordargumenten. Het ondersteunt voorspellingen met aangepaste voorspellers of de standaard voorspellingsmethode. De methode kan verschillende typen afbeeldingsbronnen en kan werken in een streaming modus. Het biedt ook ondersteuning voor modellen van het type SAM door middel van 'prompts'.
De methode maakt een nieuwe voorspeller aan als deze nog niet aanwezig is en werkt de argumenten bij elke aanroep bij. Ze geeft ook een waarschuwing en gebruikt standaardactiva als de "bron" niet is opgegeven. De methode bepaalt of het wordt aangeroepen vanaf de opdrachtregelinterface en past zijn gedrag daarop aan, inclusief het instellen van standaardwaarden voor vertrouwensdrempel en opslaggedrag.
Parameters:
Naam | Type | Beschrijving | Standaard |
---|---|---|---|
source |
str | int | Image | ndarray
|
De bron van de afbeelding voor het maken van voorspellingen. Accepteert verschillende types, waaronder bestandspaden, URL's, PIL afbeeldingen en numpy arrays. Staat standaard op ASSETS. |
None
|
stream |
bool
|
Behandelt de invoerbron als een continue stroom voor voorspellingen. Staat standaard op Onwaar. |
False
|
predictor |
BasePredictor
|
Een instantie van een aangepaste voorspellingsklasse voor het doen van voorspellingen. Als er geen is, gebruikt de methode een standaard voorspeller. Standaard geen. |
None
|
**kwargs |
any
|
Extra trefwoordargumenten voor het configureren van het voorspellingsproces. Met deze argumenten voor verdere aanpassing van het voorspellingsgedrag. |
{}
|
Retourneert:
Type | Beschrijving |
---|---|
List[Results]
|
Een lijst met voorspellingsresultaten, ingekapseld in de klasse Resultaten. |
Verhogingen:
Type | Beschrijving |
---|---|
AttributeError
|
Als de voorspeller niet goed is ingesteld. |
Broncode in ultralytics/engine/model.py
reset_callbacks()
Zet alle callbacks terug op hun standaardfuncties.
Deze methode herstelt de standaard callbackfuncties voor alle gebeurtenissen en verwijdert alle aangepaste callbacks die eerder waren die eerder waren toegevoegd.
Broncode in ultralytics/engine/model.py
reset_weights()
Zet de modelparameters terug naar willekeurig geïnitialiseerde waarden, waarbij alle trainingsinformatie wordt weggegooid.
Deze methode itereert door alle modules in het model en reset hun parameters als ze een 'reset_parameters' methode hebben. Het zorgt er ook voor dat voor alle parameters 'requires_grad' is ingesteld op True, zodat ze worden bijgewerkt tijdens de training.
Retourneert:
Naam | Type | Beschrijving |
---|---|---|
self |
Model
|
De instantie van de klasse met geresette gewichten. |
Verhogingen:
Type | Beschrijving |
---|---|
AssertionError
|
Als het model geen PyTorch model is. |
Broncode in ultralytics/engine/model.py
save(filename='saved_model.pt', use_dill=True)
Slaat de huidige modelstatus op in een bestand.
Deze methode exporteert het controlepunt (ckpt) van het model naar de opgegeven bestandsnaam.
Parameters:
Naam | Type | Beschrijving | Standaard |
---|---|---|---|
filename |
str | Path
|
De naam van het bestand waarin het model moet worden opgeslagen. Wordt standaard ingesteld op 'saved_model.pt'. |
'saved_model.pt'
|
use_dill |
bool
|
Of dill moet worden gebruikt voor serialisatie indien beschikbaar. Wordt standaard ingesteld op True. |
True
|
Verhogingen:
Type | Beschrijving |
---|---|
AssertionError
|
Als het model geen PyTorch model is. |
Broncode in ultralytics/engine/model.py
track(source=None, stream=False, persist=False, **kwargs)
Voert het volgen van objecten uit op de opgegeven invoerbron met behulp van de geregistreerde trackers.
Deze methode voert het volgen van objecten uit met behulp van de voorspellers van het model en optioneel geregistreerde trackers. Het is in staat om verschillende soorten invoerbronnen te verwerken, zoals bestandspaden of videostreams. De methode ondersteunt van het volgproces door middel van verschillende sleutelwoord argumenten. Het registreert trackers als ze nog niet en houdt ze optioneel bij op basis van de 'persist' vlag.
De methode stelt een standaard betrouwbaarheidsdrempel in speciaal voor ByteTrack-gebaseerd volgen, dat voorspellingen met een lage vertrouwensvoorspellingen als invoer nodig heeft. De trackingmodus wordt expliciet ingesteld in de sleutelwoordargumenten.
Parameters:
Naam | Type | Beschrijving | Standaard |
---|---|---|---|
source |
str
|
De invoerbron voor het volgen van objecten. Dit kan een bestandspad, URL of videostream zijn. |
None
|
stream |
bool
|
Behandelt de invoerbron als een continue videostroom. Staat standaard op Onwaar. |
False
|
persist |
bool
|
Houdt de trackers bij tussen verschillende aanroepen van deze methode. Staat standaard op False. |
False
|
**kwargs |
any
|
Extra sleutelwoord argumenten voor het configureren van het volgproces. Met deze argumenten voor het verder aanpassen van het volggedrag. |
{}
|
Retourneert:
Type | Beschrijving |
---|---|
List[Results]
|
Een lijst met traceerresultaten, ingekapseld in de klasse Resultaten. |
Verhogingen:
Type | Beschrijving |
---|---|
AttributeError
|
Als de voorspeller geen geregistreerde trackers heeft. |
Broncode in ultralytics/engine/model.py
train(trainer=None, **kwargs)
Traint het model met behulp van de opgegeven dataset en trainingsconfiguratie.
Deze methode vergemakkelijkt modeltraining met een reeks aanpasbare instellingen en configuraties. Het ondersteunt training met een aangepaste trainer of de standaard trainingsmethode die in de methode is gedefinieerd. De methode kan verschillende scenario's, zoals het hervatten van de training vanaf een controlepunt, integratie met Ultralytics HUB en model en configuratie bijwerken na de training.
Bij gebruik van Ultralytics HUB, als de sessie al een geladen model heeft, geeft de methode voorrang aan HUB-training argumenten en geeft een waarschuwing als er lokale argumenten worden gegeven. Het controleert op pip-updates en combineert standaard configuraties, methode-specifieke standaardinstellingen en door de gebruiker gegeven argumenten om het trainingsproces te configureren. Na training wordt het model en de configuraties bijgewerkt en worden optioneel statistieken toegevoegd.
Parameters:
Naam | Type | Beschrijving | Standaard |
---|---|---|---|
trainer |
BaseTrainer
|
Een instantie van een aangepaste trainersklasse voor het trainen van het model. Als er geen is, gebruikt de methode een standaard trainer. Standaard geen. |
None
|
**kwargs |
any
|
Willekeurige trefwoordargumenten die de trainingsconfiguratie weergeven. Deze argumenten worden gebruikt om verschillende aspecten van het trainingsproces aan te passen. |
{}
|
Retourneert:
Type | Beschrijving |
---|---|
dict | None
|
Trainingsgegevens indien beschikbaar en de training succesvol is; anders geen. |
Verhogingen:
Type | Beschrijving |
---|---|
AssertionError
|
Als het model geen PyTorch model is. |
PermissionError
|
Als er een toestemmingsprobleem is met de HUB-sessie. |
ModuleNotFoundError
|
Als de HUB SDK niet is geïnstalleerd. |
Broncode 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)
Voert hyperparameter tuning uit voor het model, met een optie om Ray Tune te gebruiken.
Deze methode ondersteunt twee manieren om hyperparameters te tunen: met Ray Tune of met een eigen tuningmethode. Als Ray Tune is ingeschakeld, wordt de functie 'run_ray_tune' van de module ultralytics.utils.tuner gebruikt. Anders wordt de interne klasse 'Tuner' gebruikt voor het afstemmen. De methode combineert standaard, override en aangepaste argumenten om het tuningsproces te configureren.
Parameters:
Naam | Type | Beschrijving | Standaard |
---|---|---|---|
use_ray |
bool
|
Als dit Waar is, wordt Ray Tune gebruikt voor het afstemmen van de hyperparameters. Staat standaard op Onwaar. |
False
|
iterations |
int
|
Het aantal afstem iteraties om uit te voeren. Standaard 10. |
10
|
*args |
list
|
Argumentenlijst met variabele lengte voor extra argumenten. |
()
|
**kwargs |
any
|
Willekeurige trefwoordargumenten. Deze worden gecombineerd met de overrides en defaults van het model. |
{}
|
Retourneert:
Type | Beschrijving |
---|---|
dict
|
Een woordenboek met de resultaten van het zoeken naar hyperparameters. |
Verhogingen:
Type | Beschrijving |
---|---|
AssertionError
|
Als het model geen PyTorch model is. |
Broncode in ultralytics/engine/model.py
val(validator=None, **kwargs)
Valideert het model met behulp van een opgegeven dataset en validatieconfiguratie.
Deze methode vergemakkelijkt het modelvalidatieproces en maakt een reeks aanpassingen mogelijk door middel van verschillende instellingen en configuraties. Het ondersteunt validatie met een aangepaste validator of de standaard validatie aanpak. De methode combineert standaardconfiguraties, methode-specifieke standaardinstellingen en door de gebruiker gegeven argumenten om het validatieproces te configureren. het validatieproces. Na de validatie worden de metrieken van het model bijgewerkt met de resultaten van de validator.
De methode ondersteunt verschillende argumenten waarmee het validatieproces kan worden aangepast. Voor een uitgebreide lijst van alle configureerbare opties moeten gebruikers de sectie 'configuratie' in de documentatie raadplegen.
Parameters:
Naam | Type | Beschrijving | Standaard |
---|---|---|---|
validator |
BaseValidator
|
Een instantie van een aangepaste validatorklasse voor het valideren van het model. Als Geen, dan gebruikt de methode een standaard validator. Standaard geen. |
None
|
**kwargs |
any
|
Willekeurige trefwoordargumenten die de validatieconfiguratie weergeven. Deze argumenten worden gebruikt om verschillende aspecten van het validatieproces aan te passen. |
{}
|
Retourneert:
Type | Beschrijving |
---|---|
dict
|
Validatiemetriek verkregen uit het validatieproces. |
Verhogingen:
Type | Beschrijving |
---|---|
AssertionError
|
Als het model geen PyTorch model is. |