优化神经网络以在嵌入式系统中运行

时间:2019-04-15 09:17:24

标签: tensorflow machine-learning neural-network deep-learning conv-neural-network

我正在内存有限,甚至处理能力有限的嵌入式系统上运行一些代码。

我正在使用TensorFlow进行此实现。

我以前从未在这种环境中工作过。

我可以采取哪些步骤来确保自己在实施/优化中尽可能地高效?

一些想法-
 -修剪代码-    https://jacobgil.github.io/deeplearning/pruning-deep-learning  -确保循环尽可能少(从O角度看)  -...

非常感谢。

2 个答案:

答案 0 :(得分:0)

如果您正在使用TensorFlow 1.13(2.0原型之前的最新稳定版本),则tf.contrib子模块中有一个pruning function。它包含一个稀疏性参数,您可以对其进行调整以确定网络的大小。

我建议您看一下所有tf.contrib.model_pruning子模块here。您可能需要针对特定​​任务的大量功能。

答案 1 :(得分:0)

我建议使用TensorFlow Lite。

它将使您能够压缩和量化模型,以使其更小,更快地运行。

如果其中任何一个可用,它还支持利用GPU和/或硬件加速器。

https://www.tensorflow.org/lite