我试图创建一个如下的张量。
import torch
t = torch.tensor(2,3)
我遇到以下错误。
TypeError跟踪(最近的呼叫 最后)在() ----> 1 a = torch.tensor(2,3)
TypeError:tensor()接受1个位置参数,但给出了2个
所以,我尝试了以下
import torch
t = torch.Tensor(2,3)
# No error while creating the tensor
# When i print i get an error
print(t)
我遇到以下错误
RuntimeError跟踪(最近的调用) 最后)在() ----> 1张(a)
D:\ softwares \ anaconda \ lib \ site-packages \ torch \ tensor.py在 代表(个体经营) 55#个字符替换unicode字符。 56如果sys.version_info>(3,): ---> 57返回割炬._tensor_str._str() 58其他: 59 if hasattr(sys.stdout,'encoding'):
D:\ softwares \ anaconda \ lib \ site-packages \ torch_tensor_str.py在 _str() 216后缀=',dtype ='+ str(self.dtype)+后缀 217 -> 218 fmt,scale,sz = _number_format(self) 第219章 220前缀=前缀+ SCALE_FORMAT.format(scale)+''*缩进
D:\ softwares \ anaconda \ lib \ site-packages \ torch_tensor_str.py在 _number_format(张量,min_sz) 94#TODO:使用fmod吗? 张量值95: ---> 96,如果value!= math.ceil(value.item()): 97 int_mode = False 98休息
RuntimeError:长时间解包时溢出
但是,根据This SO Post,他能够创建张量。我在这里想念什么吗?另外,为什么我能够使用Tensor
(大写T)创建张量,而不能使用tensor
(小t)创建张量
答案 0 :(得分:0)
torch.tensor()
期望使用序列或array_like来创建张量,而torch.Tensor()
类可以仅使用形状信息来创建张量。
这是torch.tensor()
的签名:
文档字符串:
张量(数据,dtype = None,设备=无,require_grad = False)->张量使用:attr:
data
构造张量。Args :
数据(array_like):张量的初始数据。可以是列表,元组, NumPyndarray
,标量和其他类型。dtype(:class:
torch.dtype
,可选):返回张量的所需数据类型。
关于RuntimeError
:我无法在Linux发行版中重现该错误。从ipython终端打印张量可以很好地工作。
仔细检查错误,这似乎仅在Windows OS中是一个问题。如评论中所述,请看issues/6339: Error when printing tensors containing large values