算盘基础概念
组件
算盘中每一个执行逻辑都被封装成一个组件,在页面上显示为一个小方块,组件有输入和输出,通过在画布上连线来实现多个组件之间数联通与传输。
组件的四个概念:输入、输出、执行逻辑、参数。
- 输入:组件左侧的输入节点;
- 输出:组件右侧的输出节点;
- 执行逻辑:组件内的代码执行逻辑,封装好的公共组件不支持查看代码,新建组件通过 vscode 组件编辑代码生成;
- 参数:可以将执行逻辑中的参数暴露出来,放在参数设置中,使用这仅配置参数即可使用该组件;
算法开发
算法开发提供多种机器学习、深度学习框架支持,面向工业人工智能场景,为算法开发人员提供一套可图形化开发编程的环境,通过组件连接搭建算法模型,输入数据进行训练,验证算法准确率。训练好的模型可发布成服务进行线上调用或边缘部署应用。该方案有以下特性:
- 支持多源异构数据接入:既支持多种文件类型数据接入,也支持多种常用数据库数据接入,同时支持硬件以及流数据接入,帮助用户快速将构建好的模型进行训练与预测任务;
- 提供丰富的可拖拽组件包:支持多种机器学习与深度学习框架,并且有丰富的通用算法组件包可以快速应用于算法开发任务,算法开发人员只需关心核心算法流程的构建;
- 支持用户自动移算法模型:支持用户自定义算法组件,发布并复用于多个算法开发项目,实现业务与算法上的支持沉淀;
- 便捷的应用部署方式:支持模型一键部署,训练好的模型可以快速部署在生产环境,支持模型的定时训练、版本管理、模型评估与版本回滚。
通过多个具有算法功能的组件完成整个算法流程:数据上传 → 数据预处理 → 特征工程 → 机器学习 → 结果分析 → 迭代优化。
最后可以将训练好的模型导出成一个组件提供给下面的应用开发使用,做实时数据预测。
应用开发
通过多个具有应用开发能力的组件实现开发一个应用 APP,或者为其他系统提供可调用的 API。
后面板
在应用开发中,多个组件实现业务逻辑编排的页面叫后面板。
前面板
在应用开发中,前端组件组合实现Web页面设计的页面叫前面板。
组件的计算资源
可以给每个组件配置计算资源(算盘客户端不可配置),不配置系统会自动分配。当有多个项目启动时,会提示计算资源不足,出现此情况后可调整每个组件的计算资源,以合理分配最佳资源,保证项目都可运行。
组件ID
组件的唯一标识,可通过组件ID查询到画布中的节点是组件列表中的哪个组件。
节点ID
画布中组件的的唯一标识。
作者
当组件使用遇到问题时,可在雪浪云社区搜索组件作者进行留言。
节点样式
支持修改组件在画布中显示的样式,包括颜色、大小、图标。
输入/输出类型(数据格式)
组件输入输出有具体定义的数据类型,只有「上游节点输出」和「下游节点输入」的数据类型相同时,才能完成数据的传输,否则运行时连线处会有错误提示,以下为组件数据类型说明:
数据类型 | 说明 | 示例 |
---|---|---|
所有类型 | 自动接收所有类型的输入 | |
字符串 | 由数字、字母、下划线组成的一串字符 | "Hello World" |
数字 | 整型、浮点型等数字 | 321、1.2 |
布尔值 | True或者False | True、False |
对象 (Json) | 符合Json格式的对象 | [{"a":1},{"b":2}],{"a":1,"b":2} |
表格 | 二维数组,数据的第一行为表头,然后依次为第一行数据、第二行数据,以此类推 | [["id","name","value"],["1","xiaxia","3"],[“2”,"lanlan","33"]] |
向量 | 实数一维数组 | [0,2,3.567,-0.555] |
系统事件 | 默认接受所有广播信息中的系统事件 | Dashboard Refresh(前面板刷新) |
文件 | 任何类型文件,接收后由用户自行解析 | t.txt、t.py |
Npy文件 | NumPy对象 | numpy.array |
图片 | 图片文件 | img、jpg |
Csv文件 | Csv文件或DataFrame | andas.Dataframe、t.csv |
模型 | 机器学习模型文件 | tensorflow模型 |
组件高级配置
组件间数据接收方式
同步接收:所有数据都接收到才进行计算;
异步接收:单个数据接收到即触发计算。
示例说明: 公式编辑器的输入为a、b,输出为c,a=1,b=2。 计算c=a+b。 使用同步接收时,c=3;使用异步接收则输出异常,输入日志显示a=1,b=null(a和b不是同时接收到)。
基础概念可以在快速入门的案例中逐步理解,现在您可以通过参考 [快速入门第二篇](https://xuelangyun.yuque.com/docs/share/c9d49fc2-6ce6-45f2-88de-4b92aa3d6015?# 《算盘入门第二篇-应用开发》) 搭建第一个应用。