Et smugkig på TorchVision v0.11 – Memoirs of a TorchVision-udvikler – 2

Et smugkig på TorchVision v0.11 – Memoirs of a TorchVision-udvikler – 2

A sneak peek at TorchVision v0.11 – Memoirs of a TorchVision developer – 2 PlatoBlockchain Data Intelligence. Vertical Search. Ai.
Et smugkig på TorchVision v0.11 – Memoirs of a TorchVision-udvikler – 2

De sidste par uger har været super travle i "PyTorch Land", da vi febrilsk forbereder udgivelsen af ​​PyTorch v1.10 og TorchVision v0.11. I denne 2. del af serien, vil jeg dække nogle af de kommende funktioner, der i øjeblikket er inkluderet i udgivelsesgrenen af ​​TorchVision.

Disclaimer: Selvom den kommende udgivelse er spækket med adskillige forbedringer og fejl/test/dokumentationsforbedringer, fremhæver jeg her nye "brugervendte" funktioner på domæner, jeg er personligt interesseret i. Efter at have skrevet blogindlægget bemærkede jeg også en skævhed i forhold til funktioner, jeg har gennemgået, skrevet eller fulgt nøje med i deres udvikling. At dække (eller ikke dække) en funktion siger intet om dens betydning. Udtalte meninger er udelukkende mine egne.

Nye modeller

Den nye udgivelse er spækket med nye modeller:

  • Kai Zhang har tilføjet en implementering af RegNet arkitektur sammen med fortrænede vægte til 14 varianter som nøje gengiver det originale papir.
  • Jeg har for nylig tilføjet en implementering af EfficientNet-arkitektur sammen med fortrænede vægte til varianterne B0-B7 leveret af Luke Melas-Kyriazi og Ross Wightman.

Nye dataforøgelser

Et par nye dataforøgelsesteknikker er blevet tilføjet til den seneste version:

  • Samuel Gabriel har bidraget TrivialAugment, en ny enkel, men yderst effektiv strategi, der ser ud til at give overlegne resultater i forhold til AutoAugment.
  • Jeg har tilføjet RandAugment metode i auto-augmentationer.
  • Jeg har leveret en implementering af Mixup og CutMix transformerer i referencer. Disse vil blive flyttet i transformationer på den næste udgivelse, når deres API er færdiggjort.

Nye operatører og lag

En række nye operatører og lag er blevet inkluderet:

Referencer / Træningsopskrifter

Selvom forbedringen af ​​vores referencescripts er en kontinuerlig indsats, er her et par nye funktioner inkluderet i den kommende version:

  • Prabhat Roy har tilføjet støtte til Eksponentielt bevægende gennemsnit i vores klassificeringsopskrift.
  • Jeg har opdateret vores referencer til support Etiketudjævning, som for nylig blev introduceret af Joel Schlosser og Thomas J. Fan på PyTorch-kernen.
  • Jeg har inkluderet muligheden for at optræde Læringshastighedsopvarmning, ved hjælp af de nyeste LR-planlæggere udviklet af Ilqar Ramazanli.

Andre forbedringer

Her er nogle andre bemærkelsesværdige forbedringer tilføjet i udgivelsen:

  • Alexander Soare og Francisco Massa har udviklet en FX-baseret hjælpeprogram som gør det muligt at udtrække vilkårlige mellemfunktioner fra modelarkitekturer.
  • Nikita Shulga har tilføjet støtte til CUDA 11.3 til TorchVision.
  • Zhongkai Zhu har rettet afhængighedsproblemer af JPEG lib (dette problem har forårsaget store hovedpine for mange af vores brugere).

Igangværende og næste gang

Der er masser af spændende nye funktioner under udvikling, som ikke nåede frem i denne udgivelse. Her er et par stykker:

  • Moto Hira, Parmeet Singh Bhatia og jeg har udarbejdet en RFC, som foreslår en ny mekanisme til Modelversionering og til håndtering af metadata knyttet til fortrænede vægte. Dette vil gøre os i stand til at understøtte flere præ-trænede vægte for hver model og vedhæfte tilhørende information såsom etiketter, forbehandlingstransformationer osv. til modellerne.
  • Jeg arbejder i øjeblikket på at bruge de primitiver tilføjet af "Batterier inkluderet” projekt for at forbedre nøjagtigheden af ​​vores fortrænede modeller. Målet er at opnå de bedste resultater i klassen for de mest populære fortrænede modeller leveret af TorchVision.
  • Philip Meier og Francisco Massa arbejder på en spændende prototype til TorchVisions nye datasæt , transformationer API.
  • Prabhat Roy arbejder på at udvide PyTorch Core's AveragedModel klasse for at støtte gennemsnit af bufferne ud over parametre. Manglen på denne funktion rapporteres almindeligvis som fejl og vilje muliggør adskillige downstream-biblioteker og rammer for at fjerne deres tilpassede EMA-implementeringer.
  • Aditya Oke skrev et hjælpeprogram hvilket tillader plotte resultaterne af Keypoint-modeller på de originale billeder (funktionen nåede ikke frem til udgivelsen, da vi blev oversvømmet og ikke kunne gennemgå den i tide 🙁 )
  • Jeg bygger en prototype FX-værktøj som har til formål at detektere resterende forbindelser i vilkårlige modelarkitekturer og modificere netværket for at tilføje regulariseringsblokke (som f.eks. StochasticDepth).

Endelig er der et par nye funktioner i vores backlog (PR'er kommer snart):

Jeg håber, at du fandt ovenstående opsummering interessant. Eventuelle ideer til hvordan man kan tilpasse formatet på blogserien er meget velkomne. Slå mig op LinkedIn or Twitter.

Tidsstempel:

Mere fra Datumboks