Renascence架构简介

简介: Renascence架构Renascence架构是 A-GP-B 式的桥梁架构,它要求下层库不直接对外提供接口,而是往GP库注册函数,上层库用GP公式间接调用下层库的代码。 GP库位于应用与lib库之间,作为应用调用lib库的桥梁而存在,它本身不依赖任何基础库。上层调用通过引入训练这一过程,应用跨平台的问题有了最好的解决方案,即在安装过程中,应用提供一个模板

Renascence架构

Renascence架构是 A-GP-B 式的桥梁架构,它要求下层库不直接对外提供接口,而是往GP库注册函数,上层库用GP公式间接调用下层库的代码。
GP库位于应用与lib库之间,作为应用调用lib库的桥梁而存在,它本身不依赖任何基础库。

上层调用

通过引入训练这一过程,应用跨平台的问题有了最好的解决方案,即在安装过程中,应用提供一个模板供平台训练,得到适合的实际运行的程序,然后应用在运行时用该程序就可以。
应用本身无须考虑平台问题,在任一平台下功能自动兼容、性能自动达到最优,而这是HTML5技术所做不到的。

训练

在应用安装/升级时,执行这一步骤
ADF训练

使用

在应用运行时,执行这一步骤,生成的ADF需要通过GP去执行(后续可能做相应优化,将ADF变成代码,生成一个新库)
ADF使用

训练过程的作用

1、允许自动化参数调节

写程序,尤其是算法类程序时,调参数是不可避免的事情,比如梯度下降中的学习速率,遗传算法中的变异比率、交叉比率,图像模糊算法中模糊半径。做代码优化时也会配置不少参数,如多线程优化中开启的线程数,开启多线程优化的阈值,使用OpenCL时device端缓存的大小,一次运算的globalsize, localsize,等等。
Renascence可提供一个框架,以公式链接起来的所有函数参数,会通过一个通一的方案调优。既然要调优,自然,优化的目标是什么,需要应用指定的:对优化而言,是时间的快慢;对预测而言,是准确率;对图像去噪而言,是与原图的信噪比。但如果是对于图像美化这种主观因素比较强的情形,没有什么比较好的评价函数,这时Renascence可提供一个枚举的机制,得出一系列参数——结果表,由人眼再去鉴别。

2、允许部分程序逻辑根据实际应用场景动态生成与调节

(1)类型自动匹配
如机器学习库中,对一批数据做K-Means聚类,模型输入的是矩阵(MATRIX),但数据可能源于是数据库(DATABASE),也可能是csv文件(CS >)
输入如下公式:KMeans(ADF(x0)),并在运行时指定x0的类型是DATABASE/CSV,Renascence便会去找能把DATABASE/CSV转化为矩阵MATRIX的函数,然后再与 KMeans 这个函数接起来。
(2)算法遍历寻优
如数据预测回归有 CART、线性回归等方法。写如下公式,可完成建模与预测:
Predict(ADF(x0), x1)
x0 为训练集,x1为测试集,这个公式中 ADF(x0)会对应翻译为某一种回归方法,在 OptInfo 中加入评价函数后,会去训练一个最优算法。

下层适配

下层lib库需要按GP的标准提供库函数,并且提供相应的库描述文件。

代码结构

对外接口

include/user 目录下为上下层的接口。
上层调用使用 GPAPI 中提供的函数,另外,一般而言需要使用GP公式。
下层适配使用IFunctionTable、GPContents等数据结构。

仿编译器架构

仿编译器架构

前端

公式——GPFunctionTree
GP的前端比较特别,它不仅是语法解析,还包括了遗传规划算法的自动逻辑生成。

中端

主要作子树去重优化。

后端

GPFunctionTree——ADF
将 GPFunctionTree转化为 ADF,目前主要是树形(无优化)、图形(带优化)和流式(允许间断输入)。

寻优算法

optimizor 下为相对独立的参数寻优算法,目前主要包括优选法(黄金618法)、网格法、粒子群算法(PSO)。其中优选法最快,但效果一般,网格法可以保证无遗漏,但极慢,粒子群算法为启发式算法,结果有一定随机性。
evolution下为遗传规划算法,用于优化函数结构。

目录
相关文章
|
6月前
|
监控 负载均衡 测试技术
服务网格简介:探索现代微服务架构中的服务网格概念和价值
服务网格简介:探索现代微服务架构中的服务网格概念和价值
106 0
|
7月前
|
存储 人工智能 Serverless
微服务和 Serverless 架构-函数计算 FC 简介及应用场景
微服务和 Serverless 架构-函数计算 FC 简介及应用场景
739 0
微服务和 Serverless 架构-函数计算 FC 简介及应用场景
|
1月前
|
消息中间件 存储 SQL
Flume【基础知识 01】简介 + 基本架构及核心概念 + 架构模式 + Agent内部原理 + 配置格式(一篇即可入门Flume)
【2月更文挑战第18天】Flume【基础知识 01】简介 + 基本架构及核心概念 + 架构模式 + Agent内部原理 + 配置格式(一篇即可入门Flume)
471 0
|
1月前
|
分布式计算 API 数据处理
Flink【基础知识 01】(简介+核心架构+分层API+集群架构+应用场景+特点优势)(一篇即可大概了解flink)
【2月更文挑战第15天】Flink【基础知识 01】(简介+核心架构+分层API+集群架构+应用场景+特点优势)(一篇即可大概了解flink)
60 1
|
2月前
|
边缘计算 Kubernetes 物联网
大规模 IoT 边缘容器集群管理的几种架构 -0- 边缘容器及架构简介
大规模 IoT 边缘容器集群管理的几种架构 -0- 边缘容器及架构简介
|
2月前
|
存储 消息中间件 API
|
8月前
|
存储 负载均衡 应用服务中间件
单机架构与主从架构简介
单机架构与主从架构简介
76 0
|
4月前
|
SQL 关系型数据库 MySQL
Presto【基础 01】简介+架构+数据源+数据模型+特点(一篇即可入门支持到PB字节的分布式SQL查询引擎Presto)
Presto【基础 01】简介+架构+数据源+数据模型+特点(一篇即可入门支持到PB字节的分布式SQL查询引擎Presto)
56 0
|
11月前
|
负载均衡 容灾 网络协议
《云上容灾交付服务白皮书》——2.容灾技术架构——21容灾技术架构简介(上)
《云上容灾交付服务白皮书》——2.容灾技术架构——21容灾技术架构简介(上)
359 0
|
6月前
|
存储 运维 关系型数据库
直播预告 | PolarDB-PG架构简介及日常运维浅析
本次分享将先从架构、特性、开源等三个维度解读PolarDB-PG的整体架构。在大家对架构有一定深入理解后,将继续从备份恢复、存储层、计算层扩容、只读节点提升、高可用等五个维度,对PolarDB-PG的日常运维进行深入浅出的介绍,为“唯手熟尔”的运维打好理论基础。