|
| nnp_backend (conv_params *params, std::function< void(const tensor_t &)> f1, conv_layer_worker_specific_storage *ptr) |
|
| nnp_backend (deconv_params *params) |
|
| nnp_backend (maxpool_params *params) |
|
| nnp_backend (fully_params *params) |
|
void | conv2d (const std::vector< tensor_t * > &in_data, std::vector< tensor_t * > &out_data) override |
|
void | conv2d_q (const std::vector< tensor_t * > &in_data, std::vector< tensor_t * > &out_data) override |
|
void | conv2d_eq (const std::vector< tensor_t * > &in_data, std::vector< tensor_t * > &out_data) override |
|
void | conv2d (const std::vector< tensor_t * > &in_data, const std::vector< tensor_t * > &out_data, std::vector< tensor_t * > &out_grad, std::vector< tensor_t * > &in_grad) override |
|
void | conv2d_q (const std::vector< tensor_t * > &in_data, const std::vector< tensor_t * > &out_data, std::vector< tensor_t * > &out_grad, std::vector< tensor_t * > &in_grad) override |
|
void | deconv2d (const std::vector< tensor_t * > &in_data, std::vector< tensor_t * > &out_data) override |
|
void | deconv2d_q (const std::vector< tensor_t * > &in_data, std::vector< tensor_t * > &out_data) override |
|
void | deconv2d_eq (const std::vector< tensor_t * > &in_data, std::vector< tensor_t * > &out_data) override |
|
void | deconv2d (const std::vector< tensor_t * > &in_data, const std::vector< tensor_t * > &out_data, std::vector< tensor_t * > &out_grad, std::vector< tensor_t * > &in_grad) override |
|
void | deconv2d_q (const std::vector< tensor_t * > &in_data, const std::vector< tensor_t * > &out_data, std::vector< tensor_t * > &out_grad, std::vector< tensor_t * > &in_grad) override |
|
void | maxpool (const std::vector< tensor_t * > &in_data, std::vector< tensor_t * > &out_data) override |
|
void | maxpool (const std::vector< tensor_t * > &in_data, const std::vector< tensor_t * > &out_data, std::vector< tensor_t * > &out_grad, std::vector< tensor_t * > &in_grad) override |
|
void | fully (const std::vector< tensor_t * > &in_data, std::vector< tensor_t * > &out_data) override |
|
void | fully_q (const std::vector< tensor_t * > &in_data, std::vector< tensor_t * > &out_data) override |
|
void | fully_eq (const std::vector< tensor_t * > &in_data, std::vector< tensor_t * > &out_data) override |
|
void | fully (const std::vector< tensor_t * > &in_data, const std::vector< tensor_t * > &out_data, std::vector< tensor_t * > &out_grad, std::vector< tensor_t * > &in_grad) override |
|
void | fully_q (const std::vector< tensor_t * > &in_data, const std::vector< tensor_t * > &out_data, std::vector< tensor_t * > &out_grad, std::vector< tensor_t * > &in_grad) override |
|
backend_t | type () const override |
|
| backend (context *ctx_=nullptr) |
|
context * | get_context () const |
|
void | set_layer (layerptr_t layer) |
|
void tiny_dnn::core::nnp_backend::maxpool |
( |
const std::vector< tensor_t * > & |
in_data, |
|
|
std::vector< tensor_t * > & |
out_data |
|
) |
| |
|
inlineoverridevirtual |
if (params_m_->stride_x != 2 || params_m_->stride_y != 2) { throw nn_error("NNPACK Max-Pool requires a stride == 2."); }
if (params_m_->pool_size_x != 2 || params_m_->pool_size_y != 2) { throw nn_error("NNPACK Max-Pool requires a pool size == 2."); }
const tensor_t& in = *in_data[0]; tensor_t& a = *out_data[1];
kernels::nnp_maxpool_kernel(*params_m_, in, a);
Implements tiny_dnn::core::backend.