В учебнике по факелу я нашел строку:
mean[i] = trainData.data[{ {},i,{},{} }]:mean()
Есть ли кто-нибудь, кто может объяснить, что делает индексация {{},i,{},{}}? Я мог предположить, но хотел знать точный механизм.
Заранее спасибо.
В учебнике по факелу я нашел строку:
mean[i] = trainData.data[{ {},i,{},{} }]:mean()
Есть ли кто-нибудь, кто может объяснить, что делает индексация {{},i,{},{}}? Я мог предположить, но хотел знать точный механизм.
Заранее спасибо.
На самом деле это краткий синтаксис для тензорного сужения/нарезки, подробный здесь в документации.
Внутри [{ ... }]
вы можете для каждого измерения тензора:
n
, чтобы сохранить только n
-й компонент в этом измерении,{start,end}
, чтобы сохранить все компоненты от start
до end
по этому измерению,{}
, чтобы сохранить все компоненты в этом измерении.В этом конкретном случае это сужение от тензора u * v * w * x
к тензору u * 1 * w * x
за счет сохранения только i
-го компонента во 2-м измерении.