-
Notifications
You must be signed in to change notification settings - Fork 440
EasyML User's Guide
本文简要介绍了EasyML所包含的网页、模块和功能,以及如何使用EasyML搭建简单的项目工程,还有使用过程中的一些注意事项。
首先,使用EasyML的第一步就是使用Chrome(谷歌浏览器)访问EasyML的部署网址。使用者可以在EasyML的导航页上进行注册和登录或者通过Guest进行登录。
为方便用户使用,目前EasyML使用一个公共账号进行登录操作,账号[email protected]
,密码bdaict
,输入账号密码进行登录,然后进入工作台面板。
登陆成功以后,网页会跳转到工作台操作页面。在这个工作台,用户可以构建自己需要的机器学习任务和查看已经在执行的任务,这个页面主要分如下几个功能区域:
在综合管理区,我们可以通过Create Job
按钮来新建一个任务,还可以上传程序和数据,登出和进行后台管理;
在左侧的列表区,我们可以根据需要进行任务、程序和数据的选择和相关操作(删除、编辑、更新等);右侧是任务和程序模块的详细信息展示。 中间的画布区可以进行任务的绘制和控制等操作。
在创建一个新任务时,用户可以在左侧程序和数据列表区选择自己需要的程序和数据节点,然后进行绘制和参数调整:
除此之外,还可以根据任务列表里已经有的任务,找到需要的模板进行克隆(Clone),被克隆过的任务经过再编辑和调整,就可以得到自己需要的任务了。
- 在绘制好任务和调整完参数之后,用户就可提交任务给服务端执行了,注意要输入一个有效的Job Name,还可以根据需要输入任务的描述信息(Description),然后点击
Submit
进行提交:
- 提交完任务之后,系统会自动跳转到监控状态页。
在任务执行时,用户可以实时监控任务和单个节点的执行状态,并且可以查看已经执行了的节点的日志。
任务和任务的节点会有SUCCESS(成功)、RUNNING(正在执行)、KILLED(被中断)、SUSPEND(挂起) 几种状态。SUCCESS是执行成功的状态,RUNNING是正在执行的状态,KILLED是因为未知的程序错误或者用户自己的Stop操作而被停止的任务,SUSPEND是因为系统环境问题(如内存被写满)或者用户操作而被暂停任务。
- 右侧的Job信息区可以看到整个任务的执行状态,绘图区节点的颜色代表了节点的执行状态:
- 我们也可以通过绘图区下方的
STOP
按钮主动杀死一个任务,或者通过Refresh
手动刷新任务的状态。
当一个程序节点执行完成,处于SUCCESS(绿色)或者KILLED(红色)的时候,用户可以查看程序的输出Log(StdOut和StdErr)和输出数据。
- 通过右键点击程序节点,在菜单里面选择
显示标准输出
和显示标准错误
来查看StdOut和StdErr:
- 在经过短暂的响应时间后,就会弹出相应的显示面板(这些输出log在调试程序的时候显得十分重要):
- 查看结果数据,可以用鼠标右键点击需要查看的节点的绿色输出点,然后系统会自动弹出数据预览面板:
- 在弹出面板中,查看输出路径的全部文件列表和内容预览(目前只支持预览,不能查看全部),还可以通过
下载
和保存
将文件下载到本地查看或者保存在服务器端,保存的数据会出现在左侧Data列表中用户选择的目录下:
在EasyML中,用户可以根据自己的需要管理属于自己的程序、数据和任务,我们会提供新建、编辑、升级和删除等功能方便用户使用。
除了系统提供的系统程序和数据,用户还可以根据自己的需求上传自己需要的程序和数据,以此来搭建属于自己的任务。
- 上传数据时需要在客户端点击
Upload Data
按钮,然后就会弹出构建好的上传面板,在上面填写好程序的 Name(名称)、Category(所属分类)、Datatype(数据类型TSV和CSV格式等)和Description(描述) 等信息,在面板左下角选择好要传的数据文件,然后点击Submit
进行提交:
- 首先,用户要将自己要执行的程序进行打包,系统规定的标准时打成zip格式的压缩包 (必须要保证程序的可执行包等包含在一个文件夹中,再对该文件夹进行打包) 如对Logistic_Regression的单机训练包local.jar包进行程序上传,则目录结构为:
-
在客户端点击
Upload Program
按钮,然后就会弹出构建好的上传面板,在上面填写相关信息; -
点击
Submit
按钮进行上传:
-
Type 决定了程序的执行方式,包括三种程序类型(目前ETL和可编程节点功能尚未集成到EasyML中,后续会整合):
1.
Standalone
单机的执行方式,例如执行一个java或python程序;2.
Distributed
分布式的执行方式,如一个Spark的算法包;3.
ETL
ETL模块的类型,进行数据的读入和写出的模块。 -
Programable 决定了程序是否是可编程节点,这类程序会在以后的章节中进行说明,除了该类型的程序,其他的程序在此处都选择no
- Determinacy 标识程序是否是一个确定性的程序,是否有Bug存在等问题
命令行要执行程序时的启动语句,在EasyML中如果想让自己的程序能够运行成功,需要在上传自己程序时提交我们规定格式的命令行。
命令行由CMD头和参数表组成。CMD头是基本的程序提交语句,每个该类型程序都不会改变,如"spark-submit...
"; 参数表是该类程序的可变参数,如输入信息,输出信息和参数信息等,我们将参数表的书写格式进行了如下定义:
-
输入文件占位符:{in:文件类型:"文件描述"}
-
输出文件占位符:{out:文件类型,存储类型:"文件描述" }
-
数值类占位符:["参数名":参数类型,最小值,最大值:default,默认值]
-
数值类参数的类型为int、double其中参数的最小值和最大值可选:
-
没有最大值最小值:["参数名":参数类型:default,默认值]
-
只有最小值:["参数名":参数类型,最小值:default,默认值]
-
只有最大值:["参数名":参数类型,,最大值:default,默认值]
-
bool类型占位符:["参数名":bool:default,默认值]
-
string类型占位符:["参数名":string:default,"默认值"]
-
可编程节点脚本占位符:("描述")
在上传的面板上,有辅助工具帮助用户来生成命令行:
对于用户自己上传的数据,可以进行升级和编辑。升级需要重新传程序压缩包,而编辑不需要。
每个用户都可以删除属于自己的程序、数据和任务。
当用户的程序和数据太多不易于查找时,用户可以通过左侧面板的搜索框,输入需要搜索的程序、数据或任务名,点击回车按钮,搜索框下方会自动进行全局的数据搜索并将搜索结果显示于下方。
-
Installation And Introduction
-
Sample Description
-
Tips For Developers
-
Problem Summary