Эффективность .to (устройство) в pytorch - PullRequest
0 голосов
/ 05 октября 2019

Для достижения максимальной эффективности, какая команда будет более эффективной?

x = torch.randn(100, 100).to(device)
x = torch.randn(100, 100, device = device)

Есть ли преимущество в использовании одного против другого при выполнении тяжелых тензорных операций? Мне сказали, что один из них менее эффективен, но не могу понять, как их сравнивать.

Я предполагаю, что второй лучше, поскольку он напрямую экспортируется в устройство, а не сначала создает тензор, а затемнеобходимость перевести его на device.

1 Ответ

3 голосов
/ 05 октября 2019

ну, я не эксперт в этом. Вот результат синхронизации для вас.

%timeit torch.randn(100, 100).to(device)

The slowest run took 12.65 times longer than the fastest. This could mean that an intermediate result is being cached.
10000 loops, best of 3: 129 µs per loop
%timeit torch.randn(100, 100, device = device)

The slowest run took 88.54 times longer than the fastest. This could mean that an intermediate result is being cached.
100000 loops, best of 3: 11.6 µs per loop

PS Я выполнил обе эти команды в Google Colab.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...