utils.py 503 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
10

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

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

rusty1s's avatar
rusty1s committed
16
17
18

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