Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.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
Deep learning 一种简单的卷积神经网络编码_Deep Learning_Caffe - Fatal编程技术网

Deep learning 一种简单的卷积神经网络编码

Deep learning 一种简单的卷积神经网络编码,deep-learning,caffe,Deep Learning,Caffe,我对卷积神经网络(CNN)感兴趣,它是一个计算广泛的应用示例,适用于使用可重构硬件(例如FPGA)进行加速 为了做到这一点,我需要检查一个简单的CNN代码,我可以用它来理解它们是如何实现的,每一层的计算是如何进行的,每一层的输出是如何被输入到下一层的。我熟悉理论部分() 但是,我对训练CNN不感兴趣,我想要一个完整的,自我包含的CNN代码,它是预先训练的,所有的权重和偏差值都是已知的 我知道有很多CNN库,即Caffe,但问题是没有自包含的简单示例代码。即使对于最简单的Caffe示例“cpp_分

我对卷积神经网络(CNN)感兴趣,它是一个计算广泛的应用示例,适用于使用可重构硬件(例如FPGA)进行加速

为了做到这一点,我需要检查一个简单的CNN代码,我可以用它来理解它们是如何实现的,每一层的计算是如何进行的,每一层的输出是如何被输入到下一层的。我熟悉理论部分()

但是,我对训练CNN不感兴趣,我想要一个完整的,自我包含的CNN代码,它是预先训练的,所有的权重和偏差值都是已知的

我知道有很多CNN库,即Caffe,但问题是没有自包含的简单示例代码。即使对于最简单的Caffe示例“cpp_分类”,也会调用许多库,CNN的体系结构表示为.prototxt文件,还涉及其他类型的输入,如.caffemodel和.binaryproto。openCV2库也被调用。有一层又一层的抽象和不同的库一起工作来产生分类结果

我知道需要这些抽象来生成一个“可用的”CNN实现,但是对于一个需要一个基本代码来学习的硬件人员来说,这是太多的“不相关的工作”


我的问题是:有谁能引导我进入一个简单且自包含的CNN实现,我可以从它开始吗?

这是我见过的最简单的实现:

另外,的源代码看起来非常简单。

我可以推荐。它简单、轻量级(例如,仅限报头)且仅限CPU,同时提供了文献中经常使用的几个层(例如池层、退出层或本地响应规范化层)。这意味着,您可以轻松地探索这些层在C++中的高效实现,而不需要知识库的知识挖掘和通过I/O和框架代码挖掘,如框架等所需的。该实现缺少一些注释,但代码仍然易于阅读和理解

所提供的工具非常容易使用(不久前我自己也尝试过),而且训练效率也很高。训练和测试后,将重量写入文件。然后,您就有了一个简单的预培训模型,可以从中开始,请参阅提供的和。它可以很容易地加载以进行测试(或识别数字),这样您就可以在执行学习的模型时调试代码


如果您想检查更复杂的网络,请查看。

谢谢!您的链接对于编码和学习概念都非常有用。谢谢!对于初学者来说,tiny cnn确实比Caffe更具可读性,这是一个很好的起点。你可能也有兴趣阅读我的调查报告,该报告回顾了75多篇论文。许多作者可能已经发布了他们的源代码,因此您可以找到许多CNN实现来开始。