Το ταξίδι του εκσυγχρονισμού του TorchVision – Αναμνήσεις ενός προγραμματιστή TorchVision – 3 PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Το ταξίδι του εκσυγχρονισμού του TorchVision – Αναμνήσεις ενός προγραμματιστή TorchVision – 3

Το ταξίδι του εκσυγχρονισμού του TorchVision – Αναμνήσεις ενός προγραμματιστή TorchVision – 3

Έχει περάσει καιρός από την τελευταία φορά που δημοσίευσα μια νέα καταχώρηση στα απομνημονεύματα του TorchVision σειρά. Σκέφτηκα, έχω κοινοποιήσει προηγουμένως νέα στο επίσημο ιστολόγιο του PyTorch και στο εξής Twitter, σκέφτηκα ότι θα ήταν καλή ιδέα να μιλήσουμε περισσότερο για το τι συνέβη στην τελευταία κυκλοφορία του TorchVision (έκδοση 0.12), τι θα κυκλοφορήσει στην επόμενη (έκδοση 0.13) και ποια είναι τα σχέδιά μας για το 2022H2. Ο στόχος μου είναι να προχωρήσω πέρα ​​από την παροχή μιας επισκόπησης νέων χαρακτηριστικών και μάλλον να παρέχω πληροφορίες σχετικά με το πού θέλουμε να οδηγήσουμε το έργο τους επόμενους μήνες.

TorchVision έκδοση 0.12 ήταν μια αρκετά μεγάλη έκδοση με διπλή εστίαση: α) ενημέρωση των πολιτικών μας κατάργησης και συνεισφοράς μοντέλων για βελτίωση της διαφάνειας και προσέλκυση περισσότερων συντελεστών της κοινότητας και β) διπλασιάστε τις προσπάθειες εκσυγχρονισμού μας προσθέτοντας δημοφιλείς νέες αρχιτεκτονικές μοντέλων, σύνολα δεδομένων και τεχνικές ML.

Ενημέρωση των πολιτικών μας

Το κλειδί για ένα επιτυχημένο έργο ανοιχτού κώδικα είναι η διατήρηση μιας υγιούς, ενεργής κοινότητας που συμβάλλει σε αυτό και το οδηγεί προς τα εμπρός. Επομένως, ένας σημαντικός στόχος για την ομάδα μας είναι να αυξήσει τον αριθμό των συνεισφορών της κοινότητας, με το μακροπρόθεσμο όραμα να επιτρέψει στην κοινότητα να συνεισφέρει μεγάλα χαρακτηριστικά (νέα μοντέλα, τεχνικές ML, κ.λπ.) πέρα ​​από τις συνήθεις σταδιακές βελτιώσεις (διορθώσεις σφαλμάτων/έγγραφων , μικρά χαρακτηριστικά κλπ).

Ιστορικά, παρόλο που η κοινότητα ήταν πρόθυμος για να συνεισφέρει τέτοια χαρακτηριστικά, η ομάδα μας δίστασε να τα αποδεχτεί. Βασικός αποκλεισμός ήταν η έλλειψη συγκεκριμένου μοντέλου συνεισφοράς και πολιτικής κατάργησης. Για να αντιμετωπιστεί αυτό, ο Joao Gomes συνεργάστηκε με την κοινότητα για να συντάξει και να δημοσιεύσει το πρώτο μας υπόδειγμα οδηγιών συνεισφοράς το οποίο παρέχει σαφήνεια σχετικά με τη διαδικασία συνεισφοράς νέων αρχιτεκτονικών, προεκπαιδευμένων βαρών και χαρακτηριστικών που απαιτούν εκπαίδευση μοντέλων. Επιπλέον, ο Nicolas Hug συνεργάστηκε με τους βασικούς προγραμματιστές της PyTorch για να διαμορφώσει και να υιοθετήσει ένα συγκεκριμένο πολιτική κατάργησης.

Οι προαναφερθείσες αλλαγές είχαν άμεσες θετικές επιπτώσεις στο έργο. Η νέα πολιτική συνεισφορών μας βοήθησε να λάβουμε πολυάριθμες συνεισφορές κοινότητας για μεγάλες δυνατότητες (περισσότερες λεπτομέρειες παρακάτω) και η σαφής πολιτική κατάργησης μάς επέτρεψε να καθαρίσουμε τη βάση του κωδικού μας, διασφαλίζοντας παράλληλα ότι το TorchVision προσφέρει ισχυρές εγγυήσεις συμβατότητας προς τα πίσω. Η ομάδα μας έχει πολύ κίνητρο να συνεχίσει να εργάζεται με τους προγραμματιστές ανοιχτού κώδικα, τις ερευνητικές ομάδες και τους δημιουργούς βιβλιοθηκών κατάντη για να διατηρήσει το TorchVision σχετικό και φρέσκο. Εάν έχετε οποιοδήποτε σχόλιο, σχόλιο ή αίτημα για δυνατότητα φτάνω σε εμάς.

