A TorchVision modernizálásának útja – Egy TorchVision fejlesztő emlékiratai – 3 PlatoBlockchain Data Intelligence. Függőleges keresés. Ai.

A TorchVision modernizálásának útja – Egy TorchVision fejlesztő emlékiratai – 3

A TorchVision modernizálásának útja – Egy TorchVision fejlesztő emlékiratai – 3

Eltelt egy ideje, mióta utoljára új bejegyzést tettem közzé a TorchVision emlékirataiban sorozat. Gondoltam, korábban megosztottam a híreket a hivatalos PyTorch blogon és tovább Twitter, úgy gondoltam, jó ötlet lenne többet beszélni arról, hogy mi történt a TorchVision utolsó kiadásán (v0.12), mi fog megjelenni a következőn (v0.13), és mik a terveink a 2022H2-re. Az a célom, hogy túllépjek az új funkciók áttekintésén, inkább betekintést nyújtsak abba, hogy a következő hónapokban merre szeretnénk továbbvinni a projektet.

TorchVision v0.12 Jelentős kiadás volt kettős fókuszban: a) frissítsük elavulási és modell-hozzájárulási irányelveinket az átláthatóság javítása és több közösségi közreműködő bevonása érdekében, és b) megduplázzuk modernizációs erőfeszítéseinket népszerű új modellarchitektúrák, adatkészletek és ML technikák hozzáadásával.

Irányelveink frissítése

A sikeres nyílt forráskódú projekt kulcsa egy egészséges, aktív közösség fenntartása, amely hozzájárul ahhoz, és előremozdítja azt. Így csapatunk fontos célja a közösségi hozzájárulások számának növelése, azzal a hosszú távú elképzeléssel, hogy a közösség a szokásos fokozatos fejlesztéseken (hiba-/dokumentum-javítások) túl nagy funkciókkal (új modellek, ML technikák stb.) is hozzájáruljon. , apró funkciók stb.).

Történelmileg annak ellenére, hogy a közösség volt mohó csapatunk habozott elfogadni ezeket a funkciókat. A fő akadály a konkrét modell-hozzájárulás és a leértékelési politika hiánya volt. Ennek megoldására Joao Gomes a közösséggel együttműködve elkészítette és közzétette az első kiadványunkat minta hozzájárulási irányelvek amely áttekinthetővé teszi az új architektúrák, az előre betanított súlyok és a modellképzést igénylő funkciók hozzáadásának folyamatát. Ezenkívül Nicolas Hug a PyTorch központi fejlesztőivel együtt dolgozott egy konkrét megfogalmazáson és elfogadáson lejáratási politika.

A fent említett változások azonnali pozitív hatással voltak a projektre. Az új hozzájárulási szabályzat segítségével számos közösségi hozzájárulást kaptunk a nagy szolgáltatásokhoz (további részletek alább), az egyértelmű elavulási szabályzat pedig lehetővé tette számunkra, hogy megtisztítsuk kódbázisunkat, miközben továbbra is biztosítottuk, hogy a TorchVision erős visszamenőleges kompatibilitási garanciákat nyújtson. Csapatunk nagyon motivált, hogy továbbra is együttműködjön a nyílt forráskódú fejlesztőkkel, kutatócsoportokkal és a későbbi könyvtári alkotókkal, hogy a TorchVision releváns és friss legyen. Ha bármilyen visszajelzése, megjegyzése vagy funkcióra van szüksége, kérjük elérje nekünk.

A TorchVision modernizálása

Nem titok, hogy az elmúlt néhány kiadásban a mi cél Az volt, hogy hozzáadjuk a TorchVisionhoz az összes szükséges kiegészítést, veszteséget, réteget, képzési segédprogramot és új architektúrát, hogy felhasználóink ​​könnyen reprodukálhassák a SOTA-eredményeket a PyTorch segítségével. A TorchVision v0.12 ezen az úton folytatódott:

  • Rocksztár közösségi közreműködőink, Hu Ye és Zhiqiang Wang hozzájárultak a FCOS architektúra, amely egy egylépcsős objektumészlelési modell.

  • Nicolas Hug hozzáadta az optikai áramlás támogatását a TorchVisionhoz azáltal, hogy hozzáadta a TUTAJ építészet.

  • Yiwen Song hozzáadott támogatást Vision Transformer (ViT) és hozzáadtam a ConvNEXt architektúra a továbbfejlesztett előre betanított súlyokkal együtt.

  • Végül a segít közösségünkből – tettük hozzá 14 új besorolás és a 5 új optikai áramlás adatkészletek.

  • A szokásos módon a kiadás számos kisebb fejlesztést, hibajavítást és dokumentációs fejlesztést tartalmazott. Az összes új funkció és közreműködőink listájának megtekintéséhez kérjük, tekintse meg a v0.12 kiadási megjegyzések.

A TorchVision v0.13 hamarosan megjelenik, megjelenése június elején várható. Ez egy nagyon nagy kiadás, jelentős számú új funkcióval és nagy API-javításokkal.

