钛是基于numpy的pmml模型的轻量化评估工具。
titanium的Python项目详细描述
钛是基于numpy的pmml模型的轻量化评估工具。使用钛合金,您可以预测 模型存储在pmml文件中,加载它并开始使用它进行新的预测。它的api与您可能知道的相同 当使用诸如keras或scikit learn等广为人知的机器学习库时,例如:
- 预测概率(x)
- 预测类(x)
它本机支持批处理,因为输入应该是2d numpy数组。有关支持型号的列表,请参见下文。
这个名字背后的概念是,钛作为元素是轻和极其耐用的材料。而且是 耐腐蚀性-在使用矩阵进行神经网络评估的背后有一个并行的数学模型 操作高于任何特定的实现。
安装
要安装钛合金,只需:
$ pip install titanium
示例
关于iris数据的示例-有关更多示例,请参阅examples文件夹。
fromkeras2pmmlimportkeras2pmmlfromsklearn.datasetsimportload_irisimportnumpyasnpimporttheanofromsklearn.cross_validationimporttrain_test_splitfromsklearn.metricsimportaccuracy_scorefromkeras.utilsimportnp_utilsfromkeras.modelsimportSequentialfromkeras.layers.coreimportDensefromsklearn.preprocessingimportStandardScalerimporttitaniumastiimportosiris=load_iris()X=iris.datay=iris.targettheano.config.floatX='float32'X=X.astype(theano.config.floatX)y=y.astype(np.int32)X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=.3)y_train_ohe=np_utils.to_categorical(y_train)y_test_ohe=np_utils.to_categorical(y_test)std=StandardScaler()X_train_scaled=std.fit_transform(X_train)X_test_scaled=std.transform(X_test)model=Sequential()model.add(Dense(input_dim=X_train_scaled.shape[1],output_dim=20,activation='tanh'))model.add(Dense(input_dim=20,output_dim=5,activation='tanh'))model.add(Dense(input_dim=5,output_dim=y_test_ohe.shape[1],activation='sigmoid'))model.compile(loss='categorical_crossentropy',optimizer='sgd')model.fit(X_train_scaled,y_train_ohe,nb_epoch=100,batch_size=1,verbose=3,validation_data=None)params={'copyright':'Václav Čadek','description':'Simple Keras model for Iris dataset.','model_name':'Iris Model'}keras2pmml(model,file='iris.pmml',**params)pmml=ti.read_pmml('iris.pmml')os.unlink('iris.pmml')keras_preds=model.predict_classes(X_test_scaled)titanium_preds=pmml.predict_classes(X_test_scaled)print('Accuracy (Keras): {accuracy}'.format(accuracy=accuracy_score(y_test,keras_preds)))print('Accuracy (Titanium): {accuracy}'.format(accuracy=accuracy_score(y_test,titanium_preds)))
支持什么?
- 型号
- keras.models.sequential
- 激活功能
- 谭
- 乙状结肠/logistic