/
vuron
/
adept
Обзор
Документация
Войти
/
vuron
/
adept
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
with_cpu
src/backends/cpu/pool_utils.cpp
34 строки
979 B
kolkir
MaxPool2d cpu backend stub and test
09 фев 2025, 12:27
09 фев 2025, 12:27
d0343a3
Код
Авторство
О чём код?
#include <adept/backends/cpu/pool_utils.hpp> #include <adept/exception.hpp> #include <adept/print.hpp> namespace adept::cpu { Shape pool2d_out_size(const Shape& input_size, const ParamArray<2>& kernel_size, const ParamArray<2>& stride_size, const ParamArray<2>& padding_size) { std::vector<index_t> out_size; index_t start = 0; if (input_size.rang() == 3) { out_size.resize(3); out_size[0] = input_size.dim(0); start = 1; } else if (input_size.rang() == 4) { out_size.resize(4); out_size[0] = input_size.dim(0); out_size[1] = input_size.dim(1); start = 2; } else { THROW_ERROR("Invalid shape for AvgPool2d {}", input_size); } for (index_t i = 0; i < 2; ++i) { out_size[start + i] = (input_size.dim(start + i) + 2 * padding_size[i] - (kernel_size[i] - 1) - 1) / stride_size[i] + 1; } return out_size; } } // namespace adept::cpu