Εκσυγχρονισμός TorchVision

Δεν είναι μυστικό ότι τις τελευταίες κυκλοφορίες μας στόχος ήταν να προσθέσουμε στο TorchVision όλα τα απαραίτητα Augmentations, Losses, Layers, Training βοηθητικά προγράμματα και νέες αρχιτεκτονικές, ώστε οι χρήστες μας να μπορούν να αναπαράγουν εύκολα τα αποτελέσματα SOTA χρησιμοποιώντας το PyTorch. Το TorchVision v0.12 συνέχισε αυτή τη διαδρομή:

  • Οι συντελεστές της κοινότητας των rockstar, Hu Ye και Zhiqiang Wang, έχουν συνεισφέρει στο FCOS αρχιτεκτονική που είναι ένα μοντέλο ανίχνευσης αντικειμένων ενός σταδίου.

  • Ο Nicolas Hug έχει προσθέσει υποστήριξη οπτικής ροής στο TorchVision προσθέτοντας το ΣΧΕΔΙΑ αρχιτεκτονική.

  • Το Yiwen Song έχει προσθέσει υποστήριξη για Μετασχηματιστής όρασης (ViT) και έχω προσθέσει το ConvNeXt αρχιτεκτονική μαζί με βελτιωμένα προεκπαιδευμένα βάρη.

  • Τέλος με το βοήθεια της κοινότητάς μας, προσθέσαμε 14 νέα ταξινόμηση και 5 νέα οπτική ροή σύνολα δεδομένων.

  • Ως συνήθως, η κυκλοφορία συνοδεύτηκε από πολλές μικρότερες βελτιώσεις, διορθώσεις σφαλμάτων και βελτιώσεις τεκμηρίωσης. Για να δείτε όλες τις νέες δυνατότητες και τη λίστα των συνεργατών μας, ελέγξτε το σημειώσεις έκδοσης έκδοσης 0.12.

Το TorchVision v0.13 είναι προ των πυλών, με την αναμενόμενη κυκλοφορία του στις αρχές Ιουνίου. Είναι μια πολύ μεγάλη κυκλοφορία με σημαντικό αριθμό νέων χαρακτηριστικών και μεγάλες βελτιώσεις API.

Ολοκληρώνοντας τους εκσυγχρονισμούς και κλείνοντας το χάσμα από το SOTA

Συνεχίζουμε τα δικά μας ταξίδι εκσυγχρονισμού της βιβλιοθήκης προσθέτοντας τα απαραίτητα πρωτόγονα, αρχιτεκτονικές μοντέλων και βοηθητικά προγράμματα συνταγών για την παραγωγή αποτελεσμάτων SOTA για βασικές εργασίες Computer Vision:

  • Με τη βοήθεια του Victor Fomin, έχω προσθέσει σημαντικές τεχνικές Επαύξησης Δεδομένων που λείπουν όπως π.χ AugMix, Jitter Μεγάλης Κλίμακας κ.λπ. Αυτές οι τεχνικές μας επέτρεψαν να κλείσουμε τη διαφορά από το SOTA και να παράγουμε καλύτερα βάρη (βλ. παρακάτω).

  • Με τη βοήθεια των Aditya Oke, Hu Ye, Yassine Alouini και Abhijit Deo, προσθέσαμε σημαντικά κοινά δομικά στοιχεία όπως το DropBlock στρώμα, το MLP μπλοκ, το cIoU & κάνατε απώλεια κ.λπ. Τέλος, δούλεψα με τον Shen Li για να διορθώσω ένα μακροχρόνιο πρόβλημα στο PyTorch's SyncBatchNorm στρώμα που επηρέασε τα μοντέλα ανίχνευσης.

  • Ο Hu Ye με την υποστήριξη του Joao Gomes πρόσθεσε Swin Transformer μαζί με βελτιωμένα προπονημένα βάρη. πρόσθεσα το EfficientNetV2 αρχιτεκτονική και αρκετές αρχιτεκτονικές βελτιστοποιήσεις μετά από χαρτί για την υλοποίηση του RetinaNet, FasterRCNN και MaskRCNN.

  • Όπως ανέφερα νωρίτερα στο ιστολόγιο PyTorch, έχουμε καταβάλει σημαντική προσπάθεια για να βελτιώσουμε τα προεκπαιδευμένα βάρη μας δημιουργώντας ένα βελτιωμένο εκπαιδευτική συνταγή. Αυτό μας επέτρεψε να βελτιώσουμε την ακρίβεια μας Μοντέλα ταξινόμησης με 3 σημεία ακρίβειας, επιτυγχάνοντας νέα SOTA για διάφορες αρχιτεκτονικές. Ανάλογη προσπάθεια έγινε και για Ανίχνευση και Τμηματοποίηση, όπου βελτιώσαμε την ακρίβεια των μοντέλων κατά μέσο όρο πάνω από 8.1 mAP. Τέλος, ο Yosua Michael M συνεργάστηκε με τους Laura Gustafson, Mannat Singhand και Aaron Adcock για να προσθέσει υποστήριξη Swag, ένα σετ νέων υψηλής ακρίβειας προ-εκπαιδευμένων βαρών τελευταίας τεχνολογίας για ViT και RegNets.

