tongchenkeji 发表于:2023-7-30 17:48:200次点击 已关注取消关注 关注 私信 机器学习PAI EasyRec的模型 底层为什么是用的estimator,而不是keras ?是因为[阿里云机器学习PAI] 暂停朗读为您朗读 机器学习PAI EasyRec的模型 底层为什么是用的estimator,而不是keras ?是因为想要同时兼容1.0版本吗? 「点点赞赏,手留余香」 赞赏 还没有人赞赏,快来当第一个赞赏的人吧! 海报 机器学习PAI# 人工智能平台 PAI1410# 机器学习深度学习1219# 算法框架工具77
Star时光AM 2023-11-28 2:51:39 1 在机器学习 PAI 中,EasyRec 模型底层使用的是 Estimator 而不是 Keras 的原因有多个考虑因素: 兼容性:Estimator 是 TensorFlow 的高级 API,它提供了更广泛的兼容性,可以与不同版本的 TensorFlow 和其他相关工具一起使用。相比之下,Keras 是一个更高级的框架,对于一些特定的功能和配置可能需要与特定版本的 TensorFlow 配合使用。通过使用 Estimator,EasyRec 可以在不同版本的 TensorFlow 上运行,并且能够更好地与其他组件进行集成。 分布式训练支持:Estimator 提供了分布式训练的支持,可以在多台机器或多个计算节点上进行并行训练。这是由于 Estimator 使用 TensorFlow 的分布式计算框架,而 Keras 对分布式训练的支持相对较弱。 结构化输入处理:Estimator 提供了更方便的接口来处理结构化数据,可以通过 Feature Columns 等方式对输入数据进行预处理和特征工程。这对于推荐系统等需要处理复杂、多特征输入的任务非常重要。 尽管 EasyRec 使用 Estimator 作为底层框架,但你仍然可以利用 TensorFlow 的低级部分编写自定义模型或使用 Keras 自定义层,并将其集成到 Estimator 框架中。 这样,EasyRec 可以同时兼容 TensorFlow 1.0 版本及以上,并提供更多的灵活性和功能拓展性。
xin在这AM 2023-11-28 2:51:39 2 keras目前不太方便做分布式训练,可以用keras来开发自定义组件,然后用组件拼搭模型,自定义keras layer 可以参考这个:https://easyrec.readthedocs.io/en/latest/component/backbone.html#id13,此回答整理自钉群“【EasyRec】推荐算法交流群”
在机器学习 PAI 中,EasyRec 模型底层使用的是 Estimator 而不是 Keras 的原因有多个考虑因素:
兼容性:Estimator 是 TensorFlow 的高级 API,它提供了更广泛的兼容性,可以与不同版本的 TensorFlow 和其他相关工具一起使用。相比之下,Keras 是一个更高级的框架,对于一些特定的功能和配置可能需要与特定版本的 TensorFlow 配合使用。通过使用 Estimator,EasyRec 可以在不同版本的 TensorFlow 上运行,并且能够更好地与其他组件进行集成。
分布式训练支持:Estimator 提供了分布式训练的支持,可以在多台机器或多个计算节点上进行并行训练。这是由于 Estimator 使用 TensorFlow 的分布式计算框架,而 Keras 对分布式训练的支持相对较弱。
结构化输入处理:Estimator 提供了更方便的接口来处理结构化数据,可以通过 Feature Columns 等方式对输入数据进行预处理和特征工程。这对于推荐系统等需要处理复杂、多特征输入的任务非常重要。
尽管 EasyRec 使用 Estimator 作为底层框架,但你仍然可以利用 TensorFlow 的低级部分编写自定义模型或使用 Keras 自定义层,并将其集成到 Estimator 框架中。
这样,EasyRec 可以同时兼容 TensorFlow 1.0 版本及以上,并提供更多的灵活性和功能拓展性。
keras目前不太方便做分布式训练,可以用keras来开发自定义组件,然后用组件拼搭模型,自定义keras layer 可以参考这个:https://easyrec.readthedocs.io/en/latest/component/backbone.html#id13,此回答整理自钉群“【EasyRec】推荐算法交流群”