日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

XGBoost/LightGBM

EAS內(nèi)置的GBDT Processor(包括XGBoost、LightGBM),支持將相應格式的模型部署成在線服務,并提供在線實時推理。本文為您介紹如何部署及調(diào)用GBDT模型服務。

背景信息

GBDT(Gradient Boosted Decision Trees)是一類機器學習算法,XGBoostLightGBM是算法對應的高效工程實現(xiàn)。

Designer上,使用GBDTXGBoost組件訓練的算法模型導出成相應格式,或您自己的模型均可部署到EAS中。

重要

Designer上導出的GBDT模型可以直接通過PMMLProcessor來進行部署,詳情請參見PMML

步驟一:部署服務

使用eascmd客戶端部署模型服務時,您需要指定processorxgboostlightgbm,服務配置文件示例如下:

{
  "name": "gbdt_example",
  "processor": "<processor類型>",
  "model_path": "http://examplebucket.oss-cn-shanghai.aliyuncs.com/models/xgb_model.json",
  "metadata": {
    "instance": 1,
    "cpu": 1
  }
}

其中:<processor類型>需要替換為xgboostlightgbm

當模型較大時,因模型編譯功能可能會占用比較大的內(nèi)存,建議您使用特定的自定義Processor進行模型部署。服務配置文件示例如下:

{
  "name": "gbdt_example",
  "processor_type": "python",
  "processor_path": "https://eas-data.oss-cn-shanghai.aliyuncs.com/processors/xgboost_processor_notreelite.tar.gz",
  "processor_entry": "xgboost_inference.py",
  "model_path": "http://examplebucket.oss-cn-shanghai.aliyuncs.com/models/xgb_model.json",
  "metadata": {
    "instance": 1,
    "cpu": 1
  }
}

關于如何使用客戶端工具部署服務,詳情請參見服務部署:EASCMD&DSW

步驟二:調(diào)用服務

服務部署完成后,在模型在線服務(EAS)頁面,單擊待調(diào)用服務服務方式列下的調(diào)用信息,查看服務訪問的Endpoint和用于服務鑒權的Token信息。參考以下步驟進行服務調(diào)用。

  1. 構造服務請求。

    GBDT服務的輸入輸出格式為JSON格式的數(shù)組,一次請求支持多條樣本輸入,示例如下。

    [
      [14.87, 16.67, 98.64, 682.5, 0.1162, 0.1649, 0.169, 0.08923, 0.2157, 0.06768, 0.4266, 0.9489, 2.989, 41.18, 0.006985, 0.02563, 0.03011, 0.01271, 0.01602, 0.003884, 18.81, 27.37, 127.1, 1095.0, 0.1878, 0.448, 0.4704, 0.2027, 0.3585, 0.1065],
      [11.2, 29.37, 70.67, 386.0, 0.07449, 0.03558, 0.0, 0.0, 0.106, 0.05502, 0.3141, 3.896, 2.041, 22.81, 0.007594, 0.008878, 0.0, 0.0, 0.01989, 0.001773, 11.92, 38.3, 75.19, 439.6, 0.09267, 0.05494, 0.0, 0.0, 0.1566, 0.05905]
    ]
    說明

    實際發(fā)送服務請求時,可以去除JSON文件中的換行和空格,以減小網(wǎng)絡傳輸,提升服務性能。

  2. 發(fā)送服務請求。

    支持以下三種方式。

    重要

    直接通過HTTP Header傳入,會使Token在網(wǎng)絡中以明文方式傳輸;使用EAS提供的SDK,會使用Token對請求做簽名后再發(fā)送,安全性更高。

    • 通過在線調(diào)試發(fā)送服務請求。

      在目標服務的在線調(diào)試頁面,發(fā)送服務請求,詳情請參見服務在線調(diào)試

    • 使用curl命令對服務進行快速請求測試。

      服務提供HTTP訪問入口,發(fā)送請求時,可以將鑒權Token直接通過HTTP Header傳入,示例如下。

      // 發(fā)送請求。 
      curl -v 18284888792***.cn-shanghai.pai-eas.aliyuncs.com/api/predict/eas_gbdt_example \
            -H 'Authorization: YmE3NDkyMzdiMzNmMGM3ZmE4ZmNjZDk0M2NiMDA***' \
            -d '[[14.87, 16.67, 98.64, 682.5, 0.1162, 0.1649, 0.169, 0.08923, 0.2157, 0.06768, 0.4266, 0.9489, 2.989, 41.18, 0.006985, 0.02563, 0.03011, 0.01271, 0.01602, 0.003884, 18.81, 27.37, 127.1, 1095.0, 0.1878, 0.448, 0.4704, 0.2027, 0.3585, 0.1065], [11.2, 29.37, 70.67, 386.0, 0.07449, 0.03558, 0.0, 0.0, 0.106, 0.05502, 0.3141, 3.896, 2.041, 22.81, 0.007594, 0.008878, 0.0, 0.0, 0.01989, 0.001773, 11.92, 38.3, 75.19, 439.6, 0.09267, 0.05494, 0.0, 0.0, 0.1566, 0.05905]]'
      // 返回如下結果。
      [[0.0004703899612650275, 0.9877758026123047]]
    • 使用Python SDK發(fā)送請求,詳情請參見Python SDK使用說明

      示例代碼如下。

      #!/usr/bin/env python
      
      from eas_prediction import PredictClient
      from eas_prediction import StringRequest
      
      if __name__ == '__main__':
          client = PredictClient('1828488879222***.cn-shanghai.pai-eas.aliyuncs.com', 'pmml_test')
          client.set_token('YmE3NDkyMzdiMzNmMGM3ZmE4ZmNjZDk0M2NiMDA***')
          client.init()
      
      
          req = StringRequest('[[0.0004703899612650275,0.9877758026123047]]')
          for x in range(100):
              resp = client.predict(req)
              print(resp)

      其他語言客戶端SDK使用說明,詳情請參見服務調(diào)用SDK