Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为C编写一个Tensorflow模型_Python_C_Tensorflow_Machine Learning - Fatal编程技术网

Python 为C编写一个Tensorflow模型

Python 为C编写一个Tensorflow模型,python,c,tensorflow,machine-learning,Python,C,Tensorflow,Machine Learning,这是我第一次实施机器学习阶段。因此,如果我遗漏了一些关键信息,请让我知道 我的目标是建立一个机器学习模型来模拟查找表。其思想是,存储量是至关重要的,因此拥有一个能够计算值的模型将比查找表占用更少的内存。原因是任何机器学习模型都只是一个美化的方程式 线性回归是y=mx1+mx2+b, 神经网络:是将一组权重加到一个要求和的节点上,然后做一个类似于sigmoid函数的函数 由于我试图有一个非常小的足迹,我自然想到做线性回归。不幸的是,精度不符合标准,这是必要的。所以,现在我决定使用tensorflo

这是我第一次实施机器学习阶段。因此,如果我遗漏了一些关键信息,请让我知道

我的目标是建立一个机器学习模型来模拟查找表。其思想是,存储量是至关重要的,因此拥有一个能够计算值的模型将比查找表占用更少的内存。原因是任何机器学习模型都只是一个美化的方程式

线性回归是y=mx1+mx2+b,

神经网络:是将一组权重加到一个要求和的节点上,然后做一个类似于sigmoid函数的函数

由于我试图有一个非常小的足迹,我自然想到做线性回归。不幸的是,精度不符合标准,这是必要的。所以,现在我决定使用tensorflow,看看我是否可以制作一个更精确的模型。我创建了一个简单的模型,性能更好,但是,这需要获得权重和张量模型本身,这样我就可以将方程移植到C中。 找到原始权重和模型配置的过程似乎比最初想象的要困难(似乎他们对其进行了相当多的抽象)

我还尝试了上面没有讨论过的各种其他想法(Microsoft Machine Learning Studio、AWS Machine Learning等),我从所有这些解决方案中注意到的一点是,您无法直接查看使用训练集创建的权重和模型。这对于web应用程序来说很有意义,但我需要在嵌入式系统上执行模型,所以我需要查看所有内容

这就是我的问题所在,我想知道我是否在解决这个问题上找错了方向。机器学习的目标是为从未见过的全新输入提供准确的结果。然而,考虑到我的情况,我正试图尽可能地过拟合,这样我就可以拥有一个非常精确的查找表模型(方程)

有没有更优雅的方法来解决我所缺少的这个问题?如果没有,我如何从tensorflow中提取权重和模型信息,以便将方程导入C


非常感谢你们,我希望你们有一个美好的一天

我不知道如何直接在Tensorflow中执行,但是我有一些建议

使用Tensorflow后端,然后可以像这样直接导出权重

model.save_weights('my_model_weights.h5')
使用这些权重并通过手动卷积等方式应用层仍然相当困难

如果你不是为了学习而做的,那么有一些库可以使用C++中创建的模型,而不需要安装Python、Keras、Tensorflow etc. < /P>的所有开销。 如果您试图在小型设备上实现您的模型,您可能希望这样做

无论如何,一些C++库要查看的是:


<>我知道你具体说了C,但是我猜如果你有C编译器,你可以整理出一个C++编译器,

没有代码,这太宽了,你需要包括你尝试过的代码,然后我们可以开始尝试帮助你。在许多框架中,获得权重并不难。