forked from docs/modelarts
6.0 KiB
6.0 KiB
XGBoost
Training and Saving a Model
|
|
After the model is saved, it must be uploaded to the OBS directory before being published. The config.json and customize_service.py files must be contained during publishing. For details about the definition method, see Model Package Specifications.
Inference Code
# coding:utf-8
import collections
import json
import xgboost as xgb
from model_service.python_model_service import XgSklServingBaseService
class user_Service(XgSklServingBaseService):
# request data preprocess
def _preprocess(self, data):
list_data = []
json_data = json.loads(data, object_pairs_hook=collections.OrderedDict)
for element in json_data["data"]["req_data"]:
array = []
for each in element:
array.append(element[each])
list_data.append(array)
return list_data
# predict
def _inference(self, data):
xg_model = xgb.Booster(model_file=self.model_path)
pre_data = xgb.DMatrix(data)
pre_result = xg_model.predict(pre_data)
pre_result = pre_result.tolist()
return pre_result
# predict result process
def _postprocess(self,data):
resp_data = []
for element in data:
resp_data.append({"predictresult": element})
return resp_data