用Keras构建神经网络的3种方法

作者|Orhan Gazi Yalçın 编译|VK 来源|Towards Datas Science

如果你看看不同的教程,搜索,花大量时间研究关于TensorFlow的Stack Overflow,你可能已经意识到有很多不同的方法来构建神经网络模型。

这一直是TensorFlow面临的问题。这就像是TensorFlow试图找到通往光明的深度学习环境的道路。由于TensorFlow是目前市场上最成熟的深度学习库,这基本上是你能得到的最好的。

Keras-TensorFlow的关系

背景

TensorFlow发展成为一个深度学习平台并不是一夜之间发生的。最初,TensorFlow将自己推销为一个符号数学库,用于跨一系列任务的数据流编程。因此,TensorFlow最初提供的主张并不是一个纯粹的机器学习库。目标是创建一个高效的数学库,以便在这种高效结构上构建的自定义机器学习算法能够在短时间内以高精度进行训练。

然而,用低级api重复地从头构建模型并不是很理想。因此,谷歌的工程师弗兰•库伊斯-克里特开发了Keras,作为一个独立的高层次的深度学习库。虽然Keras已经能够运行在不同的库之上,比如TensorFlow, Microsoft Cognitive Toolkit, Theano 或 PlaidML,但是TensorFlow过去和现在仍然是人们使用Keras的最常见的库。

现状

在看到了模型构建过程中的混乱之后,TensorFlow团队宣布Keras将成为在tensorflow2.0中构建和训练模型的核心高级API。另一种高级API,Estimator api

Estimator API和Keras API

现在,让我们回到问题上来:有很多不同的方法,人们使用TensorFlow来构建他们的模型。这个问题的主要原因是TensorFlow未能采用单一模型API。

在1.x版本中,对于生产级项目,模型构建API是Estimator API。但是,随着最近的变化,keras api几乎赶上了Estimator API。最初,Estimator API具有更高的可伸缩性,允许分布式,并且具有方便的跨平台功能。然而,现在Estimator API的大部分优点都已被消除,因此,很快Keras API将很可能成为构建TensorFlow模型的唯一标准API。

因此,在本文中,我们将只关注在TensorFlow中构建模型的Keras API方法,其中有三种:

  • 使用Sequential API

  • 使用Functional API

  • 模型子类化

我将直接将它们与相应的模型构建代码

  • 9
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值