Python – TensorFlow 和 Keras

我一直在寻找关于TensorFlow和Keras的信息。他们说TensorFlow运行在Keras之上,这意味着TensorFlow是Keras的“后端”。(尽管你也可以使用其他如Theano和CNTK)

这里的“后端”一词是否意味着它处理深度学习模型背后的所有数学过程?我是说,TensorFlow是处理复杂任务的,比如处理矩阵(张量),执行所有数学运算的部分?

另一方面,Keras只是我们创建模型所需的,对吗?一旦模型创建,它的“后端”就是TensorFlow,对吗?因为要让模型正常工作(如处理矩阵和执行所有数学运算),它需要一个“后端”,也就是TensorFlow。

这是我根据一些开放论坛和Keras的文档所理解的:

Keras是一个模型级别的库,提供用于开发深度学习模型的高级构建块。它本身不处理低级操作,如张量乘积、卷积等。相反,它依赖于一个专门的、优化良好的张量操作库来执行这些操作,作为Keras的“后端引擎”。

我的理解是否正确?如果您有其他答案,请指教我。


回答:

从TensorFlow的一个更高版本(1.8)以及所有后续和最新版本开始,Keras已被集成到TensorFlow中。

使用Keras的推荐方式是在TensorFlow中使用它,实际上,如果你要导入一个层,你应该像这样做 from tensorflow.keras import X, Y

Keras确实是一个支持多个后端框架的高级API,比如Theano(顺便说一下,这个已经过时了)或MXNET等。

由于Keras更易于使用,很多人选择了Keras而不是TensorFlow,后者的学习曲线与Keras相比非常陡峭,因此TensorFlow决定将Keras集成到他们的框架中。

实际上,与此同时,Keras的创建者也加入了Google的开发团队,因此Keras被集成到了TensorFlow中。

如果你刚刚开始学习深度学习,确保你使用的是TensorFlow中的Keras。它更加健壮,错误更少。此外,Keras将进入维护模式(从2.3.X版本开始),不会再发布主要版本,只进行维护。

Related Posts

神经网络反向传播代码不工作

我需要编写一个简单的由1个输出节点、1个包含3个节点的…

值错误:y 包含先前未见过的标签:

我使用了 决策树分类器,我想将我的 输入 作为 字符串…

使用不平衡数据集进行特征选择时遇到的问题

我正在使用不平衡数据集(54:38:7%)进行特征选择…

广义随机森林/因果森林在Python上的应用

我在寻找Python上的广义随机森林/因果森林算法,但…

如何用PyTorch仅用标量损失来训练神经网络?

假设我们有一个神经网络,我们希望它能根据输入预测三个值…

什么是RNN中间隐藏状态的良好用途?

我已经以三种不同的方式使用了RNN/LSTM: 多对多…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注