可以使用深度学习框架而不是从头开始构建神经网络吗?

Posted

技术标签:

【中文标题】可以使用深度学习框架而不是从头开始构建神经网络吗?【英文标题】:Is it okay to use a deep learning frameworks rather than building the neural network from scratch? 【发布时间】:2019-11-05 03:57:29 【问题描述】:

我是深度学习的新手。我在互联网上关注了一些课程资料,发现他们正在使用 KERAS、Tensor-flow 等深度学习框架来构建深度神经网络。我还在一些课程材料中发现他们是从头开始构建深度神经网络,而不是使用框架。所以我想知道,因为我是深度学习的新手,对我来说什么是最好的。无论是使用框架构建神经网络还是从头开始构建它们。如果我直接使用框架而不是从头开始构建,是否会丢失任何东西。

我知道他们已经开发了像 KERAS 这样的框架来使用。但我的问题是,如果我们依赖这些框架,我们会不会错过这些东西的基本理论,因为我是这个领域的新手......?

【问题讨论】:

【参考方案1】:

是的,没关系,否则最初制作这些框架的目的是什么?

正如您发现从头开始构建神经网络并不容易,至少通过使用 Keras 或其他框架,您知道它们在一定程度上可以正常工作。

【讨论】:

不,我的意思是我是一名学习深度学习的学生。所以我问为什么使用框架而不是从头开始编码有什么问题。如果我使用框架,我会错过什么重要的事情吗?【参考方案2】:

在没有其他假设的情况下使用 Keras 的问题是您将无法理解框架的内部工作。 Keras 是 100k+ 行代码。

在使用 Keras 之前尝试使用 EpyNN,它就是为此而生的。经过验证,它可以正常工作,并且只有大约 2k 行代码。

epynn.net

有了这个,你就有了一个包罗万象的解决方案来掌握你提到的“这些事情的基本理论”。

【讨论】:

以上是关于可以使用深度学习框架而不是从头开始构建神经网络吗?的主要内容,如果未能解决你的问题,请参考以下文章

干货 | 5个常用的深度学习框架

5个热门的深度学习框架

无需深度学习框架,如何从零开始用Python构建神经网络

从头开始训练 Resnet 深度神经网络

作为TensorFlow的底层语言,你会用C++构建深度神经网络吗?

深度学习用于计算机视觉