Noodle
Loading...
Searching...
No Matches
noodle_conv.cpp File Reference

Public convolution layer wrappers: Conv1D, Conv2D, and ConvTranspose2D. More...

#include "noodle_internal.h"
Include dependency graph for noodle_conv.cpp:

Functions

uint16_t noodle_conv1d (const char *in_fn, uint16_t n_inputs, const char *out_fn, uint16_t n_outputs, uint16_t W, const Conv &conv, const Pool &pool, CBFPtr progress_cb)
 Run file-to-file 1D convolution with file-backed parameters and pooling.
uint16_t noodle_conv1d (const char *in_fn, uint16_t n_inputs, const char *out_fn, uint16_t n_outputs, uint16_t W, const Conv &conv, CBFPtr progress_cb)
 Run file-to-file 1D convolution with file-backed parameters.
uint16_t noodle_conv1d (const char *in_fn, uint16_t n_inputs, const char *out_fn, uint16_t n_outputs, uint16_t W, const ConvMem &conv, CBFPtr progress_cb)
 Run file-to-file 1D convolution with memory-backed parameters.
uint16_t noodle_conv1d (float *in, uint16_t n_inputs, float *out, uint16_t n_outputs, uint16_t W, const ConvMem &conv, CBFPtr progress_cb)
 Raw memory-to-memory 1D convolution without pooling.
uint16_t noodle_conv1d (float *in, uint16_t n_inputs, float *out, uint16_t n_outputs, uint16_t W, const ConvMem &conv, const Pool &pool, CBFPtr progress_cb)
 Raw memory-to-memory 1D convolution with pooling.
uint16_t noodle_conv1d (float *in, uint16_t n_inputs, const char *out_fn, uint16_t n_outputs, uint16_t W, const ConvMem &conv, CBFPtr progress_cb)
 Raw memory-to-file 1D convolution without pooling.
uint16_t noodle_conv1d (const char *in_fn, uint16_t n_inputs, float *out, uint16_t n_outputs, uint16_t W, const ConvMem &conv, CBFPtr progress_cb)
 Raw file-to-memory 1D convolution without pooling.
uint16_t noodle_conv_byte (const char *in_fn, uint16_t n_inputs, uint16_t n_outputs, const char *out_fn, uint16_t W, const Conv &conv, const Pool &pool, CBFPtr progress_cb)
 Run file-to-file 2D convolution on byte input feature maps.
uint16_t noodle_conv_float (const char *in_fn, uint16_t n_inputs, uint16_t n_outputs, const char *out_fn, uint16_t W, const Conv &conv, const Pool &pool, CBFPtr progress_cb)
 Run file-to-file 2D convolution on float input feature maps.
uint16_t noodle_conv_float (const char *in_fn, uint16_t n_inputs, uint16_t n_outputs, const char *out_fn, uint16_t W, const ConvMem &conv, const Pool &pool, CBFPtr progress_cb)
 Run file-to-file 2D convolution with memory-backed parameters.
uint16_t noodle_conv_float (const char *in_fn, uint16_t n_inputs, uint16_t n_outputs, float *output, uint16_t W, const Conv &conv, const Pool &pool, CBFPtr progress_cb)
 File-to-memory 2D convolution with file-backed parameters.
uint16_t noodle_conv_float (float *input, uint16_t n_inputs, uint16_t n_outputs, const char *out_fn, uint16_t W, const Conv &conv, const Pool &pool, CBFPtr progress_cb)
 Memory-to-file 2D convolution with file-backed parameters.
uint16_t noodle_conv_float (float *input, uint16_t n_inputs, uint16_t n_outputs, const char *out_fn, uint16_t W, const ConvMem &conv, const Pool &pool, CBFPtr progress_cb)
 Memory-to-file 2D convolution with memory-backed parameters.
uint16_t noodle_conv_float (float *input, uint16_t n_inputs, uint16_t n_outputs, float *output, uint16_t W, const Conv &conv, const Pool &pool, CBFPtr progress_cb)
 Raw memory-to-memory 2D convolution with file-backed parameters.
uint16_t noodle_conv_float (float *input, uint16_t n_inputs, uint16_t n_outputs, float *output, uint16_t W, const ConvMem &conv, const Pool &pool, CBFPtr progress_cb)
 Raw memory-to-memory 2D convolution with memory-backed parameters.
