机器学习PAI EasyRec的模型 底层为什么是用的estimator,而不是keras ?是因为想要同时兼容1.0版本吗?
在机器学习 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】推荐算法交流群”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
人工智能平台 PAI(Platform for AI,原机器学习平台PAI)是面向开发者和企业的机器学习/深度学习工程平台,提供包含数据标注、模型构建、模型训练、模型部署、推理优化在内的AI开发全链路服务,内置140+种优化算法,具备丰富的行业场景插件,为用户提供低门槛、高性能的云原生AI工程化能力。