TensorFlow Estimators VS tf.keras

我是一个使用 TensorFlow 两年多的用户,最近一直在使用 Estimators,而且觉得很赞,但是现在有一点很让我疑惑:
我到底应该使用 使用 tf.keras 还是 还是 Estimators?

这两个都是高层 API,目前的形势是 TensorFlow 在强烈推广 推广 tf.keras,而且还打算在 2.0 的时候默认启用 eager 执行模式和丢弃 tf.layers 模块!这就让我更疑惑了,TensorFlow 是要放弃 Estimators 吗?


提问人:Alan , 2018-9-21 16:37:03

我觉得差不多要凉了 hhh,也不知道是不是我孤陋寡闻,,到现在我都没用过 estimator


ViolinSolo 发表于 2018-9-23 15:00:28

Keras 作者好像有说过,Keras 并入 Tensorflow 的最大好处,是可以用到 tensorflow 的一些功能,比如… ‘和 Estimator 一起用,来进行分布式训练’。


树涛 发表于 2018-9-26 09:25:55

上次去谷歌参加活动,问了下 Tensorflow 的一个开发者 Frank Chen,说是最佳实践将会是使用 Keras,不过目前 Keras 暂不支持分布式训练,可能在 TF 1.12 或者 TF 2.0 里面出来。

谷歌主推 Keras。


树涛, 2018-10-8 17:51

之前 TensorFlow 大力推广 Estimators,Estimators 已经做了很多优化,包括和 serving 搭配使用简直不能太方便,要放弃不太科学吧?

还是希望官方开发者来回答下,我在公众号问让我来这问,结果还是没人


Alan 发表于 2018-9-27 10:20:50

都可以吧


薄荷 发表于 2018-9-27 14:58:51

我个人的理解是 estimator 的初衷是适合进行分布式训练,并方便的把训练后的模型进行部署。现在大推 keras 是因为 tf.keras 对 eager execution 的支持非常好,所以官方推荐这两者结合用来构建动态图模型,以降低新手入门静态图 API 的学习成本。

keras model 可以转换成 estimator 进行训练,并且 estimator 跟 keras model 都可以接受 tf.data.Dataset 作为输入,所以官方推荐 Enable eager execution for debugging Estimator input functions and inspecting data。

我的理解是官方推荐用 keras 搭配 eager 构建模型并 debug,最后有 production 需求的再用 estimator API 进行训练 / 部署。


livernana 发表于 2018-10-1 10:59:48

建议 keras


舟 3332 发表于 2018-10-15 18:37:46