永洪社区

标题: 深度分析插件开发实战(一) [打印本页]

作者: rory    时间: 2020-11-2 11:58
标题: 深度分析插件开发实战(一)
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






欢迎光临 永洪社区 (http://club.yonghongtech.com/) Powered by Discuz! X3.4