【问题标题】:Can't use .t() function with tensor(weight* [[]])?不能将 .t() 函数与 tensor(weight* [[]]) 一起使用?
【发布时间】:2021-11-16 02:49:11
【问题描述】:

我用过

tensordata.t() 

函数转置张量数据,但发生错误。 我尝试将其更改为torch.t(tensordata),但仍然出现相同的错误。

我通过以下代码制作了张量数据:

tensordata= self.linear1.weight[:, T.LongTensor(batch_item_index[i].astype(np.int32))]

它看起来像这样:

tensor(1.00000e-03 *
      [[ 1.6500,   ..., -5.2615],
       ...,
       [-1.2557,   ...,   4.1297]])

从昨天开始我一直在尝试修复它,但它仍然无法正常工作。错误的原因是什么?提前谢谢你。

错误名称:

invalid argument 1: out of range at c:\programdata\miniconda3\conda-bld\pytorch_1524543037166\work\aten\src\th\generic/THTensor.cpp:454

【问题讨论】:

  • 您能否提供您的tensordata 创建代码并定义变量self.linear1, batch_item_index
  • 您好,感谢您的回答。我发现张量数据是空张量([[]])!因此,如果 tensordata.Size 为 0,则使用以下代码更改代码以处理异常。 if tensordata.shape == torch.Size([0]):

标签: python pytorch tensor


【解决方案1】:

我发现张量数据是空张量([[]])!因此,如果 tensordata.Size 为 0,我添加了处理异常的代码,代码如下。

if tensordata.shape == torch.Size([0]): 
   continue

希望这可以帮助遇到同样错误的人。:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-02
    • 2019-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多