TorchVisionin modernisoinnin matka – TorchVision-kehittäjän muistelmat – 3 PlatoBlockchain Data Intelligenceä. Pystysuuntainen haku. Ai.

TorchVisionin modernisoinnin matka – TorchVision-kehittäjän muistelmat – 3

TorchVisionin modernisoinnin matka – TorchVision-kehittäjän muistelmat – 3

Siitä on aikaa, kun viimeksi lähetin uuden merkinnän TorchVisionin muistelmiin sarja. Ajattelin, että olen aiemmin jakanut uutisia virallisessa PyTorch-blogissa ja edelleen Twitter, ajattelin, että olisi hyvä idea puhua enemmän siitä, mitä tapahtui TorchVisionin viimeisessä julkaisussa (v0.12), mitä on tulossa seuraavaan versioon (v0.13) ja mitä suunnitelmia on vuodelle 2022H2. Tavoitteeni on mennä pidemmälle kuin tarjoan yleiskatsauksen uusista ominaisuuksista ja pikemminkin antaa näkemyksiä siitä, mihin haluamme viedä projektin seuraavien kuukausien aikana.

TorchVision v0.12 oli mittava julkaisu, jossa on kaksi painopistettä: a) päivitä käytöstäpoisto- ja mallipanoskäytäntömme parantaaksemme läpinäkyvyyttä ja houkutellaksemme lisää yhteisön avustajia ja b) tuplataksemme modernisointiponnistelujamme lisäämällä suosittuja uusia malliarkkitehtuureja, tietojoukkoja ja ML-tekniikoita.

Päivitämme käytäntöjämme

Avain onnistuneelle avoimen lähdekoodin projektille on terveen, aktiivisen yhteisön ylläpitäminen, joka edistää sitä ja vie sitä eteenpäin. Näin ollen tärkeä tavoite tiimillemme on lisätä yhteisön lahjoitusten määrää pitkän aikavälin visiossa antaa yhteisölle mahdollisuus tarjota suuria ominaisuuksia (uusia malleja, ML-tekniikoita jne.) tavanomaisten asteittaisten parannusten (vikojen/dokumenttien korjaukset) lisäksi. , pienet ominaisuudet jne).

Historiallisesti, vaikka yhteisö oli innokas tarjotakseen tällaisia ​​ominaisuuksia, tiimimme epäröi hyväksyä niitä. Keskeinen esto oli konkreettisen mallipanoksen puute ja poistopolitiikka. Tämän ratkaisemiseksi Joao Gomes työskenteli yhteisön kanssa laatiakseen ja julkaistakseen ensimmäisen mallipanosohjeet joka selventää uusien arkkitehtuurien, esikoulutettujen painojen ja malliharjoittelua vaativien ominaisuuksien lisäämisprosessia. Lisäksi Nicolas Hug työskenteli PyTorchin ydinkehittäjien kanssa konkreettisen muotoilun ja käyttöönoton yhteydessä poistokäytäntö.

Edellä mainituilla muutoksilla oli välittömiä positiivisia vaikutuksia hankkeeseen. Uusi lahjoituskäytäntö auttoi meitä saamaan lukuisia yhteisön lahjoituksia suurista ominaisuuksista (lisätietoja alla), ja selkeä poistokäytäntö antoi meille mahdollisuuden puhdistaa koodipohjamme varmistaen samalla, että TorchVision tarjoaa vahvat taaksepäin yhteensopivuuden takuut. Tiimimme on erittäin motivoitunut jatkamaan työskentelyä avoimen lähdekoodin kehittäjien, tutkimusryhmien ja myöhempien kirjastojen luojien kanssa TorchVisionin pitämiseksi relevanttina ja tuoreena. Jos sinulla on palautetta, kommenttia tai ominaisuuspyyntöä, ole hyvä Yhteydenotot meille.

TorchVisionin modernisointi

Ei ole mikään salaisuus, että muutaman viime julkaisun aikana meidän tavoite oli lisätä TorchVisioniin kaikki tarvittavat lisäykset, häviöt, tasot, koulutusapuohjelmat ja uudet arkkitehtuurit, jotta käyttäjämme voivat helposti toistaa SOTA-tuloksia PyTorchin avulla. TorchVision v0.12 jatkoi tätä reittiä:

  • Rockstar-yhteisömme, Hu Ye ja Zhiqiang Wang, ovat osallistuneet FCOS arkkitehtuuri, joka on yksivaiheinen objektintunnistusmalli.

  • Nicolas Hug on lisännyt optisen virtauksen tuen TorchVisionissa lisäämällä LAUTTA arkkitehtuuri.

  • Yiwen Song on lisännyt tukea Visuaalinen muuntaja (ViT) ja olen lisännyt ConvSeXt arkkitehtuuri sekä parannetut esikoulutetut painot.

  • Lopuksi kanssa auttaa yhteisöstämme, olemme lisänneet 14 uutta luokittelua ja 5 uutta optista virtausta aineistot.

  • Kuten tavallista, julkaisuun tuli lukuisia pienempiä parannuksia, virheenkorjauksia ja dokumentaatioparannuksia. Näet kaikki uudet ominaisuudet ja luettelon avustajistamme v0.12 julkaisutiedot.

