TorchVision'ı Modernleştirme Yolculuğu – Bir TorchVision geliştiricisinin Anıları – 3 PlatoBlockchain Veri Zekası. Dikey Arama. Ai.

TorchVision'ı Modernleştirme Yolculuğu – Bir TorchVision geliştiricisinin Anıları – 3

TorchVision'ı Modernleştirme Yolculuğu – Bir TorchVision geliştiricisinin Anıları – 3

TorchVision anılarına en son yeni bir giriş yayınladığımdan bu yana bir süre geçti dizi. Düşündüm ki, daha önce resmi PyTorch blogunda ve TwitterTorchVision'ın son sürümünde (v0.12) neler olduğu, bir sonraki sürümde (v0.13) neler çıkacağı ve 2022Y2 için planlarımız hakkında daha fazla konuşmanın iyi bir fikir olacağını düşündüm. Hedefim, yeni özelliklere genel bir bakış sunmanın ötesine geçmek ve daha ziyade önümüzdeki aylarda projeyi nereye götürmek istediğimize dair bilgiler sunmak.

TorchVision v0.12 iki odaklı büyük bir sürümdü: a) şeffaflığı artırmak ve topluluğa daha fazla katılımcı çekmek için kullanımdan kaldırma ve model katkı politikalarımızı güncellemek ve b) popüler yeni model mimarileri, veri kümeleri ve makine öğrenimi tekniklerini ekleyerek modernizasyon çabalarımızı iki katına çıkarmak.

Politikalarımızı güncelleme

Başarılı bir açık kaynak projesinin anahtarı, ona katkıda bulunan ve onu ileriye taşıyan sağlıklı, aktif bir topluluğun varlığını sürdürmektir. Bu nedenle ekibimiz için önemli bir hedef, olağan artımlı iyileştirmelerin (hata/belge düzeltmeleri) yanı sıra topluluğun büyük özelliklerle (yeni modeller, makine öğrenimi teknikleri vb.) katkıda bulunmasını sağlamaya yönelik uzun vadeli bir vizyonla topluluk katkılarının sayısını artırmaktır. , küçük özellikler vb.).

Tarihsel olarak, topluluk olmasına rağmen istekli Bu tür özelliklere katkıda bulunmak için ekibimiz bunları kabul etmekte tereddüt etti. Temel engel, somut bir model katkısı ve kullanımdan kaldırma politikasının olmayışıydı. Bu sorunu çözmek için Joao Gomes toplulukla birlikte çalışarak ilk makalemizin taslağını hazırlayıp yayınladı. model katkı kuralları Bu, yeni mimarilere, önceden eğitilmiş ağırlıklara ve model eğitimi gerektiren özelliklere katkıda bulunma süreci üzerinde netlik sağlar. Ayrıca Nicolas Hug, PyTorch'un temel geliştiricileriyle birlikte çalışarak somut bir çözüm formüle etti ve benimsedi. kullanımdan kaldırma politikası.

Yukarıda belirtilen değişikliklerin proje üzerinde anında olumlu etkileri oldu. Yeni katkı politikası, büyük özellikler için çok sayıda topluluk katkısı almamıza yardımcı oldu (daha fazla ayrıntı aşağıda) ve açık kullanımdan kaldırma politikası, TorchVision'ın güçlü Geriye Dönük Uyumluluk garantileri sunmasını sağlamaya devam ederken kod tabanımızı temizlememize olanak sağladı. Ekibimiz, TorchVision'ı güncel ve güncel tutmak için açık kaynak geliştiricileri, araştırma ekipleri ve alt kütüphane yaratıcılarıyla birlikte çalışmaya devam etme konusunda oldukça motive. Herhangi bir geri bildiriminiz, yorumunuz veya özellik isteğiniz varsa lütfen uzanmak bize.

TorchVision'ın Modernleştirilmesi

Son birkaç sürümümüz için bu bir sır değil. hedef Kullanıcılarımızın PyTorch kullanarak SOTA sonuçlarını kolayca oluşturabilmesi için TorchVision'a gerekli tüm Artırmaları, Kayıpları, Katmanları, Eğitim yardımcı programlarını ve yeni mimarileri eklemekti. TorchVision v0.12 bu yolda devam etti:

  • Rock yıldızı topluluğumuza katkıda bulunanlar Hu Ye ve Zhiqiang Wang, FCOS Tek aşamalı bir nesne algılama modeli olan mimari.

  • Nicolas Hug, TorchVision'a optik akış desteğini ekleyerek şunları ekledi: SAL mimari.

  • Yiwen Song için destek eklendi Görüntü Trafosu (ViT) ve ben şunu ekledim: Dönüşüm geliştirilmiş önceden eğitilmiş ağırlıklarla birlikte mimari.

  • Son olarak ile yardım et topluluğumuza şunu ekledik: 14 yeni sınıflandırma ve 5 yeni optik akış veri kümeleri.

  • Her zamanki gibi sürüm çok sayıda küçük geliştirme, hata düzeltmesi ve dokümantasyon iyileştirmeleriyle geldi. Tüm yeni özellikleri ve katkıda bulunanlarımızın listesini görmek için lütfen şuraya göz atın: v0.12 sürüm notları.

