PAI自定义算法上传功能支持您使用SQL、Spark 2.0或Pyspark 2.0框架自行开发算法,并将算法封装为一个组件上传至PAI-Studio。同时您可以将算法发布至AI市场,供更多用户使用。本文为您介绍如何开发并发布自定义算法。

前提条件

已开发算法包,操作详情请参见开发算法包。算法包案例请参见算法包示例

背景信息

将使用SQL、Spark 2.0或Pyspark 2.0框架自行开发的算法上传至PAI-Studio后,系统会按照PAI资源成本价收取运行费用,费用为1元/计算时。

操作步骤

  1. 进入算法管理页面。
    1. 登录PAI控制台
    2. 在左侧导航栏,选择AI资产管理 > 算法管理
  2. 创建自定义算法。
    1. 算法管理页面。单击创建自定义算法
    2. 创建自定义算法面板,配置如下参数,并单击确认
      创建自定义算法1
      参数名称 描述
      算法名称 自定义算法组件的名称。长度不超过10个字符,且只能包含英文或中文字符。例如pyspark。
      算法唯一标识 算法的后台唯一标识,可以用来查询信息,例如日志信息。只能包含英文字符或数字,且不能为空。
      算法框架 自定义算法组件采用的框架类型。取值范围为SQL、SPARK和PySPARK。
      算法包 算法包文件。
      • 如果算法框架是SQL,需要上传SQL脚本。
      • 如果算法框架是SPARK,需要上传打包好的JAR包。
      • 如果算法框架是PySPARK,需要上传打包好的ZIP文件。
        说明 使用Mac系统重新打包时,系统会在ZIP包里多增加一层目录,会造成PySPARK运行失败。待运行的文件必须在ZIP包根目录,建议使用Linux打包命令。
      算法包案例请参见算法包示例
      算法种类 自定义算法发布至PAI-Studio的文件夹位置。取值范围为数据处理、数据分析、文本分析和其它。
      入口参数 配置入口文件和入口函数。仅当算法框架取值为PySPARK时,才需要配置该参数。例如read_example.mainFunc
      入口类名 配置入口类。仅当算法框架取值为SPARK时,才需要配置该参数。例如com.aliyun.odps.spark.examples.simhash.SimHashSpark
      备注 补充信息。长度不超过30个字符,且只能包含英文或中文字符。
  3. 为算法添加版本。
    说明 版本指组件的UI展示形式,只有配置了版本的算法才可以发布。
    1. 算法管理页面,单击目标算法版本管理列下的添加版本
      添加版本
    2. 添加版本面板,输入版本号备注,单击确定添加版本
    3. 添加版本面板,单击上一步中已添加的版本操作列下的前往配置前往配置
    4. 在组件配置页面(如下图)的左侧基础控件区域,选择合适的控件拖拽至中间的参数设置区域。组件配置界面
      例如,上传案例中的pyspark.zip算法包后,您需要在基础控件区域拖拽两个单字段填写控件参数设置区域。
    5. 逐个单击参数设置区域的控件,配置基础信息。单击页面下方的保存图标,完成控件配置。
      配置控件
      参数名称 描述
      控件类型 例如,单字段填写控件。
      Name 算法代码中参数的映射项。例如idCol,设置后,算法代码中的idCol信息是该组件的输入。
      标签 控件的展示名。
      提示文本 控件的提示信息。
      长提示文本 控件的长提示信息。
      converter 默认为无。
      绑定到输入/输出 绑定组件输入或输出桩,取值范围包括输入#1输出#1
      支持的数据类型 控件支持的数据类型。取值范围为BIGINT、DOUBLE、BOOLEAN、STRING和DATETIME。至少需要选择一个数据类型。
      必填 默认为非必填。
      默认不可用 默认该控件可用。
    6. 算法管理页面,单击编辑版本。在编辑版本面板,单击目标版本操作列下的使用此版本,此时算法达到可发布状态。
      使用此版本
  4. 发布算法。
    1. 算法管理页面,单击目标算法操作列下发布右侧的下拉图标,选择发布方式。
      发布
      • 发布到PAI-Studio:您需要选择发布的区域和项目,发布后组件只能在选择的项目下使用,并且阿里云账号和RAM用户可以共享该组件。本文以发布至PAI-Studio。
      • 发布到数加市场:生成的组件会发布到AI市场,供所有PAI用户下载及使用。
    2. 如果发布至PAI-Studio,您可以在PAI-Studio的项目空间中查看已发布的算法。发布结果