概述

在人工智能领域存在这样的现象,很多用户有人工智能的需求,但是没有相关的技术能力。另外有一些人工智能专家空有一身武艺,但是找不到需求方。这意味着在需求和技术之间需要一种连接作为纽带。

今天PAI正式对外发布了“AI市场”以及“PAI自定义算法”两大功能,可以帮助用户5分钟将线下的spark算法或是pyspark算法发布成算法组件,并且支持组件发布到AI市场供更多用户使用。有了以上功能,算法开发者和算法需求双方可以基于PAI的开放框架和平台实现算法交易,实现生态和PAI的共融。

详细使用说明

价格说明

使用SQL、SPARK2.0、PYSPARK2.0 3种算法框架自行开发出的算法上传到PAI-STUDIO中,运行产生的费用按照PAI资源成本价收取,费用为1元/计算时。

功能详解

1.控制台说明

首先进入PAI控制台,找到Studio-可视化建模下的“算法发布”功能。

2.开发算法代码

基于本地调试文档https://help.aliyun.com/document_detail/126887.html,开发算法包。本文使用官方提供的pyspark案例介绍,请前往https://help.aliyun.com/document_detail/126889.html下载。

3.点击“创建自定义算法”

  • 算法名称:算法组件的名字
  • 算法唯一标示:算法的后台唯一标识,可以用来查询日志等信息
  • 算法框架:sql、spark、pyspark
  • 算法包:如果是sql算法,需要上传sql脚本。spark算法提交的是打包好的jar包。pyspark提交的是工程打包好的zip文件
  • 算法种类:算法包发布到PAI-STUDIO后所在的文件夹
  • 入口参数:sql组件不需要、spark需要写jar包的入口类(例:com.aliyun.odps.spark.examples.simhash.SimHashSpark)、pyspark需要写入口的py文件和入口函数(中间用.分隔)

本文使用官方提供的pyspark算法包,上传pyspark.zip文件,输入入口文件和入口函数

read_example.mainFunc

如图:

4.编辑版本

提交算法包后,在控制台可以看到算法包实例,这时候需要为算法包配置UI展示相关内容。

这里的版本指的是组件的UI展示形式,只有配置了版本的才可以发布。

点击添加版本:

点击前往配置进入组件配置界面,所有算法组件的配置可以通过拖拽的形式可视化操作。

5.组件UI编辑

组件的输入和输出桩可以在下图部分自由控制,本案例实现的是读一个表然后把其中两个字段写到另一个表里,对应代码中的inputTable1和outputTable1,如果多个输入输出桩可以在代码中定义inputTable2、inputTable3等,组件桩会自动映射。

    #定义输入节点
INPUT_TABLE = arg_dict["inputTable1"]
OUTPUT_TABLE = arg_dict["outputTable1"]
ID_COL = arg_dict["idCol"]
CONTENT_COL = arg_dict["contentCol"]

本案例只使用了一个输入和一个输出,这部分不需要修改。

接下来编辑配置信息,在上述代码中除了inputTable和outputTable这两个参数,剩下的所有参数都要对应到组件的基础控件。本案例中idCol和contentCol两个参数对应的是输入表中选择的两个字段,都是单选。在左侧基础控件中找到“单字段填写控件”,因为是两个参数,所以拖两个出来。

单击第一个控件,在右侧基础信息中进行配置。

  • Name(必选项):算法代码中参数的映射项,本案例应该写idCol。设置好后,说明算法代码中拿到的idCol信息就是该组件的输入
  • 标签:该控件的展示名
  • converter:一般不用填写
  • 绑定输入/输出:组件输入输出桩的绑定,本案例选择输入#1
  • 支持的数据类型:默认全部支持

分别配置两个控件的信息对应到idCol和contentCol。

6.发布组件

编辑好UI版本,记得点击下方的保存按钮。

回到控制台,刷新页面,点击“使用此版本”

这时候组件就可以发布了,

发布分两种:

  • 发布到PAI-STUDIO:发布到PAI-STUDIO需要选择区域和项目,发布过去的组件只能在当前项目下使用,并且主子账号共享
  • 发布到数加智能市场:生成的组件会发布到AI市场,供所有PAI用户下载使用

7.组件调用

进入组件发布的PAI-STUDIO项目,在左侧“组件”tab下找到“自定义算法”文件夹,可以找到发布的算法并使用

本文作者:傲海

原文链接

本文为云栖社区原创内容,未经允许不得转载。

最新文章

  1. 如何消除inline-block元素间间距问题(转)
  2. 深度学习(dropout)
  3. Js图片切换
  4. SQL批量更新数据库中所有用户数据表中字段类型为tinyint为int
  5. C#的 构造函数 和 方法重载
  6. Pgsql数据库jsonb操作函数集合
  7. C#获取字符串生成图片后的长度
  8. 深入理解Java虚拟机:OutOfMemory实战
  9. linux下Oracle11g RAC搭建(九)
  10. [译]Java 设计模式之迭代器
  11. [3.24校内训练赛by hzwer]
  12. mybatis_异常
  13. 洛谷 P1739 表达式括号匹配
  14. LeetCode--387--字符串中的第一个唯一字符
  15. python-day71--django多表双下划线查询及分组聚合及F/Q查询
  16. py库: pyautogui (自动测试模块,模拟鼠标、键盘动作)
  17. linux操作系统重启后 解决nginx的pid消失问题
  18. 001.Parted工具使用
  19. J2SE 8的Lambda --- Comparator
  20. webpack命令局部运行的几种方法

热门文章

  1. Ubuntu 安装gnome桌面及vnc远程连接
  2. OSG实现利用菲波那契网格(Fibonacci lattice 或 Fibonacci grid)均分球面
  3. iOS开发系列-SQLite
  4. [转]WPF and Silverlight 学习笔记(二十五):使用CollectionView实现对绑定数据的排序、筛选、分组
  5. innodb状态
  6. List--使用List作为堆栈和队列
  7. js获取url链接中的域名部分
  8. Java内功修炼系列一责任链模式
  9. day65——day69
  10. C#通过鼠标点击panel移动来控制无边框窗体移动