TorchVision v0.13 on aivan nurkan takana, ja sen odotetaan julkaistavan kesäkuun alussa. Se on erittäin suuri julkaisu, jossa on huomattava määrä uusia ominaisuuksia ja suuria API-parannuksia.

Modernisointien päättäminen ja eron kurominen SOTAsta

Jatkamme toimintaamme kirjaston modernisointimatka lisäämällä tarvittavat primitiivit, malliarkkitehtuurit ja resepti-apuohjelmat SOTA-tulosten tuottamiseksi keskeisiin Computer Vision -tehtäviin:

  • Victor Fominin avulla olen lisännyt tärkeitä puuttuvia Data Augmentation -tekniikoita, kuten AugMix, Laajamittainen värinää jne. Näiden tekniikoiden ansiosta pystyimme kuromaan eron SOTAsta ja tuottamaan parempia painoja (katso alla).

  • Aditya Oken, Hu Yen, Yassine Alouinin ja Abhijit Deon avulla olemme lisänneet tärkeitä yhteisiä rakennuspalikoita, kuten DropBlock kerros, MLP lohko, voin & teen tappio jne. Lopulta työskentelin Shen Li:n kanssa PyTorchin pitkäaikaisen ongelman korjaamiseksi SyncBatchNorm kerros, joka vaikutti tunnistusmalleihin.

  • Hu Ye tuella Joao Gomes lisätty Swin Transformer sekä parannetut esikoulutetut painot. Lisäsin EfficientNetV2 arkkitehtuuri ja useita post-paperin arkkitehtonisia optimointeja toteutuksesta RetinaNet, FasterRCNN ja MaskRCNN.

  • Kuten kerroin aiemmin PyTorch-blogissa, olemme panostaneet merkittävästi parantaaksemme esikoulutettuja painojamme luomalla parannetun painon. harjoitusresepti. Tämä auttoi meitä parantamaan tarkkuuttamme Luokittelumallit kolmella tarkkuuspisteellä, jolloin saavutetaan uusi SOTA eri arkkitehtuureille. Samanlainen yritys suoritettiin Havaitseminen ja segmentointi, jossa paransimme mallien tarkkuutta keskimäärin yli 8.1 mAP:lla. Lopulta Yosua Michael M työskenteli Laura Gustafsonin, Mannat Singhandin ja Aaron Adcockin kanssa tukeakseen SWAG, sarja uusia erittäin tarkkoja huippuluokan esikoulutettuja painoja ViT:lle ja RegNetsille.

Uusi Multi-weight tuki API

Kuten minä aiemmin keskusteltu PyTorch-blogissa TorchVision on laajentanut nykyistä mallinrakennusmekanismiaan tukemaan useita esikoulutettuja painoja. Uusi API on täysin taaksepäin yhteensopiva, mahdollistaa eri painoisten mallien ilmentämisen ja tarjoaa mekanismeja hyödyllisen metadatan (kuten luokat, parametrien lukumäärä, metriikka jne.) ja mallin esikäsittelyn päättelymuunnosten saamiseksi. Siellä on oma palaute ongelma Githubissa auttaa meitä silittämään kaikki karkeat reunat.

Uudistettu dokumentaatio

Nicolas Hug johti ponnisteluja rakenneuudistukseen mallin dokumentaatio TorchVisionista. Uusi rakenne pystyy hyödyntämään Multi-weight Support API:sta tulevia ominaisuuksia tarjoamaan paremman dokumentaation esikoulutetuista painoista ja niiden käytöstä kirjastossa. Valtava huuto yhteisömme jäsenille auttaa meitä dokumentoi kaikki arkkitehtuurit ajoissa.

Yksityiskohtainen etenemissuunnitelmamme vuodelle 2022H2 ei ole vielä valmis, mutta tässä on joitain avainprojekteja, joita suunnittelemme parhaillaan:

  • Teemme tiivistä yhteistyötä Haoqi Fanin ja Christoph Feichtenhoferin kanssa PyTorch video, lisätä Parannettu Multiscale Vision Transformer (MViTv2) -arkkitehtuuri TorchVisioniin.

  • Philip Meier ja Nicolas Hug työskentelevät parannetun version parissa Datasets API (v2), joka käyttää TorchData ja dataputket. Philip Meier, Victor Fomin ja minä työskentelemme myös laajentaaksemme toimintaamme Transforms API (v2) tukee kuvien lisäksi myös rajausruutuja, segmentointimaskeja jne.

  • Lopuksi yhteisö auttaa meitä pitämään TorchVisionin tuoreena ja relevanttina lisäämällä suosittuja arkkitehtuureja ja tekniikoita. Lezwon Castelino työskentelee parhaillaan Victor Fominin kanssa lisätäkseen SimpleCopyPaste lisäys. Hu Ye työskentelee parhaillaan lisätäkseen DeTR-arkkitehtuuri.

Jos haluat olla mukana hankkeessa, ole hyvä ja tutustu sivuihimme hyviä ensimmäisiä kysymyksiä ja apua tarvitaan luetteloita. Jos olet kokenut PyTorch/Computer Vision -veteraani ja haluat osallistua, meillä on useita ehdokasprojekteja uusille operaattorit, tappiot, lisääntyy ja mallit.

Toivottavasti artikkeli oli kiinnostava. Jos haluat ottaa yhteyttä, ota yhteyttä LinkedIn or Twitter.

Aikaleima:

Lisää aiheesta Datumbox