uint16_t noodle_conv_transpose_float (float *input, uint16_t n_inputs, uint16_t n_outputs, float *output, uint16_t W, const ConvMem &conv, CBFPtr progress_cb)
 Raw memory-to-memory 2D transpose convolution.
uint16_t noodle_conv_float (const char *in_fn, uint16_t n_inputs, uint16_t n_outputs, const char *out_fn, uint16_t W, const ConvProgmem &conv, const Pool &pool, CBFPtr progress_cb)
 Run file-to-file 2D convolution with near-PROGMEM parameters.
uint16_t noodle_conv_float (float *input, uint16_t n_inputs, uint16_t n_outputs, float *output, uint16_t W, const ConvProgmem &conv, const Pool &pool, CBFPtr progress_cb)
 Raw memory-to-memory 2D convolution with near-PROGMEM parameters.
static uint16_t noodle_pool_output_width_for_buffer (uint16_t Vconv, const Pool &pool)
static float * noodle_buffer_require_conv2d_output (NoodleBuffer *output, uint16_t n_outputs, uint16_t W, uint16_t K, uint16_t P, uint16_t S, const Pool &pool, uint16_t *Wout)
uint16_t noodle_conv_float (NoodleBuffer *input, uint16_t n_inputs, uint16_t n_outputs, NoodleBuffer *output, uint16_t W, const Conv &conv, const Pool &pool, CBFPtr progress_cb)
 Run 2D convolution using file-backed parameters.
uint16_t noodle_conv_float (NoodleBuffer *input, uint16_t n_inputs, uint16_t n_outputs, NoodleBuffer *output, uint16_t W, const ConvMem &conv, const Pool &pool, CBFPtr progress_cb)
 Run 2D convolution using memory-backed parameters.
uint16_t noodle_conv_float (NoodleBuffer *input, uint16_t n_inputs, uint16_t n_outputs, NoodleBuffer *output, uint16_t W, const ConvProgmem &conv, const Pool &pool, CBFPtr progress_cb)
 Run 2D convolution using near-PROGMEM parameters.
uint16_t noodle_conv_transpose_float (NoodleBuffer *input, uint16_t n_inputs, uint16_t n_outputs, NoodleBuffer *output, uint16_t W, const ConvMem &conv, CBFPtr progress_cb)
 Run 2D transpose convolution using memory-backed parameters.
static uint16_t noodle_conv1d_output_width_for_buffer (uint16_t W, uint16_t K, uint16_t P, uint16_t S)
static uint16_t noodle_pool1d_output_width_for_buffer (uint16_t Vconv, const Pool &pool)
uint16_t noodle_conv1d (NoodleBuffer *input, uint16_t n_inputs, NoodleBuffer *output, uint16_t n_outputs, uint16_t W, const ConvMem &conv, CBFPtr progress_cb)
 Run 1D convolution using memory-backed parameters.
uint16_t noodle_conv1d (NoodleBuffer *input, uint16_t n_inputs, NoodleBuffer *output, uint16_t n_outputs, uint16_t W, const ConvMem &conv, const Pool &pool, CBFPtr progress_cb)
 Run 1D convolution using memory-backed parameters and pooling.

Detailed Description

Public convolution layer wrappers: Conv1D, Conv2D, and ConvTranspose2D.

Low-level kernels, padding, pooling, shape helpers, and other implementation details live in noodle_internal.cpp and are declared in noodle_internal.h.

Function Documentation

◆ noodle_buffer_require_conv2d_output()

float * noodle_buffer_require_conv2d_output ( NoodleBuffer * output,
uint16_t n_outputs,
uint16_t W,
uint16_t K,
uint16_t P,
uint16_t S,
const Pool & pool,
uint16_t * Wout )
static

◆ noodle_conv1d_output_width_for_buffer()

uint16_t noodle_conv1d_output_width_for_buffer ( uint16_t W,
uint16_t K,
uint16_t P,
uint16_t S )
static

◆ noodle_pool1d_output_width_for_buffer()

uint16_t noodle_pool1d_output_width_for_buffer ( uint16_t Vconv,
const Pool & pool )
static

◆ noodle_pool_output_width_for_buffer()

uint16_t noodle_pool_output_width_for_buffer ( uint16_t Vconv,
const Pool & pool )
static