仍然担心将机器学习模型打包到应用编程接口中?这个工具允许你直接打包一行代码。
关注机器学习应用的人知道,从训练好的模型到实际的工业生产工具还有一定的距离。繁重的工作负载在于打包模型、保留应用编程接口以及与现有的生产系统相结合。最近,GitHub有一个项目,允许用户用一行代码将任何模型打包成一个应用编程接口。这个工具无疑可以帮助开发人员在实际生产应用程序中快速部署模型。
项目特点和原理
该项目名为Cortex,是一个命令行工具。作者说这个项目有以下优点:
这个项目是如何工作的?具体来说,每当用户运行cortex deploy时,命令行都会向服务器集群发送配置属性和代码。每个模型都被加载到Docker容器中,包括相关的Python包和处理请求的代码。该模型通过网络服务提供给用户,如ELB、烧瓶、TensorFlow服务和ONNX运行时公共应用程序接口。容器由弹性库本内斯服务(EKS)控制,日志文件和评估指标的记录和打印由云观察(CloudWatch)完成。
使用方法
的使用过程主要分为以下三个步骤:
定义模型的 API
如上所示,用户需要做的是定义一个表示这个应用编程接口的函数,以便它能够根据输入数据返回输出。
配置部署
在第二步中,用户需要创建一个新的yaml文件,用于配置相关属性。
具体来说,用户可以定义部署模型的名称,在本例中,它是分类器预测器。然后,您需要定义应用编程接口的名称,例如分类器、路径、模型类型和使用的图形处理器数量。
AWS 部署
以AWS为例。完成上述工作后,用户可以创建这个应用程序接口,并使它与自动气象站一起工作。
当然,用户也可以实时保存推理结果,如下所示:
此外,用户还可以监控运行结果。
使用教程
为了让用户更好地使用这个工具,项目作者还提供了一些用例。包括:
以BERT进行情感分析为例:
首先,用户需要在模型上定义API接口函数,这样他们就可以通过函数输入数据并返回模型的推理结果。此py文件被定义为处理程序。py:
# handler。“pyimporttensorflowsimporttensorflow _ hubashubbfbromberimporttokenization,run_classifierlabels=[”负\ ‘ \ ‘正]withtf .图表().默认情况下():伯特模块=集线器.模块(‘ https://tf集线器。开发/谷歌/伯特_未加密_ L-12 _ H-768 _ A-12/1’)信息=bert_module(签名=’标记化_信息,as _ dict=真),带有TF .会话()评估:vocab_file,do _ lower _ case=sess。跑([信息[‘vocab _ file’],信息[‘ do _ low _ case ‘])令牌化器=令牌化完全令牌化器(vocab _ file=vocab _ file,do _ lower _ case=do _ lower _ case)定义预干扰(示例、签名、元数据): input _ example=run _ classifier .输入示例(guid=’ ‘,text _ a=示例[‘评论’],标签=0)输入_ feature=run _ classifier。convert _ single _ example(0,input_example,[0,1),128,标记器)返回{“输入标识”:[输入功能。input _ ids定义后推断(预测、签名、元数据)3360返回标签[预测[‘标签’][0]]
接下来,用户需要定义配置yaml文件,并在文件中指定相关属性。请注意,文件名必须定义为Cortex。yaml:
从中可以看出,要使用的模型和作为应用编程接口的复制文件(即在第一步中定义的复制文件)需要在yaml文件中指定。
然后部署它:
如果您需要监控信息,您需要输入cortex get命令:
您也可以使用命令行获得实时预测:
极牛网精选文章《模型秒变API只需一行代码,支持TensorFlow等框架》文中所述为作者独立观点,不代表极牛网立场。如若转载请注明出处:https://geeknb.com/1807.html