详情页标题前

阿里云人工智能平台PAI使用Java开发自定义Processor-云淘科技

详情页1

本文为您介绍如何使用Java开发自定义Processor。

接口定义

使用Java开发自定义Processor仅需要定义一个类,该类中除构造函数以外,只需要
Load()和
Process()函数即可。类的原型如下。

package com.alibaba.eas;
import java.util.*;
public class TestProcessor {
  public TestProcessor(String modelEntry, String modelConfig) {
    /*传递模型文件名,可以添加初始化工作。*/
  }
  public void Load() {
    /*根据模型名加载模型信息。*/
  }
  public byte[] Process(byte[] input) {
    /*对输入数据进行预测处理并返回结果。支持BYTE[]和STRING,推荐使用BYTE[],可以避免编码问题。*/
  }
  public static void main(String[] args) {
    /*主函数为非必选,可以在本地单机验证类功能。*/
  }
}

如果抛出异常,框架会捕获该异常,并将Exception中的
message作为错误信息返回给客户端,同时HTTP响应400。您也可以自己捕获异常,输出自己的异常错误信息,示例如下。

try{
} catch (com.alibaba.fastjson.JSONException e) {
  throw new RuntimeException("bad json format, " + e.getMessage());
}

单机开发调试

单机调试功能用于非集群模式,用户在本地环境中对模型或Processor进行开发及调试,其开发接口及调用接口与线上集群环境完全兼容。该功能不仅可以避免您在开发测试阶段频繁部署新服务,而且可以节省调试所用的资源费用。

说明 该功能依赖于Docker,需要在运行EASCMD的服务器上预装Docker。如果需要GPU及CUDA,则必须预先在本地安装CUDA及Nvidia-Docker。

单机调试的方法如下:

  1. 如果未安装Docker,则参见Docker安装进行安装。
  2. 下载客户端工具EASCMD,各版本的下载地址如下:
    • Windows 64版本
    • Linux 32版本
    • Linux 64版本
    • Mac 64版本
  3. 创建服务配置文件。

    在配置文件中,指定需要部署的模型和编写的Processor,示例如下。

    {
      "name": "diy_test",
      "generate_token": "true",
      "model_path": "http://examplebucket.oss-cn-hangzhou-zmf.aliyuncs.com/scorecard.pmml", #支持HTTP路径或本地路径(仅用于本地调试)。
      "processor_path": "./diy_processor_release.tar.gz", #支持HTTP路径或本地路径(仅用于本地调试),解压后为java processor编译的jar包。
      "processor_mainclass": "com.alibaba.eas.TestProcessor", #java processor中实现Load()和Process()的主类名。
      "processor_type": "java",
      "metadata": {
         "resource": "eas-r-9lkbl2jvdm0puv****", #resource字段表示使用专属资源组部署服务。
         "instance": 1,
         "cpu": 1,
         "memory": 2000
      }
    }

    相关字段说明请参见
    命令使用说明。

  4. 部署调试。
    sudo eascmd test service.json

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/164105.html

(0)
上一篇 2023年12月10日
下一篇 2023年12月10日
详情页2

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。