Nou Generator de prompt AI — scrie prompturi mai bune pentru ChatGPT, Claude și Gemini →

Extinderea PyTorch cu torch.autograd.Function Personalizată în PyTorch & Deep Learning Practic

Sintaxă & invocare Python
class CustomOp(torch.autograd.Function): ...

Dacă o operație matematică nu poate fi exprimată prin operatorii nativi PyTorch sau dacă dorim să implementăm un operator cu gradient trunchiat (Straight-Through Estimator – STE) pentru cuantizare, putem defini o sub-clasă a lui torch.autograd.Function.

import torch

class BinarizeSTE(torch.autograd.Function):
    @staticmethod
    def forward(ctx, x):
        ctx.save_for_backward(x)
        return torch.sign(x)

    @staticmethod
    def backward(ctx, grad_output):
        x, = ctx.saved_tensors
        # Straight-Through Estimator: gradientul trece neschimbat dacă |x| <= 1
        grad_input = grad_output.clone()
        grad_input[x.abs() > 1] = 0
        return grad_input

# Utilizare în model
binarize = BinarizeSTE.apply
x = torch.tensor([0.5, -1.2, 0.8], requires_grad=True)
y = binarize(x)
y.sum().backward()
print("Gradiente calculate prin STE:", x.grad)

Metoda ctx.save_for_backward stochează în siguranță tensorii necesari derivării în memoria tampon a contextului.

Învață AI • Comunitate & Q&A

Întrebări & Exemple practice: Extinderea PyTorch cu torch.autograd.Function Personalizată

Ai o întrebare despre Extinderea PyTorch cu torch.autograd.Function Personalizată sau ai descoperit un truc, prompt sau fragment de cod util? Distribuie-l cu ceilalți membri ai comunității!

🤖

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau resurse pentru această pagină. Dacă ai testat un prompt sau ai un snippet util, adaugă-l mai jos pentru comunitate.

Comunitate AI Adaugă o întrebare sau distribuie un cod / prompt

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.