Potovanje modernizacije TorchVision – Spomini razvijalca TorchVision – 3 PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Potovanje modernizacije TorchVision – Spomini razvijalca TorchVision – 3

Potovanje modernizacije TorchVision – Spomini razvijalca TorchVision – 3

Kar nekaj časa je minilo, odkar sem nazadnje objavil nov vnos v spominih TorchVision series. Mislil sem, da sem že delil novice na uradnem blogu PyTorch in naprej Twitter, se mi je zdelo dobro, da se več pogovorimo o tem, kaj se je zgodilo z zadnjo izdajo TorchVision (v0.12), kaj bo izšlo v naslednji (v0.13) in kakšni so naši načrti za 2022H2. Moj cilj je preseči pregled novih funkcij in raje zagotoviti vpogled v to, kam želimo peljati projekt v naslednjih mesecih.

TorchVision v0.12 je bila obsežna izdaja z dvojnim poudarkom: a) posodobitev naših politik o zastaranju in prispevkih modelov za izboljšanje preglednosti in privabljanje več sodelavcev skupnosti in b) podvojitev naših prizadevanj za posodobitev z dodajanjem priljubljenih novih arhitektur modelov, naborov podatkov in tehnik ML.

Posodabljamo naše pravilnike

Ključno za uspešen odprtokodni projekt je ohranjanje zdrave, aktivne skupnosti, ki k njemu prispeva in ga žene naprej. Zato je pomemben cilj za našo ekipo povečati število prispevkov skupnosti, z dolgoročno vizijo omogočiti skupnosti, da poleg običajnih postopnih izboljšav (popravki napak/dokumentov) prispeva velike funkcije (novi modeli, tehnike ML itd.). , majhne funkcije itd.).

Zgodovinsko gledano, čeprav je bila skupnost željni da bi prispevali takšne funkcije, jih je naša ekipa oklevala sprejeti. Ključna ovira je bilo pomanjkanje konkretnega prispevka modela in politike opuščanja. Da bi rešil to težavo, je Joao Gomes sodeloval s skupnostjo pri osnutku in objavi našega prvega modelne smernice za prispevek ki zagotavlja jasnost v procesu prispevanja novih arhitektur, vnaprej usposobljenih uteži in funkcij, ki zahtevajo usposabljanje modela. Poleg tega je Nicolas Hug sodeloval z razvijalci jedra PyTorch, da bi oblikovali in sprejeli beton politika amortizacije.

Omenjene spremembe so imele takojšnje pozitivne učinke na projekt. Nova politika prispevkov nam je pomagala prejeti številne prispevke skupnosti za velike funkcije (več podrobnosti spodaj), jasna politika opustitve pa nam je omogočila, da smo očistili našo kodno osnovo, hkrati pa zagotovili, da TorchVision ponuja močna jamstva za povratno združljivost. Naša ekipa je zelo motivirana, da nadaljuje sodelovanje z odprtokodnimi razvijalci, raziskovalnimi skupinami in nadaljnjimi ustvarjalci knjižnic, da ohranimo TorchVision relevanten in svež. Če imate kakršne koli povratne informacije, komentar ali zahtevo za funkcijo, vas prosimo seči po nam.

Posodobitev TorchVision

Nobena skrivnost ni, da zadnjih nekaj izdaj naš ciljna je bil v TorchVision dodati vse potrebne razširitve, izgube, plasti, pripomočke za usposabljanje in nove arhitekture, tako da lahko naši uporabniki preprosto reproducirajo rezultate SOTA z uporabo PyTorcha. TorchVision v0.12 je nadaljeval po tej poti:

  • Naša sodelavca skupnosti Rockstar, Hu Ye in Zhiqiang Wang, sta prispevala FCOS arhitektura, ki je enostopenjski model zaznavanja objektov.

  • Nicolas Hug je dodal podporo za optični tok v TorchVision z dodajanjem RAFTING arhitektura.

  • Yiwen Song je dodal podporo za Transformator vida (ViT) in dodal sem ConvNeXt arhitekturo skupaj z izboljšanimi vnaprej natreniranimi utežmi.

  • Končno z pomoč naše skupnosti, smo dodali 14 novih razvrstitev in 5 nov optični tok nabor podatkov

  • Kot običajno je izdaja prišla s številnimi manjšimi izboljšavami, popravki napak in izboljšavami dokumentacije. Če si želite ogledati vse nove funkcije in seznam naših sodelavcev, obiščite v0.12 opombe ob izdaji.

