分析应用开发基本流程:
1. 用Java, Python或Matlab开发分析代码
2. 添加分析代码包到分析目录服务做测试
3. 部署分析代码到生产环境
对于需要使用训练模型的分析应用,Predix分析框架需要分析应用遵循以下规则:
1. 模型训练应该不依赖于Predix分析框架
2. 模型训练一般要有针对一项资产的上下文
3. 训练的输出结果应该是分析代码或者分析内核
Java分析应用开发
1. 创建一个JDK 1.7的Java项目
2. 实现一个入口函数,入口函数的应该定义如下
3.创建一个json配置文件,标明入口函数的类和方法
4.生成jar
实例代码: https://github.com/PredixDev/predix-analytics-sample
Json配置文件示例
配置文件示例
conda库提供的软件包列表
https://docs.continuum.io/anaconda/pkg-docs
1. 用Java, Python或Matlab开发分析代码
2. 添加分析代码包到分析目录服务做测试
3. 部署分析代码到生产环境
对于需要使用训练模型的分析应用,Predix分析框架需要分析应用遵循以下规则:
1. 模型训练应该不依赖于Predix分析框架
2. 模型训练一般要有针对一项资产的上下文
3. 训练的输出结果应该是分析代码或者分析内核
Java分析应用开发
1. 创建一个JDK 1.7的Java项目
2. 实现一个入口函数,入口函数的应该定义如下
不需要模型:
public String entry_method(String inputJson) {
....
return "JSON String";
}
需要模型:
public String entry_method(String inputJson, Map<String, byte[]> inputModels) {
return "JSON String";
}
3.创建一个json配置文件,标明入口函数的类和方法
4.生成jar
实例代码: https://github.com/PredixDev/predix-analytics-sample
Json配置文件示例
{
"className": "com.ge.predix.analytics.demo.java.DemoAdderJavaEntryPoint",
"methodName": "add2Numbers"
}
Python 分析应用开发
入口函数示例
def entry_method(self, inputJson):
return {jsonobject: {}}
def entry_method(self, inputJson, inputModels = {}):
return {jsonobject:{}}
配置文件示例
{
"entry-method": "<entry-directory>.<entry-class>.<entry-method>",
"non-conda-libs": [
"boto"
],
"conda-libs": [
"numpy",
"scipy"
]
}
conda库提供的软件包列表
https://docs.continuum.io/anaconda/pkg-docs
Matlab 分析应用开发
1. 用Matlab写好分析函数
2. 用Matlab Builder for Java把m代码打包成jar.
3. 创建一个Java Project,并引用之前用Java Builder编译出来的Jar
4. 创建入口函数
5. 创建Json配置文件
6. 打包生成Jar
配置文件示例
{
"className": "com.ge.predix.analytics.demo.matlab.DemoMatlabAdderEntryPoint",
"methodName": "add2Numbers",
"matlabVersion": "r2011b"
}