Ein kleiner Vorgeschmack auf TorchVision v0.11 – Memoiren eines TorchVision-Entwicklers – 2

Ein kleiner Vorgeschmack auf TorchVision v0.11 – Memoiren eines TorchVision-Entwicklers – 2

Ein kleiner Vorgeschmack auf TorchVision v0.11 – Erinnerungen eines TorchVision-Entwicklers – 2 PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.
Ein kleiner Vorgeschmack auf TorchVision v0.11 – Memoiren eines TorchVision-Entwicklers – 2

Die letzten Wochen waren im „PyTorch Land“ sehr beschäftigt, da wir hektisch die Veröffentlichung von PyTorch v1.10 und TorchVision v0.11 vorbereiten. In dieser 2. Folge von die Serie, werde ich einige der kommenden Funktionen behandeln, die derzeit im Release-Zweig von TorchVision enthalten sind.

Haftungsausschluss: Obwohl die kommende Version mit zahlreichen Verbesserungen und Bug-/Test-/Dokumentationsverbesserungen vollgepackt ist, hebe ich hier neue „benutzerorientierte“ Funktionen auf Domains hervor, die mich persönlich interessieren. Nachdem ich den Blogbeitrag geschrieben hatte, bemerkte ich auch eine Tendenz zu Funktionen, die ich überprüft, geschrieben oder deren Entwicklung genau verfolgt habe. Das Abdecken (oder Nicht-Abdecken) eines Merkmals sagt nichts über seine Bedeutung aus. Geäußerte Meinungen sind ausschließlich meine eigenen.

Neue Modelle

Die neue Version ist vollgepackt mit neuen Modellen:

  • Kai Zhang hat eine Implementierung des . hinzugefügt RegNet-Architektur zusammen mit vortrainierten Gewichten für 14-Varianten die dem Originalpapier sehr nahe kommen.
  • Ich habe vor kurzem eine Implementierung des hinzugefügt EfficientNet Architektur zusammen mit vortrainierten Gewichten für die Varianten B0-B7 von Luke Melas-Kyriazi und Ross Wightman.

Neue Datenerweiterungen

Der neuesten Version wurden einige neue Datenerweiterungstechniken hinzugefügt:

  • Samuel Gabriel hat dazu beigetragen TrivialAugment, eine neue einfache, aber höchst effektive Strategie, die AutoAugment überragende Ergebnisse zu liefern scheint.
  • Ich habe die hinzugefügt RandAugment Methode bei automatischen Erweiterungen.
  • Ich habe eine Implementierung von bereitgestellt Mixup und CutMix in Referenzen umwandelt. Diese werden in die nächste Version in Transformationen verschoben, sobald ihre API fertiggestellt ist.

Neue Operatoren und Ebenen

Eine Reihe neuer Operatoren und Layer wurden hinzugefügt:

Referenzen / Trainingsrezepte

Obwohl die Verbesserung unserer Referenzskripte eine kontinuierliche Anstrengung ist, sind hier einige neue Funktionen in der kommenden Version enthalten:

  • Prabhat Roy hat die Unterstützung von . hinzugefügt Exponential Moving Average in unserem Klassifizierungsrezept.
  • Ich habe unsere Referenzen aktualisiert, um zu unterstützen Etikettenglättung, das kürzlich von Joel Schlosser und Thomas J. Fan auf dem PyTorch-Kern vorgestellt wurde.
  • Ich habe die Option zum Ausführen eingefügt Lernrate Aufwärmen, mit den neuesten LR-Schedulern, die von Ilqar Ramazanli entwickelt wurden.

Weitere Verbesserungen

Hier sind einige andere bemerkenswerte Verbesserungen, die in der Version hinzugefügt wurden:

  • Alexander Soare und Francisco Massa haben ein FX-basiertes Dienstprogramm die es erlaubt, beliebige Zwischenmerkmale aus Modellarchitekturen zu extrahieren.
  • Nikita Shulga hat die Unterstützung von . hinzugefügt CUDA 11.3 zu TorchVision.
  • Zhongkai Zhu hat das behoben Abhängigkeitsprobleme von JPEG lib (dieses Problem hat vielen unserer Benutzer große Kopfschmerzen bereitet).

In Bearbeitung und als nächstes

Es gibt viele aufregende neue Funktionen in der Entwicklung, die es nicht in diese Version geschafft haben. Hier sind ein paar:

  • Moto Hira, Parmeet Singh Bhatia und ich haben einen RFC entworfen, der einen neuen Mechanismus für Modellversionierung und zur Handhabung von Metadaten, die mit vortrainierten Gewichten verbunden sind. Auf diese Weise können wir mehrere vortrainierte Gewichtungen für jedes Modell unterstützen und den Modellen zugehörige Informationen wie Labels, Vorverarbeitungstransformationen usw. anhängen.
  • Ich arbeite derzeit daran, die Primitiven zu verwenden, die von „Batterien im Lieferumfang enthalten”-Projekt, um die Genauigkeit unserer vorgefertigte Modelle. Das Ziel ist es, die besten Ergebnisse ihrer Klasse für die beliebtesten vortrainierten Modelle von TorchVision zu erzielen.
  • Philip Meier und Francisco Massa arbeiten an einem aufregenden Prototyp für TorchVisions neues Datensatz und Verwandelt sich API.
  • Prabhat Roy arbeitet an der Erweiterung von PyTorch Cores AveragedModel Klasse zur Unterstützung Mittelung der Puffer zusätzlich zu den Parametern. Das Fehlen dieser Funktion wird häufig als Fehler gemeldet und wird ermöglichen zahlreiche nachgelagerte Bibliotheken und Frameworks, um ihre benutzerdefinierten EMA-Implementierungen zu entfernen.
  • Aditya Oke hat ein Dienstprogramm geschrieben welches erlaubt die Ergebnisse grafisch darstellen von Keypoint-Modellen auf den Originalbildern (das Feature hat es nicht zur Veröffentlichung geschafft, da wir überschwemmt wurden und es nicht rechtzeitig überprüfen konnten 🙁 )
  • Ich baue ein Prototyp FX-Dienstprogramm die darauf abzielt, Restverbindungen in beliebigen Modellarchitekturen zu erkennen und das Netzwerk zu modifizieren, um Regularisierungsblöcke hinzuzufügen (wie z StochasticDepth).

Endlich gibt es ein paar neue Features in unserem Backlog (PRs folgen in Kürze):

Ich hoffe, Sie fanden die obige Zusammenfassung interessant. Ideen zur Anpassung des Formats der Blog-Reihe sind herzlich willkommen. Schlag mich an  LinkedIn or Twitter.

Zeitstempel:

Mehr von Bezugsbox