TorchVision v0.13 je tik za vogalom, njegova izdaja naj bi bila v začetku junija. Je zelo velika izdaja s precejšnjim številom novih funkcij in velikimi izboljšavami API-ja.

Zaključek modernizacij in zapolnitev vrzeli od SOTA

Nadaljujemo naše pot posodabljanja knjižnice z dodajanjem potrebnih primitivov, modelnih arhitektur in pripomočkov za recepte za izdelavo rezultatov SOTA za ključne naloge računalniškega vida:

  • S pomočjo Victorja Fomina sem dodal pomembne manjkajoče tehnike povečanja podatkov, kot je npr AugMix, Tresenje velikega obsega itd. Te tehnike so nam omogočile, da smo zapolnili vrzel glede na SOTA in izdelali boljše uteži (glejte spodaj).

  • S pomočjo Aditya Oke, Hu Ye, Yassine Alouini in Abhijit Deo smo dodali pomembne skupne gradnike, kot je DropBlock plast, MLP blok, cIoU & DIoU izguba itd. Končno sem sodeloval s Shen Lijem, da bi popravil dolgotrajno težavo na PyTorch SyncBatchNorm plast, ki je vplivala na modele zaznavanja.

  • Hu Ye ob podpori Joaa Gomesa dodal Swin Transformer skupaj z izboljšanimi vnaprej natreniranimi utežmi. Dodal sem EfficientNetV2 arhitekture in več postpapirnih arhitekturnih optimizacij pri izvedbi RetinaNet, FasterRCNN in MaskRCNN.

  • Kot sem že omenil na spletnem dnevniku PyTorch, smo vložili veliko truda v izboljšanje naših vnaprej natreniranih uteži z ustvarjanjem izboljšane recept za trening. To nam je omogočilo izboljšati natančnost naših Klasifikacijski modeli za 3 točke natančnosti, doseganje nove SOTA za različne arhitekture. Podobno prizadevanje je bilo izvedeno za Odkrivanje in segmentacija, kjer smo v povprečju izboljšali natančnost modelov za več kot 8.1 mAP. Na koncu je Yosua Michael M sodeloval z Lauro Gustafson, Mannatom Singhandom in Aaronom Adcockom, da bi dodal podporo SWAG, nabor novih zelo natančnih, najsodobnejših, vnaprej usposobljenih uteži za ViT in RegNets.

Nov API za podporo več uteži

Kot jaz predhodno razpravljali na spletnem dnevniku PyTorch je TorchVision razširil svoj obstoječi mehanizem za ustvarjanje modelov za podporo več vnaprej pripravljenih uteži. Novi API je popolnoma nazaj združljiv, omogoča instanciranje modelov z različnimi utežmi in zagotavlja mehanizme za pridobivanje uporabnih metapodatkov (kot so kategorije, število parametrov, metrike itd.) in predprocesne inferenčne transformacije modela. Obstaja namenska povratna informacija izdaja na Githubu da nam pomaga zgladiti morebitne robove.

Prenovljena dokumentacija

Nicolas Hug je vodil prizadevanja za prestrukturiranje modelno dokumentacijo podjetja TorchVision. Nova struktura lahko uporablja funkcije, ki prihajajo iz API-ja za podporo več uteži, da ponudi boljšo dokumentacijo za vnaprej pripravljene uteži in njihovo uporabo v knjižnici. Ogromen klic članom naše skupnosti za nam pomaga pravočasno dokumentirati vse arhitekture.

Čeprav naš podroben časovni načrt za 2022H2 še ni dokončan, je tukaj nekaj ključnih projektov, na katerih trenutno načrtujemo delo:

Če želite sodelovati pri projektu, si oglejte naše dobre prve številke in zaželjena pomoč sezname. Če ste izkušen veteran PyTorch/Computer Vision in bi radi prispevali, imamo več možnih projektov za nove operaterji, izgube, razširitve in modeli.

Upam, da vam je bil članek zanimiv. Če želiš stopiti v stik, mi javi LinkedIn or Twitter.

Časovni žig:

Več od Datumbox