7 template <
typename T,
typename Activation>
8 void epoch(
const T* input,
const T* kernel, T* output, Activation fn,
9 const unsigned int h,
const unsigned int w,
const unsigned int s,
const bool r)
11 int kernel_radius = s / 2;
13 #pragma omp parallel for
15 for (
int row = 0; row < h; row++)
22 for (
int col = 0; col < w; col++)
26 for (
int y = 0; y < s; y++)
28 for (
int x = 0; x < s; x++)
31 array_y = row + (y - kernel_radius);
32 array_x = col + (x - kernel_radius);
39 else if (array_y >= h)
44 else if (array_x >= w)
50 if (array_y < 0 || array_y >= h || array_x < 0 || array_x >= w)
55 sum += input[array_y * w + array_x] * kernel[y * s + x];
60 output[row * w + col] = fn(sum);
Main namespace.
Definition common.hpp:33