utils.py 568 Bytes
Newer Older
rusty1s's avatar
rusty1s committed
1
import torch
rusty1s's avatar
rusty1s committed
2
from torch.testing import get_all_dtypes
rusty1s's avatar
rusty1s committed
3

rusty1s's avatar
rusty1s committed
4
dtypes = get_all_dtypes()
rusty1s's avatar
rusty1s committed
5

rusty1s's avatar
rusty1s committed
6
dtypes.remove(torch.half)
rusty1s's avatar
rusty1s committed
7
dtypes.remove(torch.short)  # PyTorch scatter does not work on short types.
rusty1s's avatar
rusty1s committed
8
dtypes.remove(torch.bool)
rusty1s's avatar
rusty1s committed
9
if hasattr(torch, 'bfloat16'):
rusty1s's avatar
rusty1s committed
10
    dtypes.remove(torch.bfloat16)
rusty1s's avatar
rusty1s committed
11
12

grad_dtypes = [torch.float, torch.double]
rusty1s's avatar
rusty1s committed
13

rusty1s's avatar
rusty1s committed
14
devices = [torch.device('cpu')]
rusty1s's avatar
rusty1s committed
15
if torch.cuda.is_available():
rusty1s's avatar
rusty1s committed
16
    devices += [torch.device('cuda:{}'.format(torch.cuda.current_device()))]
rusty1s's avatar
rusty1s committed
17

rusty1s's avatar
rusty1s committed
18
19
20

def tensor(x, dtype, device):
    return None if x is None else torch.tensor(x, dtype=dtype, device=device)