- Maj 21, 2022
- Vasilis Vryniotis
- . Brez komentarja
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:
-
Tesno sodelujemo s Haoqijem Fanom in Christophom Feichtenhoferjem iz Video PyTorch, da dodate Izboljšan večstopenjski transformator vida (MViTv2) arhitekturo za TorchVision.
-
Philip Meier in Nicolas Hug delata na izboljšani različici API za nabore podatkov (v2), ki uporablja TorchData in podatkovne cevi. Philip Meier, Victor Fomin in jaz prav tako delamo na razširitvi našega Transforms API (v2) za podporo ne samo slik, ampak tudi omejevalne okvirje, segmentacijske maske itd.
-
Končno nam skupnost pomaga ohranjati TorchVision svež in ustrezen z dodajanjem priljubljenih arhitektur in tehnik. Lezwon Castelino trenutno sodeluje z Victorjem Fominom, da bi dodal SimpleCopyPaste povečanje. Hu Ye trenutno dela na dodajanju DeTR arhitektura.
Č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.
- AI
- ai art
- ai art generator
- imajo robota
- Umetna inteligenca
- certificiranje umetne inteligence
- robot z umetno inteligenco
- roboti z umetno inteligenco
- programska oprema za umetno inteligenco
- blockchain
- blockchain konferenca ai
- coingenius
- pogovorna umetna inteligenca
- kripto konferenca ai
- dall's
- Datumbox
- globoko učenje
- strojno učenje
- Strojno učenje in statistika
- platon
- platon ai
- Platonova podatkovna inteligenca
- Igra Platon
- PlatoData
- platogaming
- Programiranje
- lestvica ai
- sintaksa
- zefirnet