torch.Tensor和torch.tensor的区别

torch.Tensor()

torch.Tensor()是Python类,更明确的说,是默认张量类型torch.FloatTensor()的别名,torch.Tensor([1,2]) 会调用Tensor类的构造函数init,生成单精度浮点类型的张量。

torch.tensor()

torch.tensor()仅仅是函数:
torch.tensor(data, dtype=None, device=None, requires_grad=False)
其中data可以是:list, tuple, array, scalar等类型.。torch.tensor()可以从data中的数据部分做拷贝(而不是直接引用),根据原始数据类型生成相应的torch.LongTensor,torch.FloatTensor,torch.DoubleTensor。

出现问题

如果使用后者,可能会出现tensor类型转换的问题,结合一些第三方包(如pygad调用pygad.torchga.predict())会出现奇奇怪怪的问题