lua: неверный аргумент # 2 для '?' (начальный индекс выходит за границы) - PullRequest
0 голосов
/ 02 июля 2018

enter image description here

В последнее время я использую torch7 для запуска модели, но эта ошибка часто возникает, что сводит меня с ума.
Кто может мне помочь?

Ответы [ 2 ]

0 голосов
/ 03 июля 2018

Когда эта строка не выполняется в вашем прогоне:

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");
      ...
    }
  ...
  }
}

Это реализация оператора индексации с аргументом таблицы для сужения и выбора . Кажется, что вычисленные первые индексы в одном измерении слишком велики / слишком малы.

Попробуйте напечатать значения center_y-self.psz и center_x-self.psz, чтобы увидеть, кто из них является виновником и на каком конце интервала вы превышаете границы. Я не могу дать дальнейший совет, потому что я не знаком с остальным кодом или данными.

0 голосов
/ 02 июля 2018

Я не знаком с torch7, но я отсылаю вас к этой теме, похоже, такая же или похожая проблема, вызванная слишком маленьким набором данных.

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

...