LBANN  0.103.0
LivermoreBigArtificialNeuralNetworkToolkit
im2col.hpp File Reference
#include "lbann/base.hpp"
Include dependency graph for im2col.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 lbann
 

Functions

template<typename TensorDataType >
void lbann::im2col (const CPUMatDT< TensorDataType > &im, CPUMatDT< TensorDataType > &col, int num_channels, int im_num_dims, const int *im_dims, const int *im_pads, const int *window_dims, const int *window_strides)
 Rearrange image blocks into matrix columns. More...
 
std::pair< size_t, size_t > lbann::get_im2col_output_size (const int num_samples, const int num_channels, const int im_num_dims, const int *im_dims, const int *im_pads, const int *window_dims, const int *window_strides)
 
template<typename TensorDataType >
void lbann::col2im (const CPUMatDT< TensorDataType > &col, CPUMatDT< TensorDataType > &im, int num_channels, int im_num_dims, const int *im_dims, const int *im_pads, const int *window_dims, const int *window_strides)
 Rearrange matrix columns into image blocks. More...
 
template<typename TensorDataType >
void lbann::col2im (const CPUMatDT< TensorDataType > &col, CPUMatDT< TensorDataType > &im, int num_channels, int im_num_dims, const int *im_dims, const int *im_pads, const int *window_dims, const int *window_strides, std::function< TensorDataType(const TensorDataType &, const TensorDataType &)> reduction_op)
 Rearrange matrix columns into image blocks. More...
 
template<typename TensorDataType >
void lbann::im2col_1x1 (const TensorDataType *input_buffer, TensorDataType *output_buffer, int num_channels, int num_input_dims, const int *input_dims)
 Rearrange 1x1 image blocks into matrix columns. More...
 
template<typename TensorDataType >
void lbann::im2col_2d (const TensorDataType *__restrict__ input_buffer, TensorDataType *__restrict__ output_buffer, int input_dim_x, int input_dim_y, int input_pad_x, int input_pad_y, int num_channels, int window_dim_x, int window_dim_y, int offset_stride_x, int offset_stride_y)
 Rearrange 2D image blocks into matrix columns. More...
 
template<typename TensorDataType >
void lbann::col2im_1x1 (const TensorDataType *input_buffer, TensorDataType *output_buffer, const int num_channels, const int num_output_dims, const int *output_dims)
 Rearrange matrix columns into 1x1 image blocks. More...
 
template<typename TensorDataType >
void lbann::col2im_2d (const TensorDataType *__restrict__ input_buffer, TensorDataType *__restrict__ output_buffer, int output_dim_x, int output_dim_y, int output_pad_x, int output_pad_y, int num_channels, int window_dim_x, int window_dim_y, int offset_stride_x, int offset_stride_y)
 Rearrange matrix columns into 2D image blocks. More...