成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

模型秒變API只需一行代碼,支持TensorFlow等框架

新聞 機(jī)器學(xué)習(xí)
近日,GitHub 上有了這樣一個(gè)項(xiàng)目,能夠讓用戶一行代碼將任意模型打包為 API。這一工具無疑能夠幫助開發(fā)者在實(shí)際的生產(chǎn)應(yīng)用中快速部署模型。

[[283641]]

還在為機(jī)器學(xué)習(xí)模型打包成 API 發(fā)愁?這個(gè)工具能讓你一行代碼直接打包。

專注于機(jī)器學(xué)習(xí)應(yīng)用的人們知道,從訓(xùn)練好的模型到實(shí)際的工業(yè)生產(chǎn)工具還有一定的距離。其中工作量很大的地方在于將模型打包,預(yù)留 API 接口,并和現(xiàn)有的生產(chǎn)系統(tǒng)相結(jié)合。近日,GitHub 上有了這樣一個(gè)項(xiàng)目,能夠讓用戶一行代碼將任意模型打包為 API。這一工具無疑能夠幫助開發(fā)者在實(shí)際的生產(chǎn)應(yīng)用中快速部署模型。

項(xiàng)目地址:https://github.com/cortexlabs/cortex

項(xiàng)目特點(diǎn)和原理

該項(xiàng)目名為 Cortex,是一個(gè)命令行工具。作者表示,該項(xiàng)目具有以下優(yōu)點(diǎn):

  • 自動(dòng)定義:Cortex 可以自動(dòng)定義需要負(fù)責(zé)生產(chǎn)工作的 API;
  • 多框架支持:Cortex 支持多種機(jī)器學(xué)習(xí)框架,包括 TensorFlow、PyTorch、scikit-learn、XGBoost 等;
  • CPU/GPU 支持:Cortex 能夠在 CPU 或者 GPU 上進(jìn)行推理工作;
  • 回滾式更新:Cortex 可以對(duì)部署的 API 直接更新;
  • 日志流:Cortex 會(huì)保留部署模型的日志流,并在 CLI 上顯示;
  • 預(yù)測(cè)監(jiān)控:Cortex 能夠監(jiān)控網(wǎng)絡(luò)的評(píng)價(jià)指標(biāo),并追蹤預(yù)測(cè)結(jié)果;
  • 最小配置:部署時(shí),用戶只需要在一個(gè)名為 cortex.yaml 的文件中配置相關(guān)屬性。
模型秒變API只需一行代碼,支持TensorFlow等框架

這一項(xiàng)目是怎樣工作的?具體而言,每當(dāng)用戶運(yùn)行 cortex deploy 時(shí),命令行將配置屬性和代碼發(fā)送到服務(wù)器集群上。每個(gè)模型都載入到一個(gè) Docker 容器中,包括相關(guān)的 Python 包和處理請(qǐng)求的代碼。模型通過網(wǎng)絡(luò)服務(wù),如 Elastic Load Balancing (ELB)、Flask、TensorFlow Serving 和 ONNX Runtime 公開 API 給用戶使用。容器通過 Elastic Kubernetes Service (EKS) 進(jìn)行控制,而日志文件和評(píng)價(jià)指標(biāo)的記錄和打印工作由 CloudWatch 完成。

使用方法

使用過程主要分為以下三個(gè)步驟:

定義模型的 API

  1. # predictor.py 
  2. model = download_my_model()def predict(sample, metadata): return model.predict(sample["text"]) 

如上所示,用戶需要做的是定義代表這個(gè) API 的函數(shù),使其能夠根據(jù)輸入數(shù)據(jù)返回輸出。

配置部署

  1. $ curl http://***.amazonaws.com/sentiment/classifier \-X POST -H "Content-Type: application/json" \-d '{"text": "the movie was great!"}' 
  2. positive 

第二個(gè)步驟中,用戶需要?jiǎng)?chuàng)建一個(gè)新的 yaml 文件,這個(gè)文件用于配置相關(guān)屬性。

具體而言,用戶可以定義部署模型的名稱,本例中名為 classifierpredictor。然后還需要定義 API 的名稱,如 classifierpredictor 以及路徑、模型的類型和使用的 GPU 數(shù)量等。

