Похоже, что сумма питона может принимать в качестве входных данных генераторы, тогда как torch.sum не может:
import torch
print( sum( torch.ones(1)*k for k in torch.arange(10)))
возвращает tensor([45.])
, тогда как:
print( torch.sum( torch.ones(1)*k for k in torch.arange(10)))
повышает TypeError: sum(): argument 'input' (position 1) must be Tensor, not generator
Я предполагаю, что обратное распространение pyTorch может привести к проблемам с ленивой оценкой генератора, но пока не уверен в этом.