tiny_dnn
1.0.0
A header only, dependency-free deep learning framework in C++11
|
Public Member Functions | |
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) |
Additional Inherited Members | |
![]() | |
context * | ctx_ |
layerptr_t | layer_ |
|
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.