Neue Blog-Serie – Erinnerungen eines TorchVision-Entwicklers
- 21. August 2021
- Vasilis Vryniotis
- . Keine Kommentare

Ich starte eine neue Reihe von Blogbeiträgen zur Entwicklung der PyTorch-Computer-Vision-Bibliothek. Ich habe vor, spannende kommende Funktionen zu besprechen, hauptsächlich von TorchVision und sekundär vom PyTorch-Ökosystem. Mein Ziel ist es, neue und sich entwickelnde Funktionen hervorzuheben und zu klären, was zwischen den Veröffentlichungen passiert. Obwohl sich das Format im Laufe der Zeit wahrscheinlich ändern wird, habe ich zunächst vor, es klein zu halten und Referenzen für diejenigen bereitzustellen, die tiefer in die Materie eintauchen möchten. Schließlich poste ich nicht in festen Abständen, sondern dann, wenn ich genug interessante Themen zu behandeln habe.
Haftungsausschluss: Die behandelten Beiträge werden auf Themen ausgerichtet sein, die für mich persönlich von Interesse sind. Das PyTorch-Ökosystem ist riesig und ich habe nur Einblick in einen winzigen Teil davon. Das Verdecken (oder Nichtverdecken) einer Funktion sagt nichts über ihre Bedeutung aus. Die geäußerten Meinungen sind ausschließlich meine eigenen.
Mal sehen, was passiert:
Glättungsetiketten für CrossEntropy-Verlust
Eine stark nachgefragte Funktion von PyTorch ist die Unterstützung von Soft-Targets und das Hinzufügen einer Label-Glättungsoption bei Kreuzentropieverlust. Beide Funktionen zielen darauf ab, die Etikettenglättung zu vereinfachen, wobei die erste Option mehr Flexibilität bietet, wenn Datenerweiterungstechniken wie Mixup/Cutmix verwendet werden, und die zweite Option in einfachen Fällen eine bessere Leistung erbringt. Die Option „Soft Target“ wurde bereits von Joel Schlosser mit „Master“ zusammengeführt, während die Option „label_smoothing“ von Thomas J. Fan entwickelt und derzeit überprüft wird.
Neuer Aufwärmplaner
Das Erwärmen der Lernrate ist eine gängige Technik beim Training von Modellen, aber bisher bot PyTorch keine Standardlösung an. Kürzlich hat Ilqar Ramazanli einen neuen Zeitplaner eingeführt, der ein lineares und konstantes Aufwärmen unterstützt. Derzeit wird daran gearbeitet, die Kanalkapazität und den Mix bestehender Planer zu verbessern.
TorchVision mit „Batterien inklusive“
In diesem Teil arbeiten wir daran, Modelle, Verluste, Planer, Datenerweiterungen und andere beliebte TorchVision-Dienstprogramme hinzuzufügen, um innovative Ergebnisse zu erzielen. Dieses Projekt trägt den treffenden Namen „Batteries Included“ und ist derzeit im Gange.
Anfang dieser Woche habe ich eine neue Ebene namens StochasticDepth hinzugefügt, mit der Restzweige in Restarchitekturen zufällig entfernt werden können. Derzeit arbeite ich daran, eine Implementierung der beliebten Netzwerkarchitektur namens EfficientNet hinzuzufügen. Schließlich fügt Allen Goodman derzeit einen neuen Operator hinzu, der Segmentierungsmasken in Begrenzungsrahmen umwandelt.
Weitere Funktionen in der Entwicklung
Während wir ständig schrittweise Verbesserungen an der Dokumentation, der CI-Infrastruktur und der allgemeinen Codequalität vornehmen, möchte ich im Folgenden einige der „benutzerorientierten“ Roadmap-Elemente hervorheben, die sich derzeit in der Entwicklung befinden:
Das ist es! Ich hoffe, Sie fanden es interessant. Alle Ideen, wie das Format angepasst werden kann oder welche Themen behandelt werden sollen, sind willkommen. Kontaktieren Sie mich auf LinkedIn oder Twitter.
