1.1 数据变换插件开发本案例以抽样插件为例,实现按比例抽样和有序抽样两个功能
1.1.1 创建新工程(1)进入Yonghong DM-Engine解压目录中bin文件夹,点击启动startDeployEnv.bat。
(2)输入命令:python -m yonghong -npath/to/your/project
file:///C:/Users/ADMINI~1.L5O/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg 图 5.1‑1创建新工程
(3)用IDE(本案例使用Pycharm)打开工程,目录结构如图所示:
file:///C:/Users/ADMINI~1.L5O/AppData/Local/Temp/msohtmlclip1/01/clip_image004.jpg 图 5.1‑2工程目录结构
(4)设置DM-engine解释器
File→Settings→Project→Project Interpreter,点击下拉列表
file:///C:/Users/ADMINI~1.L5O/AppData/Local/Temp/msohtmlclip1/01/clip_image006.jpg 图 5.1‑3Project Interpreter
选择DM_engine,点击OK;在ProjectInterpreter界面点击OK,完成设置
file:///C:/Users/ADMINI~1.L5O/AppData/Local/Temp/msohtmlclip1/01/clip_image008.jpg 图 5.1‑4选择DM_engine
(5)编辑manifest.xml文件:
表 5.1‑1抽样插件manifest.xml文件内容
标签名称 | 标签释义 | 内容 | 示例图 | 父标签 | plugin-version | 插件版本号 | 1.0 | | manifest | engine-version | 引擎版本号 | 1.1 | | manifest | change-information | 版本更新信息 | 初次开发可以不填写该信息,后续插件更新可酌情填写 | | manifest | description | 插件描述 | 可采用空格和换行符进行文字布局 | 图 5.1‑5 | node | label | 插件名称 | 采样 | | node | path | 插件路径 | /数据变换 | | node | type | 插件类型 | transformer | | node | hyperparameters | 超参数设置 | 下拉列表参数,可采用dependent-parameters标签设置参数联动 | | node | parameter:采样方式 | | 字符串——下拉列表 | 图 5.1‑6 | hyperparameters | parameter:采样比例 | | 浮点型——根据scope标签校验数值范围 | 图 5.1‑7 | hyperparameters | parameter:放回 | | 布尔型——下拉列表 | 图 5.1‑8 | hyperparameters | parameter:随机种子 | | 整型——根据scope标签校验数值范围 | 图 5.1‑9 | hyperparameters | used-columns | 选定列的组 | 一个purpose标签代表一个特定目的的字段列表,传递至后端 | | node | purpose:采样列 | | 选择在哪些列上进行采样 | 图 5.1‑10 | used-columns | outputs | 插件输出 | 定义插件输出信息 | | node | output:数据集 | | 输出采样后的数据集 | 图 5.1‑11 | outputs |
参数实例如下组图所示:
file:///C:/Users/ADMINI~1.L5O/AppData/Local/Temp/msohtmlclip1/01/clip_image010.jpg
| file:///C:/Users/ADMINI~1.L5O/AppData/Local/Temp/msohtmlclip1/01/clip_image012.jpg
| 图 5.1‑5 description标签
| 图 5.1‑6parameter:采样方式
| file:///C:/Users/ADMINI~1.L5O/AppData/Local/Temp/msohtmlclip1/01/clip_image014.jpg
| file:///C:/Users/ADMINI~1.L5O/AppData/Local/Temp/msohtmlclip1/01/clip_image016.jpg
| 图 5.1‑7 parameter:采样比例
| 图 5.1‑8 parameter:放回
| file:///C:/Users/ADMINI~1.L5O/AppData/Local/Temp/msohtmlclip1/01/clip_image018.jpg
| file:///C:/Users/ADMINI~1.L5O/AppData/Local/Temp/msohtmlclip1/01/clip_image020.jpg
| 图 5.1‑9 parameter:随机种子
| 图 5.1‑10purpose:采样列
| file:///C:/Users/ADMINI~1.L5O/AppData/Local/Temp/msohtmlclip1/01/clip_image022.jpg
|
| 图 5.1‑11output:数据集
|
| (6)在src文件夹下编写代码
首先,在src文件夹下新建utils.py,编写有序采样函数:
file:///C:/Users/ADMINI~1.L5O/AppData/Local/Temp/msohtmlclip1/01/clip_image024.jpg
| file:///C:/Users/ADMINI~1.L5O/AppData/Local/Temp/msohtmlclip1/01/clip_image026.jpg
| 图 5.1‑12 建立utils.py文件,并编写有序采样函数
|
在main.py中可将刚编写完成的函数引入,并编写主体运行流程:
file:///C:/Users/ADMINI~1.L5O/AppData/Local/Temp/msohtmlclip1/01/clip_image028.jpg 图 5.1‑13主体代码
1.1.2 测试代码(1)可从外部读取测试数据,或者从sklearn.dataset模块引入数据,该实例采用读取外部数据方式进行测试。
file:///C:/Users/ADMINI~1.L5O/AppData/Local/Temp/msohtmlclip1/01/clip_image030.jpg file:///C:/Users/ADMINI~1.L5O/AppData/Local/Temp/msohtmlclip1/01/clip_image032.jpg | file:///C:/Users/ADMINI~1.L5O/AppData/Local/Temp/msohtmlclip1/01/clip_image034.jpg | 图 5.1‑14目录结构和测试数据
| 图 5.1‑15testplugin.py
| (2)点击AddConfiguration,创建测试
file:///C:/Users/ADMINI~1.L5O/AppData/Local/Temp/msohtmlclip1/01/clip_image036.jpg 图 5.1‑16创建测试入口
(3)点击加号file:///C:/Users/ADMINI~1.L5O/AppData/Local/Temp/msohtmlclip1/01/clip_image038.jpg,选择“Unittests” file:///C:/Users/ADMINI~1.L5O/AppData/Local/Temp/msohtmlclip1/01/clip_image040.jpg 图 5.1‑17创建Unittests
(4)设置Unittests信息,点击OK
file:///C:/Users/ADMINI~1.L5O/AppData/Local/Temp/msohtmlclip1/01/clip_image042.jpg 图 5.1‑18测试信息
(5)运行测试或者debug
file:///C:/Users/ADMINI~1.L5O/AppData/Local/Temp/msohtmlclip1/01/clip_image044.jpg 图 5.1‑19运行或者Debug
(6)测试信息
file:///C:/Users/ADMINI~1.L5O/AppData/Local/Temp/msohtmlclip1/01/clip_image046.jpg 图 5.1‑20测试信息
1.1.3 Build插件(1)进入Yonghong DM-Engine解压目录中bin文件夹,点击启动startDeployEnv.bat
(2)输入命令:python -m yonghong -bpath/to/your/project path/to/your/destination
file:///C:/Users/ADMINI~1.L5O/AppData/Local/Temp/msohtmlclip1/01/clip_image048.jpg 图 5.1‑21 插件build命令和输出信息
(3)在指定文件夹下build生成jar包——采样_v1.0_engine1.1_20200803135241.jar
|