d4n*_*yll 41 keras tensorflow tensorflow-estimator
Tensorflow Keras模型和Tensorflow Estimators都能够训练神经网络模型并使用它们来预测新数据.它们都是位于低级核心TensorFlow API之上的高级API.那我什么时候应该使用另一个呢?
d4n*_*yll 55
Estimators API已添加到版本1.1中的Tensorflow,并提供了对较低级别Tensorflow核心操作的高级抽象.它适用于Estimator实例,它是TensorFlow对完整模型的高级表示.
Keras类似于Estimators API,因为它抽象深层学习模型组件,如层,激活函数和优化器,使开发人员更容易.它是一个模型级库,不处理低级操作,这是张量操作库或后端的工作.Keras支持三种后端 - Tensorflow,Theano和CNTK.
在1.4.0版本(2017年11月2日)之前,Keras不属于Tensorflow .现在,当您使用tf.keras
(或谈论'Tensorflow Keras')时,您只需使用带有Tensorflow后端的Keras界面来构建和训练您的模型.
因此,Estimator API和Keras API都提供了基于低级核心Tensorflow API的高级API,您可以使用它们来训练模型.但在大多数情况下,如果您正在使用Tensorflow,您需要使用Estimators API,原因如下所示.
您可以使用Estimators API在多个服务器上进行分布式培训,但不能使用Keras API.
从Tensorflow Keras指南中可以看出:
Estimators API用于分布式环境的训练模型.
从Tensorflow Estimators指南中可以看出:
您可以在本地主机或分布式多服务器环境中运行基于Estimator的模型,而无需更改模型.此外,您可以在CPU,GPU或TPU上运行基于Estimator的模型,而无需重新编码模型.
虽然Keras提供了使模型更容易构建的抽象,但您仍然需要编写代码来构建模型.通过Estimators,Tensorflow提供预制估算器,这些模型可以直接使用,只需插入超参数即可.
预制估算器与您的工作方式类似scikit-learn
.例如,tf.estimator.LinearRegressor
来自Tensorflow的类似于sklearn.linear_model.LinearRegression
from scikit-learn
.
Tensorflow提供了一个名为TensorBoard的视觉化工具,可帮助您可视化图形和统计数据.通过使用Estimator,您可以轻松保存摘要以使用Tensorboard进行可视化.
要将Keras模型迁移到Estimator,请使用该tf.keras.estimator.model_to_estimator
方法.
归档时间: |
|
查看次数: |
9140 次 |
最近记录: |