Skip to main content
 Web开发网 » 站长学院 » 浏览器插件

Keras还是TensorFlow,程序员该如何选择深度学习框架?

2021年11月03日5980百度已收录

如果想尽可能快速并且以少量的代码建立并测试神经网络,keras是最快速的, Sequential API和Model的功能十分强大。并且keras的设计十分用户友好,以数据输入输为例,对比keras简单的操作,tensorflow解码编码的构建过程特别繁杂(尤其对于初学者来说,大量的记忆过程上手非常痛苦)。除此之外,keras将模块化作为设计原则之一,使用者可以各按所需进行组合。如果只是想快速地搭建常见的模型来实现自己的想法,keras可以作为首选。

但是,keras在封装后会变得很不灵活,并且加上它本身速度也比较慢,如果是高度封装,前面提到的缺点会更加明显,除了一些对速度要求很低的工业应用,tensorflow会因为更高速而被选择

如果在验证自己想法的时候,不想用既有的设定而是想要自己定义损失函数、测度、层数等等,相比keras,tensorflow提供了更多个性的空间。此外,对神经网络控制力度的大小会很大程度决定对网络的理解和优化工作,而keras种提供的权限很少,tensorflow相反给了更多操控权,比如对多个变量中的某一变量是否进行训练、对梯度进行操作(以获取训练的进展)等等。

虽然二者都提供深度学习模型通常所需的功能性,但是,如果使用者还追求一些更高阶的功能性的选择,像是进行特殊种类模型的研究,就要求诸tensorflow了。比如,如果想要运算加速,可以使用tensorflow的线程功能,多线程实行同一对话。另外,它还提供调试器的功能,对推断bug和加速运算都有帮助。

评论列表暂无评论
发表评论
微信