I am currently stuck at understanding the following behavior.
import numpy as np
import torch
from torch.autograd import Variable

1.0 + Variable(torch.ones(1)) 
# returns as expected
# Variable containing:
#  2
# [torch.FloatTensor of size 1]

np.sum(1.0) + Variable(torch.ones(1)) 
# returns an unexpected
# array([[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[Variable containing:
#  2
# [torch.FloatTensor of size 1]
# ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]], dtype=object)

# Switching their order 
Variable(torch.ones(1)) + np.sum(1.0)
# returns the expected
# Variable containing:
#  2
# [torch.FloatTensor of size 1]

This behaviour is independent of np.sum and can be replicated with other numpy functions (e.g. np.exp, np.log, …).
I am relatively new to pytorch so it might be that I am missing something obvious that explains this. Am I, or is this really a bug?
Edit: Issue opened: https://github.com/pytorch/pytorch/issues/1294 3