pytorch
751c3003 - [JIT] Properly convert Python strings implictly to device (#51340)

Commit
5 years ago
[JIT] Properly convert Python strings implictly to device (#51340) Summary: Pull Request resolved: https://github.com/pytorch/pytorch/pull/51340 **Summary** `toIValue` assumes that any value passed for an argument of type `torch.device` is a valid device object, even when it is not. This can lead to device type arguments of functions being assigned incorrect values (see #51098). This commit adds an explicit check that the passed in object is indeed a `torch.device` using `THPDevice_Check` and only then does is it converted to an `IValue`. Since implicit conversion from strings to devices is generally allowed, if `THPDevice_Check` fails, it is assumed that the object is a string and an `IValue` containing a `c10::Device` containing the passed in string is returned. **Test Plan** This commit adds a unit test to `test_jit.py` to test that invalid strings passed as devices are not longer silently accepted. **Fixes** This commit fixes #51098. Test Plan: Imported from OSS Reviewed By: pbelevich Differential Revision: D26187190 Pulled By: SplitInfinity fbshipit-source-id: 48c990203431da30f9f09381cbec8218d763325b
Author
Meghan Lele
Parents
Loading