- Trending Categories
- Data Structure
- Operating System
- C Programming
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
What does Tensor.detach() do in PyTorch?
Tensor.detach() is used to detach a tensor from the current computational graph. It returns a new tensor that doesn't require a gradient.
When we don't need a tensor to be traced for the gradient computation, we detach the tensor from the current computational graph.
We also need to detach a tensor when we need to move the tensor from GPU to CPU.
It returns a new tensor without requires_grad = True. The gradient with respect to this tensor will no longer be computed.
Import the torch library. Make sure you have it already installed.
Create a PyTorch tensor with requires_grad = True and print the tensor.
x = torch.tensor(2.0, requires_grad = True) print("x:", x)
Compute Tensor.detach() and optionally assign this value to a new variable.
x_detach = x.detach()
Print the tensor after .detach() operation is performed.
print("Tensor with detach:", x_detach)
# import torch library import torch # create a tensor with requires_gradient=true x = torch.tensor(2.0, requires_grad = True) # print the tensor print("Tensor:", x) # tensor.detach operation x_detach = x.detach() print("Tensor with detach:", x_detach)
Tensor: tensor(2., requires_grad=True) Tensor with detach: tensor(2.)
Notice that in the above output, the tensor after detach doesn't have requires_grad = True
# import torch library import torch # define a tensor with requires_grad=true x = torch.rand(3, requires_grad = True) print("x:", x) # apply above tensor to use detach() y = 3 + x z = 3 * x.detach() print("y:", y) print("z:", z)
x: tensor([0.5656, 0.8402, 0.6661], requires_grad=True) y: tensor([3.5656, 3.8402, 3.6661], grad_fn=<AddBackward0>) z: tensor([1.6968, 2.5207, 1.9984])
- What does backward() do in PyTorch?
- What does "with torch no_grad" do in PyTorch?
- What does axes.flat in Matplotlib do?
- What does the method toArray() do?
- What does calling Tk() actually do?
- What does the pandas.series.array attribute do?
- What does the pandas.series.index attribute do?
- What does the pandas.series.values attribute do?
- What Does a VPN Tunnel Do?
- What does html() method do in jQuery?
- What does jQuery.serialize() method do in jQuery?
- What does jQuery.andSelf( ) method do in jQuery?
- What does jQuery.children() method do in jQuery?
- What does jQuery.offset() method do in jQuery?
- What does % do to strings in Python?