因为最近的一个模型需要使用C++落地,平时使用的是python,在问google中,发现了tiny-dnn,于是着手去研究下这个库。tiny-dnn是一个C++实现的轻量的深度学习库,里面实现了主流的模型代码框架,如DNN、CNN、RNN。主流模型的示例很完整,示例有手写识别、图片分类等常用的深度学习示例。简单了解下代码组织,我们从两方面去看这个库算很完整了。
1、可以支持自定义的网络结构
static void construct_net(tiny_dnn::network<tiny_dnn::sequential> &nn,
tiny_dnn::core::backend_t backend_type) {
// connection table [Y.Lecun, 1998 Table.1]
#define O true
#define X false
// clang-format off
static const bool tbl[] = {
O, X, X, X, O, O, O, X, X, O, O, O, O, X, O, O,
O, O, X, X, X, O, O, O, X, X, O, O, O, O, X, O,
O, O, O, X, X, X, O, O, O, X, X, O, X, O, O, O,
X, O, O, O, X, X, O, O, O, O, X, X, O, X, O, O,
X, X, O, O, O, X, X, O, O, O, O, X, O, O, X, O,
X, X, X, O, O, O, X, X, O, O, O, O, X, O, O, O
};
// clang-format on
#undef O
#undef X
// construct nets
//
// C : convolution
// S : sub-sampli

最低0.47元/天 解锁文章
1101





