当前位置: 首页 > news >正文

郑州外贸网站建设商家网站中的分享怎么做

郑州外贸网站建设商家,网站中的分享怎么做,99作文网官网,mip改造wordpress文章目录前言一、数据集二、训练 Scikit-learn 模型三、基于MLSever构建Scikit-learn服务四、测试模型五、训练 XGBoost 模型六、服务多个模型七、测试多个模型的准确性总结参考前言 在过去我们训练模型#xff0c;往往通过编写flask代码或者容器化我们的模型并在docker中运行… 文章目录前言一、数据集二、训练 Scikit-learn 模型三、基于MLSever构建Scikit-learn服务四、测试模型五、训练 XGBoost 模型六、服务多个模型七、测试多个模型的准确性总结参考前言 在过去我们训练模型往往通过编写flask代码或者容器化我们的模型并在docker中运行。这篇文章中我们将分享如何基于mlserver来搭建Web服务。mlserver是基于 python的推理服务器可以通过简单的代码实现python web服务但是它的真正优点在于它是一个为生产环境设计的高性能服务器。 一、数据集 本博客通过使用几个图像模型作为示例介绍如何使用 MLServer我们要使用的数据集是Fashion MNIST 数据集。它包含 70,000 张灰度 28x28 像素的服装图像分为 10 个不同的类别上衣、连衣裙、外套、裤子等。 二、训练 Scikit-learn 模型 首先我们使用scikit-learn框架训练支持向量机 (SVM) 模型。然后我们将模型保存到一个名为Fashion-MNIST.joblib文件中。 import pandas as pd from sklearn import svm import time import joblib#Load Training Data train pd.read_csv(../../data/fashion-mnist_train.csv, header0) y_train train[label] X_train train.drop([label], axis1) classifier svm.SVC(kernelpoly, degree4, gamma0.1)#Train Model start time.time() classifier.fit(X_train.values, y_train.values) end time.time() exec_time end-start print(fExecution time: {exec_time} seconds)#Save Model joblib.dump(classifier, Fashion-MNIST.joblib)注意SVM 算法不是特别适合大型数据集因为它具有二次性质。根据使用的硬件本示例中的模型将需要几分钟时间进行训练。 三、基于MLSever构建Scikit-learn服务 好的所以我们现在有一个保存的模型文件Fashion-MNIST.joblib。让我们来看看我们如何使用 MLServer 来提供服务… 首先我们需要安装 MLServer。 pip install mlserver 额外的运行时是可选的但在服务模型时让生活变得非常轻松我们也会安装 Scikit-Learn 和 XGBoost 的 pip install mlserver-sklearn mlserver-xgboost 你可以在此处找到有关所有推理运行时的详细信息完成后我们需要做的就是添加两个配置文件 settings.json- 这包含服务器本身的配置。model-settings.json- 顾名思义此文件包含我们要运行的模型的配置。对于我们的settings.json文件只需定义一个参数就足够了 {debug: true }该model-settings.json文件需要更多信息因为它需要了解我们尝试服务的模型 {name: fashion-sklearn,implementation: mlserver_sklearn.SKLearnModel,parameters: {uri: ./Fashion_MNIST.joblib,version: v1} }name参数为 MLServer 提供了一个唯一标识符这在为多个模型提供服务时特别有用我们稍后会谈到。定义implementation要使用的预建服务器如果有它与用于训练模型的机器学习框架紧密耦合。在我们的例子中我们使用 scikit-learn 训练了模型因此我们将使用 MLServer 的 scikit-learn 实现。对于模型parameters我们只需要提供模型文件的位置以及版本号。 就是这样两个小配置文件我们准备好使用以下命令为我们的模型提供服务 mlserver start . 我们现在已经在本地服务器上运行了我们的模型。它现在已准备好接受通过 HTTP 和 gRPC分别为默认端口8080和8081的请求。 四、测试模型 现在我们的模型已经启动并运行了。让我们发送一些请求以查看它的运行情况。 要对我们的模型进行预测我们需要向以下 URL 发送 POST 请求 http://localhost:8080/v2/models/MODEL_NAME/versions//infer 这意味着要访问我们之前训练的 scikit-learn 模型我们需要用fashion-sklearn替换MODEL_NAME用 v1替换VERSION。 下面的代码显示了如何导入测试数据向模型服务器发出请求然后将结果与实际标签进行比较 import pandas as pd import requests#Import test data, grab the first row and corresponding label test pd.read_csv(../../data/fashion-mnist_test.csv, header0) y_test test[label][0:1] X_test test.drop([label],axis1)[0:1]#Prediction request parameters inference_request {inputs: [{name: predict,shape: X_test.shape,datatype: FP64,data: X_test.values.tolist()}] } endpoint http://localhost:8080/v2/models/fashion-sklearn/versions/v1/infer#Make request and print response response requests.post(endpoint, jsoninference_request) print(response.text) print(y_test.values) 运行test.py上面的代码时我们从 MLServer 得到以下响应 {model_name: fashion-sklearn,model_version: v1,id: 31c3fa70-2e56-49b1-bcec-294452dbe73c,parameters: null,outputs: [{name: predict,shape: [1],datatype: INT64,parameters: null,data: [0]}] } 你会注意到 MLServer 已生成一个请求 ID并自动添加了有关用于满足我们请求的模型和版本的元数据。一旦我们的模型投入生产捕获这种元数据就非常重要它允许我们记录每个请求以用于审计和故障排除目的。 你可能还会注意到 MLServer已返回一个数组outputs。在我们的请求中我们只发送了一行数据但MLServer也处理批量请求并将它们一起返回。你甚至可以使用一种称为自适应批处理的技术来优化在生产环境中处理多个请求的方式。 在我们上面的示例中可以找到模型的预测其中outputs[0].data显示模型已将此样本标记为类别0值 0 对应于类别t-shirt/top。该样本的真实标签也是0所以模型得到了正确的预测 五、训练 XGBoost 模型 现在我们已经了解了如何使用 MLServer 创建和提供单个模型让我们来看看我们如何处理在不同框架中训练的多个模型。 我们将使用相同的 Fashion MNIST 数据集但这次我们将训练XGBoost模型。 import pandas as pd import xgboost as xgb import time#Load Training Data train pd.read_csv(../../data/fashion-mnist_train.csv, header0) y_train train[label] X_train train.drop([label], axis1) dtrain xgb.DMatrix(X_train.values, labely_train.values)#Train Model params {max_depth: 5,eta: 0.3,verbosity: 1,objective: multi:softmax,num_class : 10 } num_round 50start time.time() bstmodel xgb.train(params, dtrain, num_round, evals[(dtrain, label)], verbose_eval10) end time.time() exec_time end-start print(fExecution time: {exec_time} seconds)#Save Model bstmodel.save_model(Fashion_MNIST.json)上面用于训练 XGBoost 模型的代码与我们之前用于训练 scikit-learn 模型的代码类似但这次我们的模型以 XGBoost 兼容格式保存为Fashion_MNIST.json。 六、服务多个模型 MLServer 的一个很酷的事情是它支持多模型服务。这意味着您不必为要部署的每个 ML 模型创建或运行新服务器。使用我们上面构建的模型我们将使用此功能同时为它们提供服务。 当 MLServer 启动时它将在目录和任何子目录中搜索model-settings.json文件。如果您有多个model-settings.json文件那么它会自动为所有文件提供服务。 settings.json注意您仍然只需要根目录中的一个服务器配置文件 这是我的目录结构的细分以供参考 . ├── data │ ├── fashion-mnist_test.csv │ └── fashion-mnist_train.csv ├── models │ ├── sklearn │ │ ├── Fashion_MNIST.joblib │ │ ├── model-settings.json │ │ ├── test.py │ │ └── train.py │ └── xgboost │ ├── Fashion_MNIST.json │ ├── model-settings.json │ ├── test.py │ └── train.py ├── README.md ├── settings.json └── test_models.py 请注意有两个model-settings.json文件 - 一个用于 scikit-learn 模型一个用于 XGBoost 模型。 我们现在可以运行mlserver start .它将开始处理两个模型的请求。 [mlserver] INFO - Loaded model fashion-sklearn succesfully. [mlserver] INFO - Loaded model fashion-xgboost succesfully.七、测试多个模型的准确性 现在这两个模型都在 MLServer 上启动并运行我们可以使用测试集中的样本来验证我们每个模型的准确性。 以下代码向每个模型发送一个批处理请求包含完整的测试集然后将收到的预测与真实标签进行比较。在整个测试集上执行此操作可以衡量每个模型的准确性。 import pandas as pd import requests import json#Import the test data and split the data from the labels test pd.read_csv(./data/fashion-mnist_test.csv, header0) y_test test[label] X_test test.drop([label],axis1)#Build the inference request inference_request {inputs: [{name: predict,shape: X_test.shape,datatype: FP64,data: X_test.values.tolist()}] }#Send the prediction request to the relevant model, compare responses to training labels and calculate accuracy def infer(model_name, version):endpoint fhttp://localhost:8080/v2/models/{model_name}/versions/{version}/inferresponse requests.post(endpoint, jsoninference_request)#calculate accuracycorrect 0for i, prediction in enumerate(json.loads(response.text)[outputs][0][data]):if y_test[i] prediction:correct 1accuracy correct / len(y_test)print(fModel Accuracy for {model_name}: {accuracy})infer(fashion-xgboost, v1) infer(fashion-sklearn, v1) 结果表明XGBoost 模型略优于 SVM scikit-learn 模型 Model Accuracy for fashion-xgboost: 0.8953 Model Accuracy for fashion-sklearn: 0.864 总结 希望现在你已经了解使用MLServer为模型提供服务是多么容易。 参考 https://dev.to/ukcloudman/serving-python-machine-learning-models-with-ease-37kh
http://www.dnsts.com.cn/news/148137.html