TorchVision v0.13'ün Haziran başında piyasaya sürülmesi çok yakında. Önemli sayıda yeni özellik ve büyük API iyileştirmeleri içeren çok büyük bir sürümdür.

Modernizasyonların tamamlanması ve SOTA ile aradaki açığın kapatılması

çalışmalarımızı sürdürüyoruz kütüphaneyi modernleştirme yolculuğu Önemli Görüntü İşleme görevleri için SOTA sonuçları üretmek amacıyla gerekli temel öğeleri, model mimarilerini ve tarif yardımcı programlarını ekleyerek:

  • Victor Fomin'in yardımıyla aşağıdaki gibi önemli eksik Veri Arttırma tekniklerini ekledim: AğustosMix, Büyük Ölçekli Titreşim vb. Bu teknikler SOTA ile aradaki farkı kapatmamızı ve daha iyi ağırlıklar üretmemizi sağladı (aşağıya bakın).

  • Aditya Oke, Hu Ye, Yassine Alouini ve Abhijit Deo'nun yardımıyla aşağıdakiler gibi önemli ortak yapı taşlarını ekledik: DropBlock katman, MLP blok, CIOU & dIoU kayıp vb. Sonunda PyTorch'ta uzun zamandır devam eden bir sorunu çözmek için Shen Li ile çalıştım. SyncBatchNorm algılama modellerini etkileyen katman.

  • Hu Ye, Joao Gomes'in desteğiyle eklendi Swin Transformatörü geliştirilmiş önceden eğitilmiş ağırlıklarla birlikte. şunu ekledim EfficientNetV2 mimarisi ve uygulanmasına ilişkin çeşitli kağıt sonrası mimari optimizasyonlar RetinaNet, FasterRCNN ve MaskRCNN.

  • Daha önce PyTorch blogunda tartıştığım gibi, önceden eğitilmiş ağırlıklarımızı geliştirmek için iyileştirilmiş bir ağırlık sistemi oluşturarak önemli çaba harcadık. eğitim tarifi. Bu bizim doğruluğumuzu geliştirmemize olanak sağladı. Sınıflandırma modelleri 3 doğruluk puanı ile çeşitli mimariler için yeni SOTA'ya ulaşıldı. için de benzer bir çaba sarf edildi. Algılama ve SegmentasyonModellerin doğruluğunu ortalama 8.1 mAP'nin üzerinde iyileştirdik. Son olarak Yosua Michael M, Laura Gustafson, Mannat Singhand ve Aaron Adcock ile birlikte çalışarak destek sağladı. TARZViT ve RegNet'ler için son derece hassas, son teknolojiye sahip, önceden eğitilmiş ağırlıklardan oluşan bir set.

Yeni Çoklu ağırlık desteği API'si

Ben olduğum gibi daha önce tartışılmış PyTorch blogunda TorchVision, önceden eğitilmiş birden fazla ağırlığı destekleyecek şekilde mevcut model oluşturma mekanizmasını genişletti. Yeni API tamamen geriye dönük olarak uyumludur, farklı ağırlıklara sahip modellerin başlatılmasına olanak tanır ve yararlı meta verileri (kategoriler, parametre sayısı, metrikler vb.) ve modelin ön işleme çıkarım dönüşümlerini elde etmek için mekanizmalar sağlar. Özel bir geri bildirim var Github'daki sorun pürüzlü kenarlarımızı düzeltmemize yardımcı olmak için.

Yenilenen Dokümantasyon

Nicolas Hug yeniden yapılanma çabalarına öncülük etti model dokümantasyonu TorchVision'ın. Yeni yapı, önceden eğitilmiş ağırlıklar ve bunların kitaplıktaki kullanımı için daha iyi bir dokümantasyon sunmak amacıyla Çoklu Ağırlık Desteği API'sinden gelen özelliklerden yararlanabilmektedir. Topluluk üyelerimize büyük bir alkış bize yardım ediyor Tüm mimarileri zamanında belgeleyin.

2022 yılının ikinci yarısına ilişkin ayrıntılı yol haritamızın henüz kesinleşmediğini düşünsek de, şu anda üzerinde çalışmayı planladığımız bazı önemli projeler şunlardır:

Projemizde yer almak istiyorsanız lütfen sayfamıza göz atın. ilk sayılar iyi ve yardım istedi listeler. Deneyimli bir PyTorch/Bilgisayarlı Görüntüleme uzmanıysanız ve katkıda bulunmak istiyorsanız, yeni projeler için birkaç aday projemiz var. operatörler, kayıp, ogmentasyona ve modelleri.

Umarım makaleyi ilginç bulmuşsunuzdur. İletişime geçmek istersen bana ulaş LinkedIn or Twitter.

Zaman Damgası:

Den fazla Veri kutusu