A korszerűsítések lezárása és a SOTA-tól való lemaradás megszüntetése

Folytatjuk a mi a könyvtár korszerűsítésének útja a szükséges primitívek, modellarchitektúrák és recept segédprogramok hozzáadásával SOTA eredmények előállításához a legfontosabb Computer Vision feladatokhoz:

  • Victor Fomin segítségével fontos hiányzó Data Augmentation technikákat adtam hozzá, mint pl AugMix, Nagy léptékű jitter stb. Ezek a technikák lehetővé tették számunkra, hogy felzárkózjunk a SOTA-tól, és jobb súlyokat állítsunk elő (lásd alább).

  • Aditya Oke, Hu Ye, Yassine Alouini és Abhijit Deo segítségével fontos közös építőelemeket adtunk hozzá, mint pl. DropBlock réteg, a MLP blokk, a CIoU & DIoU veszteség stb. Végül Shen Li-vel dolgoztam egy régóta fennálló probléma megoldásán a PyTorch-on SyncBatchNorm réteg, amely befolyásolta a detektálási modelleket.

  • Hu Ye támogatásával Joao Gomes tette hozzá Swin Transformer továbbfejlesztett előre betanított súlyokkal együtt. Hozzátettem a EfficientNetV2 architektúra és számos poszt-papír építészeti optimalizálás a megvalósításáról RetinaNet, FasterRCNN és ​​MaskRCNN.

  • Amint arról korábban a PyTorch blogon beszéltem, jelentős erőfeszítéseket tettünk előre edzett súlyaink javítására egy továbbfejlesztett edzés receptje. Ez lehetővé tette számunkra, hogy javítsuk a pontosságunkat Osztályozási modellek 3 pontossági ponttal, új SOTA-t érve el különböző architektúrákhoz. Hasonló erőfeszítést hajtottak végre Észlelés és szegmentálás, ahol átlagosan 8.1 mAP felett javítottuk a modellek pontosságát. Végül Yosua Michael M Laura Gustafsonnal, Mannat Singhanddal és Aaron Adcockkal dolgozott együtt a SWAG, új, rendkívül pontos, korszerű előre betanított súlyok készlete ViT és RegNetekhez.

Új Multi-weight támogatási API

Mint én korábban tárgyalt a PyTorch blogon a TorchVision kiterjesztette meglévő modellkészítő mechanizmusát, hogy több előre betanított súlyt támogasson. Az új API teljesen visszafelé kompatibilis, lehetővé teszi a különböző súllyal rendelkező modellek példányosítását, és mechanizmusokat biztosít a hasznos metaadatok (például kategóriák, paraméterek száma, metrikák stb.) és a modell előfeldolgozási következtetési transzformációihoz. Van egy dedikált visszajelzés kiadás a Githubon hogy segítsen vasalni az esetleges durva éleinket.

Megújított dokumentáció

Nicolas Hug vezette a szerkezetátalakítási erőfeszítéseket modelldokumentáció a TorchVisionból. Az új struktúra képes kihasználni a Multi-weight Support API-ból származó funkciókat, hogy jobb dokumentációt kínáljon az előre betanított súlyokhoz és azok könyvtárban való használatához. Hatalmas kiáltás közösségünk tagjainak segít nekünk időben dokumentálja az összes architektúrát.

Úgy gondoltuk, hogy a 2022. második félévre vonatkozó részletes ütemtervünk még nem véglegesített, itt van néhány kulcsfontosságú projekt, amelyeken jelenleg dolgozunk:

  • Szorosan együttműködünk Haoqi Fan-nal és Christoph Feichtenhoferrel PyTorch videó, hozzáadásához a Továbbfejlesztett Multiscale Vision Transformer (MViTv2) architektúra a TorchVisionhoz.

  • Philip Meier és Nicolas Hug a továbbfejlesztett változaton dolgozik Datasets API (v2) amely használja TorchData és Data pipes. Philip Meier, Victor Fomin és én is azon dolgozunk, hogy kiterjesszük Transforms API (v2), hogy ne csak képeket támogasson, hanem határolókereteket, szegmentációs maszkokat stb.

  • Végül a közösség népszerű architektúrák és technikák hozzáadásával segít megőrizni a TorchVisiont frissen és relevánsan. Lezwon Castelino jelenleg Victor Fominnal dolgozik, hogy hozzáadja a SimpleCopyPaste növelése. Hu Ye jelenleg azon dolgozik, hogy hozzáadja a DeTR architektúra.

Ha szeretne részt venni a projektben, kérjük, tekintse meg oldalunkat jó első kérdések és a segítség keresetik listákon. Ha Ön tapasztalt PyTorch/Computer Vision veterán, és szeretne hozzájárulni, több jelölt projektünk van üzemeltetők, veszteség, növekszik és a modellek.

Remélem érdekesnek találtad a cikket. Ha fel akarod venni a kapcsolatot, keress meg LinkedIn or Twitter.

Időbélyeg:

Még több Datumbox