| 72 | template <typename Device, typename T, |
| 73 | typename OutputKernel = const Eigen::NoOpOutputKernel> |
| 74 | struct SpatialConvolution { |
| 75 | void operator()(const Device& d, typename TTypes<T, 4>::Tensor output, |
| 76 | typename TTypes<T, 4>::ConstTensor input, |
| 77 | typename TTypes<T, 4>::ConstTensor filter, int row_stride, |
| 78 | int col_stride, int row_dilation, int col_dilation, |
| 79 | const Eigen::PaddingType& padding, |
| 80 | const OutputKernel& output_kernel = OutputKernel()) { |
| 81 | SpatialConvolutionFunc(d, output, input, filter, row_stride, col_stride, |
| 82 | row_dilation, col_dilation, padding, output_kernel); |
| 83 | } |
| 84 | void operator()(const Device& d, typename TTypes<T, 4>::Tensor output, |
| 85 | typename TTypes<T, 4>::ConstTensor input, |
| 86 | typename TTypes<T, 4>::ConstTensor filter, int row_stride, |
| 87 | int col_stride, int row_dilation, int col_dilation, |
| 88 | int padding_top, int padding_bottom, int padding_left, |
| 89 | int padding_right, |
| 90 | const OutputKernel& output_kernel = OutputKernel()) { |
| 91 | SpatialConvolutionFunc( |
| 92 | d, output, input, filter, row_stride, col_stride, row_dilation, |
| 93 | col_dilation, Eigen::PaddingType::PADDING_VALID, output_kernel, |
| 94 | padding_top, padding_bottom, padding_left, padding_right); |
| 95 | } |
| 96 | }; |
| 97 | |
| 98 | template <typename Device, typename OutputKernel> |
| 99 | struct SpatialConvolution<Device, Eigen::half, OutputKernel> { |
no outgoing calls