Как сделать адаптивный средний пул в Flux.jl

Я читал: https://machinelearningmaster.com/pooling-layers-for-convolutional-neural-networks/, который дает действительно подробное описание адаптивного среднего пула, и мне интересно, как этого можно достичь в Flux.jl? Кажется, что в некоторых фреймворках машинного обучения этот встроенный слой доступен по умолчанию, но я ничего не видел об этом для Flux.

1 ответ

У Flux действительно есть встроенная функция, которая создает слой адаптивного пула :

      julia> xs = rand(Float32, 100, 100, 3, 50);  # batch of 50 RGB images

julia> AdaptiveMeanPool((25, 25))(xs) |> size
(25, 25, 3, 50)

Как вы можете видеть в приведенном выше примере, он ожидает в качестве входных данных два дополнительных элемента массива в дополнение к размерам N объектов. В этом случае есть два измерения элемента (100, 100). Три представляет количество каналов изображений (красный, зеленый и синий), а 50 представляет количество изображений.

Другие вопросы по тегам