用 C 语言训练的神经网络模型?

Posted

技术标签:

【中文标题】用 C 语言训练的神经网络模型?【英文标题】:Trained Neural Network model in C? 【发布时间】:2020-05-03 03:53:40 【问题描述】:

我不是机器学习和神经网络方面的专家,在一般的计算智能领域,但我希望找到一个用 ANSI C 语言编写的神经网络模型。

我希望对分类器进行训练,然后出于实验原因将其与权重一起用作基准。一般来说,我正在寻找的文件是这样构建的:

#include <.....>

/* -- Global Variables -- */ 

double weight_layer_a_neuron_1 = ... ;
double weight_layer_a_neuron_2 = ... ;
..
..
..
double weight_layer_n_neuron_n = ... ;

/* ---------------------- */

/* 
 * Neural Network Model Code Here
 */

我正在寻找这个特定架构的原因是我需要在另一个系统中交叉编译它,而 C 是少数几个选项之一。

我在网上查找了 DarkNetcaffee 库,如果它们支持这样的选项,将模型“导出”到 C 文件中,但正如我所料,我没有什么都找不到。我的情况有什么可用的选项吗? 先感谢您!

【问题讨论】:

据我所知,没有任何框架允许将经过训练的模型导出为 C 文件。这也会很不方便。我想您必须编写自己的转换器或更改方法。 谢谢。我找到了 genann (github.com/codeplea/genann) 库,虽然这可能会有所帮助 【参考方案1】:

[回答]

尽管上面提到的框架都没有提供 C 语言的网络文件,但您可以使用 codeplea's genann 库,它提供了一种精致而优美的方式来创建/训练/存储/加载您的神经网络。它还提供各种训练方法。

没有像 Darknet 和 Caffe 建议的那样快速生成和创建网络的自动方法,但只需稍加努力,根据作者提供的示例,您就可以非常轻松地创建您的 nn。

【讨论】:

以上是关于用 C 语言训练的神经网络模型?的主要内容,如果未能解决你的问题,请参考以下文章

tensorflow训练好的模型,怎么调用?

BERT:深度双向预训练语言模型

BP神经网络的模型已经训练好,想用多一些数据继续训练,怎么在原来的基础上训练呢?

语言模型训练网站

用MATLAB建立bp神经网络模型,求高手,在线等

word2verctor原型NNLM神经网路语言模型