Πώς να χρησιμοποιήσετε το 'torch.no_grad' στο PyTorch;

Pos Na Chresimopoiesete To Torch No Grad Sto Pytorch



Ο υπολογισμός των κλίσεων για τα επίπεδα ενός νευρωνικού δικτύου είναι ένα ενσωματωμένο χαρακτηριστικό του πλαισίου PyTorch. Οι χρήστες μπορούν να μετρήσουν τη σύνδεση μεταξύ γειτονικών στρωμάτων όταν υπολογίζονται οι διαβαθμίσεις στο πέρασμα προς τα πίσω. Ωστόσο, αυτό επιβαρύνει το υλικό λόγω του μεγάλου όγκου δεδομένων που πρέπει να υποβληθούν σε επεξεργασία και, σε αυτήν την περίπτωση, το ' πυρσός.no_grad Η μέθοδος μπορεί να χρησιμοποιηθεί για να σταματήσει ο υπολογισμός της κλίσης όπου χρειάζεται.

Σε αυτό το ιστολόγιο, θα συζητήσουμε πώς να χρησιμοποιήσετε το ' πυρσός.no_grad μέθοδος στο PyTorch.

Τι είναι η μέθοδος 'torch.no_grad' στο PyTorch;

Ο ' πυρσός.no_grad Η μέθοδος χρησιμοποιείται για τη διαχείριση του περιβάλλοντος εντός του αναπτυξιακού πλαισίου PyTorch. Σκοπός του είναι να σταματήσει τον υπολογισμό των κλίσεων για τη σύνδεση μεταξύ των επόμενων στρωμάτων του μοντέλου βαθιάς μάθησης. Η χρησιμότητα αυτής της μεθόδου είναι όταν δεν απαιτούνται διαβαθμίσεις σε ένα συγκεκριμένο μοντέλο, τότε μπορούν να απενεργοποιηθούν για να διατεθούν περισσότεροι πόροι υλικού για την επεξεργασία του βρόχου εκπαίδευσης του μοντέλου.







Πώς να χρησιμοποιήσετε τη μέθοδο 'torch.no_grad' στο PyTorch;

Οι διαβαθμίσεις υπολογίζονται μέσα στο πίσω πέρασμα στο PyTorch. Από προεπιλογή, το PyTorch έχει ενεργοποιημένη την αυτόματη διαφοροποίηση για όλα τα μοντέλα μηχανικής εκμάθησης. Η απενεργοποίηση του υπολογισμού κλίσης είναι απαραίτητη για προγραμματιστές που δεν διαθέτουν επαρκείς πόρους επεξεργασίας υλικού.



Ακολουθήστε τα παρακάτω βήματα για να μάθετε πώς να χρησιμοποιείτε το ' πυρσός.no_grad μέθοδος απενεργοποίησης του υπολογισμού των διαβαθμίσεων στο PyTorch:







Βήμα 1: Εκκινήστε το Colab IDE

Το Google Colaboratory είναι μια εξαιρετική επιλογή πλατφόρμας για την ανάπτυξη έργων που χρησιμοποιούν το πλαίσιο PyTorch λόγω των αποκλειστικών GPU του. Πήγαινε στο Colab δικτυακός τόπος και ανοίξτε ένα ' Νέο Σημειωματάριο ' όπως φαίνεται:



Βήμα 2: Εγκαταστήστε και εισαγάγετε τη Βιβλιοθήκη Torch

Όλη η λειτουργικότητα του PyTorch ενσωματώνεται από το ' δάδα ' βιβλιοθήκη. Η εγκατάσταση και η εισαγωγή του είναι απαραίτητες πριν από την έναρξη της εργασίας. Ο ' !κουκούτσι 'Το πακέτο εγκατάστασης της Python χρησιμοποιείται για την εγκατάσταση βιβλιοθηκών και εισάγεται στο έργο χρησιμοποιώντας το ' εισαγωγή ' εντολή:

!pip εγκατάσταση φακό
φακός εισαγωγής

Βήμα 3: Ορίστε έναν τανυστή PyTorch με μια κλίση

Προσθέστε έναν τανυστήρα PyTorch στο έργο χρησιμοποιώντας το ' torch.tensor() 'μέθοδος. Στη συνέχεια, δώστε του μια έγκυρη κλίση χρησιμοποιώντας το ' requires_grad=Αλήθεια ' μέθοδος όπως φαίνεται στον παρακάτω κώδικα:

