lua:错误的参数#2到'?'(起始索引超出范围)

时间:2018-07-02 13:22:20

标签: linux lua ubuntu-16.04 torch

enter image description here

最近我使用torch7来运行模型,但是这个错误经常发生,这让我发疯。
谁能帮我?

2 个答案:

答案 0 :(得分:0)

我不熟悉torch7,但我将带您参阅该线程,这似乎是相同或相似的问题,这是由于数据集太小所致。

https://github.com/jcjohnson/torch-rnn/issues/201

答案 1 :(得分:0)

当此行在您的运行中失败时:

self.val_left[i] = self.ldata[img_id][{{}, {center_y-self.psz, center_y+self.psz}, {center_x-self.psz, center_x+self.psz}}]

堆栈跟踪告诉我们Tensor.c中的函数参数检查失败:

static int torch_Tensor_(__index__)(lua_State *L)
{
  ...
  for(dim = 0; dim < ndims; dim++)
  {
    ...
    else if(lua_istable(L, 2))
    {
      ...
      THArgCheck((start >= 0) && (start < tensor->size[cdim]), 2, "start index out of bound");
      ...
    }
  ...
  }
}

这是indexing operator with a table argument to narrow and select的实现。看来,任一维度上计算出的第一个索引都太大/太小。

尝试打印center_y-self.pszcenter_x-self.psz的值,以查看罪魁祸首是哪一个,在间隔的哪一端超出界限。我无法提供进一步的建议,因为我对其余的代码或数据不熟悉。