下層庫所有向renascence架構提供的函數,其輸入輸出都必須給一個對應的繼承于istatustype的類,用于讀取、儲存、映射、釋放該類型。
下層庫需要提供如下形式的标準函數:
gpcontents 中包含一組帶類型定義的資料:
鑒于直接寫這種類型的函數比較複雜,可以按如下方式,在需要導出的函數(函數本身需要保證單輸出,不改輸入,不改變全局、靜态變量)前加 <code>/*gp function*/</code>,然後執行 tools/makegpfunction.py,自動生成對應的函數。
下面是機器學習庫中的導出例子:
最終需要提供一個函數表,這個函數表可以在運作makegpfunction.py時自動生成。
如上面的例子:
見 doc/formula.txt
1、基本形式:
f(x0, g(x1, h(x2), f(x2, x3)));
f(x0, adf[name, x0,x1,f(x0,x3)])
2、符号說明:
f、g、h:函數的簡寫或全寫,在xml格式的metadata中提供
x0-xn:輸入變量名,必須從x0開始,中間不允許間斷,此函數建構完成後的adf,必須按由小到大的順序組織輸入變量
adf:自動生成标志
name:adf别名,必須取一個獨特的名字,以便後續使用
f(x0,x3):此表示adf的一個輸入為固定的函數
3、自動生成
自動生成是将某一個輸入變量改由指定了輸入的子函數替代,子函數由gp庫去搜尋得出
格式為 adf[name, x1, x2, x3, f(x0,x1), …]
自動生成函數的輸入由[]中的内容描述,按類型:輸入變量編号來排,輸出類型就是該位置上的輸入所應有的類型
自動生成的函數确定用完所有輸入,但有可能會重複利用
就當做一般的c++庫使用,對外接口均封裝在
include/user/gpapi.h
先安裝 swig,然後進入python-renascence/module,運作 ./build_source.sh && sudo python setup.py install,這樣安裝好。
下面這個例子使用 renascence架構,調用機器學習庫作一次時間序列的預測: