Freeze und unfreie Gradienten einer Untergruppe von Tensor in Pytorch unter Verwendung von Register_Hook () oder sonstPython

Python-Programme
Anonymous
 Freeze und unfreie Gradienten einer Untergruppe von Tensor in Pytorch unter Verwendung von Register_Hook () oder sonst

Post by Anonymous »

Ich bin ein autodidaktischer Pytorch-Benutzer, der auf einer möglicherweise trivialen oder nicht stehenden Frage steckt. Es verwirrt mich und alle meine KI -Tools seit Monaten! Das Element und ermöglicht sein Gradient, nach dem Ausgang von Teil 1 zu Rückenpropagate zu stehen. Ich habe auch versucht, den Wert der Maske explizit als dynamisches oder statisches Objekt im Speicher explizit zu definieren. 2) Rufen Sie mit Torch.no_grad () an, gefolgt von X.grad () [mask] = 0 .
In beiden Szenarien funktioniert der erste Teil meines Code perfekt; sowohl für Ansatz 1) als auch für 2) kann ich die Elemente von X korrekt einfrieren, die ich beim Training der anderen reparieren möchte. Das Problem kommt, als ich versuchte, den Rest zu entfachen, während ich die trainierten einfrierte. In beiden Ansätzen kommt dieses Phänomen vor: < /p>

Wenn ich alle Parameter auf "Entmagern" festlegt, werden alle Parameter, egal über Ansatz 1), und alle Parameter entfachen wie erwartet. Maske; via .remove () mein alter Haken und dann einen neuen auftragen; oder über die Einstellung .grad () = 0 Für das entsprechende Element wird das Element nicht gefroren. Sobald ich dies zum zweiten Mal tat, kann ich es nur frei entlüften, nicht frieren. Die Pytorch -Dokumentation legt nahe, dass eine Manipulation, die mit dem Haken durchgeführt wurde, nach einem .Backward () stattfinden sollte. und KI -Tools helfen nicht, da sie stark halluziniert sind, wahrscheinlich, was bedeutet, dass niemand dieses Problem zuvor aufgetreten ist.
Jede Hilfe wäre sehr geschätzt !!

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post