Hält der resultierende Spanner bei Verwendung der Fackel.clone() Funktion PyTorch die Steigungen des ursprünglichen Spanners aufrecht?
Nein, bei Verwendung der Fackel von PyTorch.clone()-Funktion ist der resultierende Tensor eine oberflächliche Kopie des ursprünglichen Tensors, d.h. die Werte und die Struktur des Tensors werden kopiert, aber die Gradienten werden nicht kopiert. Dies bedeutet, dass während der geklonte Tensor die gleichen Werte wie der ursprüngliche Tensor hat, werden die Gradienten nicht rückwärts durch den geklonten Tensor verteilt. Wenn Sie einen Tensor klonen und die Gradienten behalten möchten, sollten Sie die Tensor.clone().detach()-Funktion anstelle von burner.clone() verwenden. Die Funktion detach() erzeugt eine neue Variable-Funktion, die keine Gradienten-Historie hat, was bedeutet, dass die Gradienten sich nicht über sie zurückbreiten. Der neue Tensor bleibt jedoch Teil desselben Rechengraphens wie der ursprüngliche Tensor, was bedeutet, dass die ursprünglichen Tensor-Gradienten noch über die geklonten Tensoren mit Hilfe der abwärts()-Funktion zurückverbreiten.