как работает метод BatchNorm1d () в библиотеке факелов? - PullRequest
1 голос
/ 13 апреля 2020

Я изучаю pytorch, я не знаю, глуп ли этот вопрос, но я не могу найти официальную сеть для объяснения nn.batchnorm1d. Мне интересно, как torch.nn.BatchNorm1d(d1) работает? Я знаю, что норма партии означает, что среднее значение и дисперсия для примера в примере равны 0 и 1 соответственно. Мне интересно, если есть nn.batchnorm2d, если так, что это делает? что такое параметр d1?

Ответы [ 2 ]

1 голос
/ 21 апреля 2020

BatchNorm1d нормализует данные до среднего значения 0 и единицы измерения для 2/3-мерных данных (N, C) или (N, C, L), рассчитанных по размеру канала на каждом срезе (N, L) или (N,); в то время как BatchNorm2d делает то же самое для 4 измерений (N, C, H, W), вычисленных по измерению канала на каждом срезе (N, H, W).

Какой из них использовать, зависит от размерности входных данных. Например, при обработке изображений карты объектов обычно имеют 2 пространственных измерения (N, C, H, W), поэтому здесь полезно BatchNorm2d. Однако для некоторых задач НЛП, если нужно учитывать только измерение длины, можно использовать BatchNorm1d. Для обеих функций параметр d1 - это число признаков, равное dim C входного тензора.

0 голосов
/ 20 апреля 2020

Вот официальная документация для BatchNorm PyTorch:

BatchNorm1D и BatchNorm2D

В соответствии с документацией, которую мы должны указать num_features параметр, который является входным размером тензора.

...