AWS 部署

  1. $ cortex deploy 
  2. creating classifier (http://***.amazonaws.com/sentiment/classifier) 

以 AWS 為例,以上工作完成后,用戶可以創(chuàng)建這個(gè) API,使其利用 AWS 進(jìn)行工作。

當(dāng)然,用戶還可以實(shí)時(shí)保存推斷結(jié)果,如下所示:

  1. $ curl http://***.amazonaws.com/sentiment/classifier \-X POST -H "Content-Type: application/json" \-d '{"text": "the movie was great!"}' 
  2. positive 

此外,用戶還可以監(jiān)控運(yùn)行結(jié)果。

  1. $ cortex get classifier --watch 
  2. status up-to-date available requested last update avg latencylive 1 1 1 8s 123ms 
  3. class countpositive 8negative 4 

使用教程

為了讓用戶更好地使用這一工具,項(xiàng)目作者同時(shí)還提供了一些使用案例。包括:

  • 基于 TensorFlow 和 BERT 進(jìn)行情感分析:https://github.com/cortexlabs/cortex/tree/0.10/examples/tensorflow/sentiment-analysis
  • 基于 TensorFlow 和 Inception 模型進(jìn)行圖像分類:https://github.com/cortexlabs/cortex/tree/0.10/examples/tensorflow/image-classifier
  • 基于 PyTorch 和 DistilGPT2 進(jìn)行文本生成:https://github.com/cortexlabs/cortex/tree/0.10/examples/pytorch/text-generator
  • 基于 XGBoost / ONNX 進(jìn)行虹膜分類:https://github.com/cortexlabs/cortex/tree/0.10/examples/xgboost/iris-classifier

以使用 BERT 進(jìn)行情感分析為例:

首先用戶需要在模型上定義 API 接口函數(shù),使其可以通過函數(shù)輸入數(shù)據(jù),并返回模型的推理結(jié)果。這一 py 文件被定義為 handler.py:

  1. # handler.py 
  2. import tensorflow as tfimport tensorflow_hub as hubfrom bert import tokenization, run_classifier 
  3. labels = ["negative""positive"
  4. with tf.Graph().as_default(): bert_module = hub.Module("https://tfhub.dev/google/bert_uncased_L-12_H-768_A-12/1") info = bert_module(signature="tokenization_info", as_dict=True)with tf.Session() as sess: vocab_file, do_lower_case = sess.run([info["vocab_file"], info["do_lower_case"]]) tokenizer = tokenization.FullTokenizer(vocab_file=vocab_file, do_lower_case=do_lower_case) 
  5.  
  6. def pre_inference(sample, signature, metadata): input_example = run_classifier.InputExample(guid="", text_a=sample["review"], label=0) input_feature = run_classifier.convert_single_example(0, input_example, [01], 128, tokenizer) return {"input_ids": [input_feature.input_ids]} 
  7.  
  8. def post_inference(prediction, signature, metadata): return labels[prediction["labels"][0]] 

接著,用戶需要定義配置 yaml 文件,在文件中指定相關(guān)屬性,這里需要注意,文件名必須定義為 cortex.yaml:

  1. # cortex.yaml 
  2. - kind: deployment name: sentiment 
  3. - kind: api name: classifier tensorflow: model: s3://cortex-examples/tensorflow/sentiment-analysis/bert request_handler: handler.py tracker: model_type: classification 

從中可以看到,yaml 文件中需要指定出使用的模型,以及作為 API 接口的 py 文件(即第一步中定義了的 py 文件)。

然后進(jìn)行部署即可:

  1. $ cortex deploy 
  2. deployment started 

如果需要獲得監(jiān)控信息,則需要輸入 cortex get 命令:

  1. $ cortex get classifier --watch 
  2. status up-to-date available requested last update avg latencylive 1 1 1 8s 

還可以用命令行獲得實(shí)時(shí)預(yù)測(cè):

  1. $ cortex get classifier 
  2. url: http://***.amazonaws.com/sentiment/classifier 
  3. $ curl http://***.amazonaws.com/sentiment/classifier \ -X POST -H "Content-Type: application/json" \ -d '{"review": "The movie was great!"}'"positive 

 

責(zé)任編輯:張燕妮 來源: 機(jī)器之心
相關(guān)推薦

2020-02-19 15:02:23

代碼開發(fā)工具

2018-03-08 11:43:18

PandasTB級(jí)數(shù)據(jù)Spark

2021-04-19 10:38:06

代碼開發(fā)工具

2022-05-13 09:36:06

Python水印命令

2021-04-22 11:27:24

Python命令水印

2016-12-02 08:53:18

Python一行代碼

2023-11-10 09:41:44

Python代碼

2014-02-12 13:43:50

代碼并行任務(wù)

2022-04-09 09:11:33

Python

2017-04-05 11:10:23

Javascript代碼前端

2021-05-11 20:46:17

Python代碼分類

2021-08-23 17:49:02

代碼開發(fā)模型

2025-02-14 08:05:15

2021-08-31 09:49:37

CPU執(zhí)行語言

2017-04-13 19:20:18

Python代碼并行任務(wù)

2020-08-19 10:30:25

代碼Python多線程

2020-09-09 16:00:22

Linux進(jìn)程

2021-11-02 16:25:41

Python代碼技巧

2023-09-12 10:10:57

開發(fā)者工具開源

2023-10-10 08:28:56

JavaAPI分析引擎
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 成人在线欧美 | 亚洲午夜视频 | 青青99 | 国产成人精品久久久 | 久久国产精品视频 | 日韩乱码av| 涩涩鲁亚洲精品一区二区 | 国产精品久久国产愉拍 | 日日夜夜视频 | 亚洲精品日韩在线 | 亚洲精品乱码久久久久久久久久 | 欧美中国少妇xxx性高请视频 | 国产精品久久久久永久免费观看 | 亚洲一区二区av | 欧美高清性xxxxhdvideosex | 国产一区久久 | 精品欧美一区二区三区 | 亚洲欧美综合 | 欧美日韩国产在线观看 | 国产不卡视频在线 | 搞av.com | 亚洲va欧美va人人爽午夜 | 视频一区在线 | 日韩日b视频 | 久久美女网 | 日本超碰 | 久久一 | 一区二区三区日本 | 日韩高清成人 | 成人av网站在线观看 | 一区二区三区欧美大片 | 久久av一区二区三区 | 天天av综合 | 日本精品视频 | 久久久久无码国产精品一区 | 超碰97人人人人人蜜桃 | 国产日韩欧美在线 | 蜜臀久久99精品久久久久久宅男 | 中文在线视频观看 | 国产剧情一区 | 免费在线播放黄色 |