A = torch.tensor([5.0], requires_grad=True)

Βήμα 4: Χρησιμοποιήστε τη μέθοδο 'torch.no_grad' για να αφαιρέσετε το Gradient

Στη συνέχεια, αφαιρέστε τη διαβάθμιση από τον προηγουμένως καθορισμένο τανυστή χρησιμοποιώντας το ' πυρσός.no_grad 'μέθοδος:

με torch.no_grad():
B = A**2 + 16

Ο παραπάνω κώδικας λειτουργεί ως εξής:

  • Ο ' no_grad() 'η μέθοδος χρησιμοποιείται μέσα σε ένα ' με ' βρόχος.
  • Κάθε τανυστής που περιέχεται στον βρόχο αφαιρείται η κλίση του.
  • Τέλος, ορίστε ένα δείγμα αριθμητικού υπολογισμού χρησιμοποιώντας τον προηγουμένως καθορισμένο τανυστή και αντιστοιχίστε τον στο ' σι ' μεταβλητή όπως φαίνεται παραπάνω:

Βήμα 5: Επαληθεύστε την αφαίρεση κλίσης

Το τελευταίο βήμα είναι να επαληθεύσετε αυτό που μόλις έγινε. Η κλίση από τον τανυστή ' ΕΝΑ ' αφαιρέθηκε και πρέπει να ελεγχθεί στην έξοδο χρησιμοποιώντας το ' Τυπώνω() 'μέθοδος:

print('Υπολογισμός κλίσης με torch.no_grad: ', A.grad)
print('\nΑρχικός τανυστής: ', A)
print('\nΔείγμα Αριθμητικού Υπολογισμού: ', B)

Ο παραπάνω κώδικας λειτουργεί ως εξής:

  • Ο ' grad 'Η μέθοδος μας δίνει την κλίση του τανυστή' ΕΝΑ '. Δεν εμφανίζεται κανένα στην παρακάτω έξοδο επειδή η διαβάθμιση έχει αφαιρεθεί χρησιμοποιώντας το ' πυρσός.no_grad 'μέθοδος.
  • Ο αρχικός τανυστής εξακολουθεί να δείχνει ότι έχει κλίση όπως φαίνεται από το ' requires_grad=Αλήθεια ” δήλωση στην έξοδο.
  • Τέλος, ο αριθμητικός υπολογισμός του δείγματος δείχνει το αποτέλεσμα της εξίσωσης που ορίστηκε προηγουμένως:

Σημείωση : Μπορείτε να αποκτήσετε πρόσβαση στο Σημειωματάριο Colab σε αυτό Σύνδεσμος .

Pro-Tip

Ο ' πυρσός.no_grad Η μέθοδος είναι ιδανική όπου οι κλίσεις δεν χρειάζονται ή όταν υπάρχει ανάγκη μείωσης του φορτίου επεξεργασίας στο υλικό. Μια άλλη χρήση αυτής της μεθόδου είναι κατά την εξαγωγή συμπερασμάτων, επειδή το μοντέλο χρησιμοποιείται μόνο για την πραγματοποίηση προβλέψεων με βάση νέα δεδομένα. Δεδομένου ότι δεν υπάρχει εκπαίδευση, είναι απολύτως λογικό να απενεργοποιήσετε απλώς τον υπολογισμό των κλίσεων.

Επιτυχία! Σας δείξαμε πώς να χρησιμοποιήσετε τη μέθοδο 'torch.no_grad' για να απενεργοποιήσετε τις διαβαθμίσεις στο PyTorch.

συμπέρασμα

Χρησιμοποιήστε το ' πυρσός.no_grad ' μέθοδος στο PyTorch ορίζοντας την μέσα σε ένα ' με Ο βρόχος ” και όλοι οι τανυστές που περιέχονται μέσα θα αφαιρεθεί η κλίση τους. Αυτό θα επιφέρει βελτιώσεις στις ταχύτητες επεξεργασίας και θα αποτρέψει τη συσσώρευση κλίσεων εντός του βρόχου εκπαίδευσης. Σε αυτό το ιστολόγιο, έχουμε παρουσιάσει πώς αυτό ' πυρσός.no_grad Η μέθοδος ' μπορεί να χρησιμοποιηθεί για να απενεργοποιήσετε τις διαβαθμίσεις επιλεγμένων τανυστών στο PyTorch.