Νέο API υποστήριξης πολλαπλών βαρών

Όπως εγώ συζητήθηκε προηγουμένως στο ιστολόγιο PyTorch, η TorchVision έχει επεκτείνει τον υπάρχοντα μηχανισμό δημιουργίας μοντέλων για να υποστηρίζει πολλαπλά προεκπαιδευμένα βάρη. Το νέο API είναι πλήρως συμβατό προς τα πίσω, επιτρέπει τη δημιουργία μοντέλων με διαφορετικά βάρη και παρέχει μηχανισμούς για τη λήψη χρήσιμων μεταδεδομένων (όπως κατηγορίες, αριθμό παραμέτρων, μετρήσεις κ.λπ.) και τους μετασχηματισμούς συμπερασμάτων προεπεξεργασίας του μοντέλου. Υπάρχει μια ειδική ανατροφοδότηση θέμα στο Github για να μας βοηθήσει να σιδερώσουμε τυχόν τραχιές άκρες μας.

Ανανεωμένη Τεκμηρίωση

Ο Nicolas Hug ηγήθηκε των προσπαθειών αναδιάρθρωσης του υποδειγματική τεκμηρίωση της TorchVision. Η νέα δομή μπορεί να κάνει χρήση λειτουργιών που προέρχονται από το Multi-weight Support API για να προσφέρει καλύτερη τεκμηρίωση για τα προεκπαιδευμένα βάρη και τη χρήση τους στη βιβλιοθήκη. Μαζική κραυγή στα μέλη της κοινότητάς μας για βοηθώντας μας τεκμηριώστε όλες τις αρχιτεκτονικές εγκαίρως.

Αν και ο λεπτομερής οδικός μας χάρτης για το δεύτερο εξάμηνο του 2022 δεν έχει ακόμη οριστικοποιηθεί, ακολουθούν ορισμένα βασικά έργα στα οποία σχεδιάζουμε επί του παρόντος να εργαστούμε:

  • Συνεργαζόμαστε στενά με τους Haoqi Fan και Christoph Feichtenhofer από Βίντεο PyTorch, για να προσθέσετε το Βελτιωμένος μετασχηματιστής όρασης πολλαπλής κλίμακας αρχιτεκτονική (MViTv2) στο TorchVision.

  • Ο Philip Meier και ο Nicolas Hug εργάζονται σε μια βελτιωμένη έκδοση του API συνόλων δεδομένων (v2) που χρησιμοποιεί TorchData και σωλήνες δεδομένων. Ο Philip Meier, ο Victor Fomin και εγώ εργαζόμαστε επίσης για την επέκταση μας Transforms API (v2) για υποστήριξη όχι μόνο εικόνων αλλά και οριοθέτησης πλαισίων, μάσκες τμηματοποίησης κ.λπ.

  • Τέλος, η κοινότητα μας βοηθά να διατηρήσουμε το TorchVision φρέσκο ​​και σχετικό προσθέτοντας δημοφιλείς αρχιτεκτονικές και τεχνικές. Ο Lezwon Castelino αυτή τη στιγμή συνεργάζεται με τον Victor Fomin για να προσθέσει το SimpleCopyPaste αύξηση. Ο Hu Ye εργάζεται αυτήν τη στιγμή για να προσθέσει το Αρχιτεκτονική DeTR.

Εάν θέλετε να συμμετάσχετε στο έργο, ρίξτε μια ματιά στο δικό μας καλά πρώτα θέματα και την ζητείται βοήθεια κονίστρα. Εάν είστε έμπειρος βετεράνος της PyTorch/Computer Vision και θέλετε να συνεισφέρετε, έχουμε πολλά υποψήφια έργα για νέα φορείς, απώλειες, αυξάνει και μοντέλα.

Ελπίζω να βρήκατε το άρθρο ενδιαφέρον. Αν θέλεις να έρθουμε σε επαφή, επικοινώνησε με LinkedIn or Twitter.

Σφραγίδα ώρας:

Περισσότερα από Databox