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

前提条件

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

背景信息

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

操作步骤

  1. 登录PAI控制台
  2. 在左侧导航栏,单击算法发布。在算法发布页面,单击创建自定义算法
  3. 创建自定义算法面板,完成参数配置并单击确认,提交算法包。
    创建自定义算法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个字符,且只能包含英文或中文字符。
  4. 算法发布页面,单击右侧的添加版本
    添加版本
    说明 版本指组件的UI展示形式,只有配置了版本的算法才可以发布。
  5. 添加版本面板,输入版本号,单击确定
    添加版本
  6. 添加版本面板,单击前往配置,进入组件配置界面。
    组件配置界面
  7. 基础控件区域,选择合适的控件拖拽至参数设置区域。
    例如,上传案例中的pyspark.zip算法包后,您需要在基础控件区域拖拽两个单字段填写控件参数设置区域。
  8. 逐个单击参数设置区域的控件,配置基础信息。单击保存,完成控件配置。
    配置控件
    参数名称 描述
    Name 算法代码中参数的映射项。例如idCol,设置后,算法代码中的idCol信息是该组件的输入。
    标签 控件的展示名。
    converter 默认为无。
    绑定到输入/输出 绑定组件输入或输出桩。例如输入#1。
    支持的数据类型 控件支持的数据类型。取值范围为BIGINT、DOUBLE、BOOLEAN、STRING和DATETIME。至少需要选择一个数据类型。
  9. 返回算法发布页面,单击编辑版本。在编辑版本面板,单击使用此版本,此时算法达到可发布状态。
    使用此版本
  10. 返回算法发布页面,单击发布右侧的下拉图标,选择发布方式。
    发布
    • 发布到PAI-Studio:您需要选择发布的区域和项目,发布后组件只能在选择的项目下使用,并且主账号和子账号可共享该组件。本文以发布至PAI-Studio。
    • 发布到数加市场:生成的组件会发布到AI市场,供所有PAI用户下载及使用。
  11. 可选:如果发布至PAI-Studio,请返回PAI控制台,在左侧导航栏,单击Studio-可视化建模
  12. PAI可视化建模页面,在组件发布的项目右侧,单击进入机器学习,查看算法组件已成功发布。
    发布结果