Учебное пособие по Torch: значение trainData.data[{ {},i,{},{} }]:mean() в 1_data.lua

В учебнике по факелу я нашел строку:

mean[i] = trainData.data[{ {},i,{},{} }]:mean()

Есть ли кто-нибудь, кто может объяснить, что делает индексация {{},i,{},{}}? Я мог предположить, но хотел знать точный механизм.

Заранее спасибо.


person user3755060    schedule 17.07.2015    source источник


Ответы (1)


На самом деле это краткий синтаксис для тензорного сужения/нарезки, подробный здесь в документации.

Внутри [{ ... }] вы можете для каждого измерения тензора:

  • передать число n, чтобы сохранить только n-й компонент в этом измерении,
  • передать диапазон {start,end}, чтобы сохранить все компоненты от start до end по этому измерению,
  • передайте {}, чтобы сохранить все компоненты в этом измерении.

В этом конкретном случае это сужение от тензора u * v * w * x к тензору u * 1 * w * x за счет сохранения только i-го компонента во 2-м измерении.

person mbrenon    schedule 17.07.2015