How severe does this issue affect your experience of using Ray?
- High: It blocks me to complete my task.
Overall goal: to input a pytorch tensor into the method of a Ray Actor, perform some Pytorch operations on the tensor and output some result, call
.backward() on the result and get the gradient of the input with respect to the result. An example here:
@ray.remote class MyActor: def compute(self, x): y = x * 2 z = y * torch.tensor([1.0, 2.0, 3.0], requires_grad=True) return z actor = MyActor.remote() # Create an input tensor with requires_grad=True x = torch.ones(3, requires_grad=True) # Pass the tensor to the actor and perform computation result = actor.compute.remote(x) # Get the result tensor and backpropagate output = ray.get(result) loss = output.sum() loss.backward() print(x.grad)
Running this code, however, outputs
None when printing
x.grad instead of the gradient. How does one do this using Actors?