Added autograd support for C->C functions and enabled requires_grad=True for complex (#36932)

Summary: Pull Request resolved: https://github.com/pytorch/pytorch/pull/36932

Differential Revision: D21181230

Pulled By: anjali411

fbshipit-source-id: 295f2cd1e2b9918a8b2cb88cab0536b2407dc455
This commit is contained in:
anjali411
2020-04-24 12:20:26 -07:00
committed by Facebook GitHub Bot
parent 1beca4ac6a
commit 6e92579883
11 changed files with 58 additions and 23 deletions

View File

@ -392,8 +392,8 @@ int THPVariable_set_requires_grad(THPVariable *self, PyObject *obj, void *unused
THPUtils_setError(autograd::utils::requires_grad_leaf_error(obj == Py_True).c_str());
return -1;
}
if (requires_grad && !var.is_floating_point()) {
THPUtils_setError("only Tensors of floating point dtype can require gradients");
if (requires_grad && !(var.is_floating_point() || var.is_complex())) {
THPUtils_setError("only Tensors of floating point and complex dtype can require gradients");
return -1;
}
var.set_requires_grad(requires_grad);