首页 > 解决方案 > Python - TensorFlow 和 Keras

问题描述

我一直在搜索什么是 Tensorflow 和 Keras。他们说 Tensorflow 运行在 Keras 之上,这意味着 Tensorflow 是 KERAS 的“后端”。(尽管您可以使用 Theano 和 CNTK 等其他工具)

这里的“BACKEND”一词是否意味着它完成了深度学习模型背后的整个数学过程?我的意思是说 Tensorflow 是做复杂事情的人,比如处理矩阵(张量),做所有的数学事情?

另一方面,KERAS 是我们创建模型时才需要的人,对吧?一旦创建了模型,它的“BACKEND”就是 Tensorflow,对吧?导致模型按应有的方式工作(如处理矩阵并完成所有数学工作)它需要一个“后端”,即 Tensorflow。

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

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

我的理解正确吗?如果您有其他答案,请赐教。

标签: pythontensorflowmachine-learningkerasdeep-learning

解决方案


从更高版本的 TensorFlow (1.8) 和所有更高版本和最新版本的 TensorFlow 开始,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 开始),不再发布主要版本,仅进行维护。


推荐阅读