请问调用eas的tf模型服务 , 既然有了TFRequest的API ,为什么还有通过pai_tf_predict_proto包传pb格式数据的方式。两种方式使用场景各是什么? 比如一个这样的服务,两种方式都可以请求吗
调用EAS的TF模型服务有两种方式,一种是使用TFRequest的API,另一种是通过pai_tf_predict_proto包传PB格式数据的方式。这两种方式的使用场景如下:
当我们需要向TF模型服务发送请求,并得到模型的预测结果时,可以使用TFRequest的API。这种方式可以方便地将输入数据、输出数据和模型服务的地址、超时时间等信息封装到一个请求对象中,通过网络传输到模型服务端。同时,使用TFRequest还可以方便地获取返回结果并进行解析。因此,当我们需要调用TF模型服务进行预测时,可以优先考虑使用TFRequest的API方式。
使用pai_tf_predict_proto包传PB格式数据的方式,是通过将输入数据转换成PB格式,将PB格式数据打包成二进制数组后,传递给模型服务端进行预测。这种方式需要手动将输入数据序列化为PB格式,并将PB格式数据序列化成二进制数组,然后再将数据发送给模型服务端。因此,这种方式的使用场景主要是在需要将PB格式数据传递给其他系统的场景下,例如将PB格式的数据存储到数据库中,或者通过MQ将数据发送给其他系统。在TF模型服务调用方面,这种方式相对繁琐,也相对较少使用,除非有特殊需求才需要使用。
综上所述,两种方式使用场景不同,TFRequest API 适合于小规模数据和参数的场景,pai_tf_predict_proto 包适合于大规模数据和参数的场景。
TFRequest的API是TensorFlow Serving进行封装后提供的高级别API,可以简化与TensorFlow Serving的交互过程。使用TFRequest的API可以直接将请求的输入数据和输出数据转换为Python的Numpy数组,无需手动进行序列化和反序列化。这种方式适用于请求数据量较小的场景,例如单条或少量数据的推理请求。
通过pai_tf_predict_proto包传输pb格式数据则是直接将请求数据进行序列化,以二进制形式传输到TensorFlow Serving进行推理,并将推理结果以同样的方式返回。这种方式适用于请求数据量较大的场景,例如批量推理请求。
两种方式都可以请求。如果数据量较小,可以选择使用TFRequest的API;如果数据量较大,可以选择通过pai_tf_predict_proto包传输pb格式数据。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
人工智能平台 PAI(Platform for AI,原机器学习平台PAI)是面向开发者和企业的机器学习/深度学习工程平台,提供包含数据标注、模型构建、模型训练、模型部署、推理优化在内的AI开发全链路服务,内置140+种优化算法,具备丰富的行业场景插件,为用户提供低门槛、高性能的云原生AI工程化能力。