onnx2versal
Loading...
Searching...
No Matches
ConvReluChunkMGraph< CONV, CONCAT, IS_BCHW, MCHUNK, INP_H, INP_W, INP_W_PAD, OUT_W, OUT_W_PAD, STEP_H, STEP_W, B, C, M, KH, KW, GROUP, IS_RELU, H0, H1, W0, W1 > Class Template Reference

Multiinstance graph that stores weights and biases, chunks MCKK weights by M dimension, maximum 8 chunks If IS_BCHW=0 (using BHWC kernel): MCHUNK%8=0 and M%4=0. If IS_BCHW=1 (using BCHW kernel): MCHUNK*OUT_W_PAD*OUT_W_PAD%8=0 and M*OUT_W_PAD*OUT_W_PAD%4=0. More...

#include <graph_conv.h>

Inherits adf::graph.

Collaboration diagram for ConvReluChunkMGraph< CONV, CONCAT, IS_BCHW, MCHUNK, INP_H, INP_W, INP_W_PAD, OUT_W, OUT_W_PAD, STEP_H, STEP_W, B, C, M, KH, KW, GROUP, IS_RELU, H0, H1, W0, W1 >:

Public Member Functions

 ConvReluChunkMGraph (std::vector< float > weights, std::vector< float > bias)
 

Public Attributes

ConcatGraph< CONCAT, float_t, CHUNK_COUNT, CONCAT_H, CONCAT_W, CONCAT_BLOCK > concat_g
 
adf::port< input > pin [1]
 
adf::port< output > pout [1]
 

Static Public Attributes

static constexpr int OUT_H = (PAD_H - KH) / STEP_H + 1
 
static constexpr int CONCAT_W = (IS_BCHW) ? MCHUNK*OUT_H*OUT_W_PAD : MCHUNK
 
static constexpr int CONCAT_BLOCK = (IS_BCHW) ? M*OUT_H*OUT_W_PAD : M
 
static constexpr int CONCAT_H = (IS_BCHW) ? B : B*OUT_H*OUT_W_PAD
 

Detailed Description

template<template< int, int, int, int, int, int, int, int, int, int, int, int, int > class CONV, template< typename, int, int, int, int > class CONCAT, int IS_BCHW, int MCHUNK, int INP_H, int INP_W, int INP_W_PAD, int OUT_W, int OUT_W_PAD, int STEP_H, int STEP_W, int B, int C, int M, int KH, int KW, int GROUP, int IS_RELU, int H0 = 0, int H1 = 0, int W0 = 0, int W1 = 0>
class ConvReluChunkMGraph< CONV, CONCAT, IS_BCHW, MCHUNK, INP_H, INP_W, INP_W_PAD, OUT_W, OUT_W_PAD, STEP_H, STEP_W, B, C, M, KH, KW, GROUP, IS_RELU, H0, H1, W0, W1 >

<dl class=

<td class=

<td class=


The documentation for this class was generated from the following file: