Een voorproefje van TorchVision v0.11 – Memoires van een TorchVision-ontwikkelaar – 2

Een voorproefje van TorchVision v0.11 – Memoires van een TorchVision-ontwikkelaar – 2

Een voorproefje van TorchVision v0.11 – Memoires van een TorchVision-ontwikkelaar – 2 PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.
Een voorproefje van TorchVision v0.11 – Memoires van een TorchVision-ontwikkelaar – 2

De laatste paar weken waren super druk in "PyTorch Land", terwijl we verwoed bezig zijn met de voorbereiding van de release van PyTorch v1.10 en TorchVision v0.11. In deze 2e aflevering van de series, zal ik enkele van de aankomende functies bespreken die momenteel zijn opgenomen in de release-tak van TorchVision.

Disclaimer: Hoewel de aanstaande release vol zit met tal van verbeteringen en verbeteringen aan bugs/tests/documentatie, benadruk ik hier nieuwe "gebruikersgerichte" functies op domeinen waarin ik persoonlijk geïnteresseerd ben. Na het schrijven van de blogpost merkte ik ook een voorkeur op voor functies die ik heb beoordeeld, geschreven of op de voet gevolgd. Het wel of niet afdekken van een functie zegt niets over het belang ervan. De geuite meningen zijn uitsluitend van mijzelf.

Nieuwe modellen

De nieuwe release zit boordevol nieuwe modellen:

  • Kai Zhang heeft een implementatie van de . toegevoegd RegNet-architectuur samen met vooraf getrainde gewichten voor 14-varianten die het originele papier nauwkeurig reproduceren.
  • Ik heb onlangs een implementatie van de . toegevoegd EfficiëntNet-architectuur samen met vooraf getrainde gewichten voor varianten B0-B7 geleverd door Luke Melas-Kyriazi en Ross Wightman.

Nieuwe gegevensvergrotingen

Aan de nieuwste versie zijn enkele nieuwe technieken voor gegevensvergroting toegevoegd:

  • Samuel Gabriël heeft bijgedragen TriviaalAugment, een nieuwe, eenvoudige maar zeer effectieve strategie die betere resultaten lijkt te bieden dan AutoAugment.
  • ik heb de . toegevoegd RandAugment methode in automatische augmentaties.
  • Ik heb een implementatie geleverd van Mixup en CutMix transformeert in referenties. Deze zullen in transformaties worden verplaatst bij de volgende release zodra hun API is voltooid.

Nieuwe operators en lagen

Er zijn een aantal nieuwe operators en lagen toegevoegd:

Referenties / Trainingsrecepten

Hoewel de verbetering van onze referentiescripts een voortdurende inspanning is, zijn hier een paar nieuwe functies in de komende versie:

  • Prabhat Roy heeft ondersteuning toegevoegd van: Exponentieel voortschrijdend gemiddelde in ons classificatierecept.
  • Ik heb onze referenties bijgewerkt om te ondersteunen Etiket gladmaken, die onlangs werd geïntroduceerd door Joel Schlosser en Thomas J. Fan op PyTorch-kern.
  • Ik heb de optie om op te treden toegevoegd Opwarming leertempo, met behulp van de nieuwste LR-planners die zijn ontwikkeld door Ilqar Ramazanli.

andere verbeteringen

Hier zijn enkele andere opmerkelijke verbeteringen die in de release zijn toegevoegd:

  • Alexander Soare en Francisco Massa hebben een FX-gebaseerd hulpprogramma waarmee willekeurige tussenliggende kenmerken uit modelarchitecturen kunnen worden geëxtraheerd.
  • Nikita Shulga heeft ondersteuning toegevoegd van CUDA 11.3 naar TorchVision.
  • Zhongkai Zhu heeft de afhankelijkheidsproblemen van JPEG lib (dit probleem heeft veel van onze gebruikers veel hoofdpijn bezorgd).

In uitvoering & Volgende

Er zijn tal van spannende nieuwe functies in ontwikkeling die het in deze release niet hebben gehaald. Hier zijn een paar:

  • Moto Hira, Parmeet Singh Bhatia en ik hebben een RFC opgesteld, waarin een nieuw mechanisme wordt voorgesteld voor: Modelversies en voor het verwerken van metagegevens die zijn gekoppeld aan vooraf getrainde gewichten. Dit stelt ons in staat om meerdere vooraf getrainde gewichten voor elk model te ondersteunen en bijbehorende informatie zoals labels, voorbewerkingstransformaties enz. aan de modellen te koppelen.
  • Ik werk momenteel aan het gebruik van de primitieven die zijn toegevoegd door de "Inclusief batterijen”-project om de nauwkeurigheid van onze voorgetrainde modellen. Het doel is om de beste resultaten te behalen voor de meest populaire voorgetrainde modellen die door TorchVision worden geleverd.
  • Philip Meier en Francisco Massa werken aan een spannend prototype voor TorchVision's nieuwe dataset en transformaties API.
  • Prabhat Roy werkt aan uitbreiding van PyTorch Core's AveragedModel klas ter ondersteuning van de middeling van de buffers naast parameters. Het ontbreken van deze functie wordt vaak gerapporteerd als een bug en zal schakel talloze downstream-bibliotheken in en frameworks om hun aangepaste EMA-implementaties te verwijderen.
  • Aditya Oké schreef een hulpprogramma wat toelaat de resultaten plotten van Keypoint-modellen op de originele afbeeldingen (de functie heeft de release niet gehaald omdat we overspoeld raakten en deze niet op tijd konden beoordelen 🙁)
  • ik ben aan het bouwen prototype FX-hulpprogramma die tot doel heeft om resterende verbindingen in willekeurige modelarchitecturen te detecteren en het netwerk aan te passen om regularisatieblokken toe te voegen (zoals StochasticDepth).

Ten slotte zijn er een paar nieuwe functies in onze backlog (PR's komen eraan):

Ik hoop dat je bovenstaande samenvatting interessant vond. Alle ideeën om het formaat van de blogreeks aan te passen zijn van harte welkom. Sla me op LinkedIn or Twitter.

Tijdstempel:

Meer van Datumbox