相关文章:

  • 网站下载图标深圳宝安seo外包
  • 做网站被骗五千多营销型网站建设xywlcn
  • 郑州计算机网站公司外贸网站做纸尿裤怎么样
  • 网站风格优势百度爱采购服务商查询
  • 做微信充值网站wordpress怎样添加轮播图
  • 网站基础建设英文h5手机网站建设哪家好
  • 如何注册域名和网站山西省网站
  • 上海大学生做网站的团队网站建设十年杜绝模板
  • 深圳网站建设制作设计平台城乡村建设规划许可证网站
  • 谷歌做新媒体运营的网站阜阳室内设计学校
  • 常平网站做网站要会写什么软件
  • 网站关键词设置技巧站内seo怎么做
  • 网站制作技术使用说明二级网站和自建网站有什么区别
  • 哪个网站有高清图片做pptwordpress后台不能拖动
  • 漳浦网站开发中山服装网站建设
  • 江苏城乡住房和城乡建设厅网站软件开发专业词汇
  • 口碑好的邯郸网站建设互联网技术主要学什么
  • 珠海微信网站网站建设应该考虑哪些问题
  • 做网站运营需要学什么条件网站建设属什么资产
  • 域名怎么解析到网站建网站选哪个
  • 建设网站模板下载最新新闻头条国家大事国际新闻
  • 关于网站建设的管理实践报告莒县网页设计
  • 免费制作logo的网站网站建设含意
  • jsp旅游网站开发关键技术子域名在线查询
  • 全球最大购物网站产品推广宣传方案
  • 定西市住房和城乡建设局网站做网站 数据库
  • 被墙网站查询什么网站可以做调察问卷
  • 站中站网站案例wordpress更改了数据库密码
  • 福建省亿力电力建设有限公司网站互联网行业适合女生的职位
  • 建设部网站设计资质查询企业管理课程视频