Как написать torch.device ('cuda' if torch.cuda.is_available () else 'cpu') как полный оператор if else? - PullRequest
0 голосов
/ 07 августа 2020

Я новичок в Pytorch и хотел напечатать этот оператор как единый оператор if else: -

torch.device('cuda' if torch.cuda.is_available() else 'cpu')

Кто-нибудь может мне помочь?

1 Ответ

2 голосов
/ 07 августа 2020

Вот весь код оператора if-else:

torch.device('cuda' if torch.cuda.is_available() else 'cpu')
if torch.cuda.is_available():
    torch.device('cuda')
else:
    torch.device('cpu')

Поскольку вы, вероятно, захотите сохранить устройство на потом, вам может потребоваться что-то вроде этого:

device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
if torch.cuda.is_available():
    device = torch.device('cuda')
else:
    device = torch.device('cpu')

Вот сообщение и обсуждение тернарного оператора в Python: { ссылка }

Из этого сообщения:

value_when_true if condition else value_when_false
...