加入极市专业CV交流群,与6000+来自腾讯,华为,百度,北大,清华,中科院等名企名校视觉开发者互动交流!更有机会与李开复老师等大牛群内互动!
同时提供每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流。关注 极市平台 公众号 ,回复 加群,立刻申请入群~
来源:
还在为机器学习模型打包成 API 发愁?这个工具能让你一行代码直接打包。
自动定义:Cortex 可以自动定义需要负责生产工作的 API;
多框架支持:Cortex 支持多种机器学习框架,包括 TensorFlow、PyTorch、scikit-learn、XGBoost 等;
CPU/GPU 支持:Cortex 能够在 CPU 或者 GPU 上进行推理工作;
回滚式更新:Cortex 可以对部署的 API 直接更新;
日志流:Cortex 会保留部署模型的日志流,并在 CLI 上显示;
预测监控:Cortex 能够监控网络的评价指标,并追踪预测结果;
最小配置:部署时,用户只需要在一个名为 cortex.yaml 的文件中配置相关属性。
# predictor.py
model = download_my_model()
def predict(sample, metadata):
return model.predict(sample["text"])
# cortex.yaml
- kind: deploymentname: sentiment
- kind: apiname: classifierpredictor:
path: predictor.pytracker:
model_type: classificationcompute:
gpu: 1
$ cortex deploy
creating classifier (http://***.amazonaws.com/sentiment/classifier)
$ curl http://***.amazonaws.com/sentiment/classifier \
-X POST -H "Content-Type: application/json" \
-d '{"text": "the movie was great!"}'
positive
$ cortex get classifier --watch
status up-to-date available requested last update avg latency
live 1 1 1 8s 123ms
class count
positive 8
negative 4
基于 TensorFlow 和 BERT 进行情感分析:
https://github.com/cortexlabs/cortex/tree/0.10/examples/tensorflow/sentiment-analysis
基于 TensorFlow 和 Inception 模型进行图像分类:
https://github.com/cortexlabs/cortex/tree/0.10/examples/tensorflow/image-classifier
基于 PyTorch 和 DistilGPT2 进行文本生成:
https://github.com/cortexlabs/cortex/tree/0.10/examples/pytorch/text-generator
基于 XGBoost / ONNX 进行虹膜分类:https://github.com/cortexlabs/cortex/tree/0.10/examples/xgboost/iris-classifier
# handler.py
import tensorflow as tf
import tensorflow_hub as hub
from bert import tokenization, run_classifier
labels = ["negative", "positive"]
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)
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, [0, 1], 128, tokenizer)
return {"input_ids": [input_feature.input_ids]}
def post_inference(prediction, signature, metadata):
return labels[prediction["labels"][0]]
# cortex.yaml
- kind: deployment
name: sentiment
- kind: api
name: classifier
tensorflow:
model: s3://cortex-examples/tensorflow/sentiment-analysis/bert
request_handler: handler.py
tracker:
model_type: classification
$ cortex deploy
deployment started
$ cortex get classifier --watch
status up-to-date available requested last update avg latency
live 1 1 1 8s
$ cortex get classifier
url: http://***.amazonaws.com/sentiment/classifier
$ curl http://***.amazonaws.com/sentiment/classifier \
-X POST -H "Content-Type: application/json" \
-d '{"review": "The movie was great!"}'"positive
-End-
*延伸阅读
CV细分方向交流群
添加极市小助手微信(ID : cv-mart),备注:研究方向-姓名-学校/公司-城市(如:目标检测-小极-北大-深圳),即可申请加入目标检测、目标跟踪、人脸、工业检测、医学影像、三维&SLAM、图像分割、姿态估计、超分辨率、嵌入式视觉、OCR 等极市技术交流群(已经添加小助手的好友直接私信),更有每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流,一起来让思想之光照的更远吧~
△长按添加极市小助手
△长按关注极市平台
觉得有用麻烦给个在看啦~