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

网站建设制度制定河北省网络科技网站

网站建设制度制定,河北省网络科技网站,网站推广专家十年乐云seo,photoshop设计一个精美的网站主页忆如完整项目/代码详见github#xff1a;https://github.com/yiru1225#xff08;转载标明出处 勿白嫖 star for projects thanks#xff09; 目录 系列文章目录 一、实验综述 1.实验工具及及内容 2.实验数据 3.实验目标 4.实验步骤 二、ML/DL任务综述与模型部署知识…    忆如完整项目/代码详见githubhttps://github.com/yiru1225转载标明出处 勿白嫖 star for projects thanks 目录 系列文章目录 一、实验综述 1.实验工具及及内容 2.实验数据 3.实验目标 4.实验步骤 二、ML/DL任务综述与模型部署知识补充 1.ML/DL任务综述 2.模型部署知识补充 二、预训练模型知识补充与本地部署实践 1.任务与模型简介 1.1 任务简介 1.2 模型简介 2.本地部署实践 2.1 DL模型的框架选择 2.2 模型定义 2.3 模型训练 2.4 本地部署 三、其他部署方式实践 1.基于CNN的手写数字识别Web网页部署 1.1 Flask简介 1.2 Web网页部署实践 2.基于Yolo v5的多物体检测 2.1 Yolo 2.2 Yolo部署实践 2.2.1 快速开始 2.2.2 本地部署 2.2.3 Web网页部署 2.2.4 模型训练探索 2.2.5 云服务器部署 四、真实项目中的模型部署解析 1.智慧养鹅 2.电影推荐系统 五、部署方案补充  1.通过机器学习平台进行模型部署 1.1 PAI-EAS 1.2 PAI-Blade 2. 参考资料 系列文章目录 本系列博客重点在深度学习相关实践有问题欢迎在评论区讨论指出或直接私信联系我。 第一章  深度学习实战——不同方式的模型部署 梗概 本篇博客主要介绍几种深度预训练模型与模型部署方式并通过代码实践与真实项目介绍辅助解析内附代码与数据集。 一、实验综述 本章主要对实验思路、环境、步骤进行综述梳理整个实验报告架构与思路方便定位。 1.实验工具及及内容 本次实验主要使用Pycharm完成几种预训练模型的编写或git/下载调用并分别尝试本地部署简单部署与中间表示、Web部署基于Flask、采用云服务器等不同方式。 另外最近在腾讯实习期间调研了几种主流机器学习平台在此尝试利用平台工具进行模型部署还会通过几个本人的真实项目补充一些部署经历Uni-app、Android等移动设备。 2.实验数据 本次实验大部分数据来自预训练模型官方数据部分测试数据来源于网络。在真实项目的介绍中大部分数据来自实地采集与构建版权属于团队。 3.实验目标 本次实验目标主要是了解深度学习模型部署的基本流程通过实践完成多种不同的部署方式并能在真实项目开发中应用。 4.实验步骤 本次实验大致流程如表1所示 表1 实验1流程 1实验思路综述 2.ML/DL任务综述与模型部署知识补充 3.预训练模型知识补充与本地部署实践 4.其他部署方式实践 5.真实项目中的模型部署解析 6.模型部署方案补充  二、ML/DL任务综述与模型部署知识补充 1.ML/DL任务综述 模型部署实际上是ML机器学习/DL深度学习任务链路中的一环为本实验的研究与实践重点在开始前先对一般ML/DL任务流程做简单补充。 随着大数据、自然语言处理、计算机视觉领域的不断发展对多种应用场景下的分类、回归等ML/DL任务在日常生活/公司业务/高校研究中均提出了更多解决方案。对于研究者/开发者而言有大量ML/DL框架、模型对其他领域的用户有大量API/无代码IDE工具与在线平台大大提高了相关任务效率。 而在ML/DL任务中最重要的是数据与模型一般流程总结与简介总结于表2 表2 ML/DL任务一般流程 输入: 相关数据集 过程 1、数据处理     针对输入数据一般要进行处理包括但不限于数据清洗、归一化、标注使数据适配模型输入与实际需求。 2、模型开发     根据实际任务需求开发模型或选择已有适配任务的框架/模型调用进行修改。 3、模型训练与评估     将处理后数据集输入模型进行训练与迭代并不断对模型效果进行记录与评估直至达到较优阈值在对应任务中有较好的表现。 4、模型部署     将训练好的较优模型部署到指定环境中进行实际应用常用模型推理测试。 5、后处理     对部署好的模型运行效果进行实际任务的数据检测与分析并针对出现的问题与局限进行优化。 2.模型部署知识补充 在实际进行模型部署之前我们先对模型部署的一些核心知识进行补充。 由表2我们知道模型部署实际上就是将开发、训练、评估好的模型进行调用并使其在所需任务对应环境下正常运行。不同与软件/DL框架部署模型部署会面临更多的难题核心的两个问题如下 ⚪ 运行模型所需的环境难以配置深度学习模型通常是由一些框架编写比如 PyTorch、TensorFlow。由于框架规模、依赖环境的限制这些框架不适合在移动设备手机、边缘设备开发板等生产环境中安装。 ⚪ 深度学习模型的结构通常比较庞大需要大量的算力才能满足实时运行的需求。模型的运行效率需要优化。 因为这些难题的存在模型部署不能靠简单的环境配置与安装完成。根据相关研究探索一般的模型部署流程将对训练好的模型进行优化并通过转化实现运行如图1所示 模型在部署后一般会以服务的形式搭载于工具中故在模型部署中常利用各种前后端框架对功能进行可视化并对数据进行存储与管理。 此外随着数据爆炸与云技术的发展诸多企业提供了带计算与存储资源的云服务器供模型部署、应用上线以及一站式机器学习平台Amazon Sage maker、Alibaba PAI、Baidu PaddlePaddle等其中一般均包含了在线部署工具或部署框架及项目供使用。 图1 模型训练-部署一般流程 Tips关于其他部署方案与优化在后文详述。 二、预训练模型知识补充与本地部署实践 在上一章中对ML/DL任务及模型部署的基本知识进行了梳理自本章开始将正式进行不同方式模型部署的实践并对使用到的预训练模型进行核心原理的补充。 首先先进行模型本地部署的实践本章基于CNN的手写数字识别为例。 1.任务与模型简介 在进行模型本地部署前对本样例的任务与模型进行一定简介。 1.1 任务简介 本章样例选取任务为MNIST数据集上的手写数字识别MNIST是一个著名的计算机视觉数据集其包含各种手写数字图片部分数据可视化如图2所示本任务即通过设计一个分类模型并使用MNIST数据对其进行训练得到一个用于识别输入图片中数字的推理模型。 图2 MNIST数据可视化部分 1.2 模型简介 本样例以CNN卷积神经网络作为分类模型样例完成手写数字识别的任务。CNN是一种经典的深度学习模型传统CNN通过输入、卷积、池化、全连接四层高效地完成各种ML/DL任务实现特征的高效采集与分析。基于CNN的手写数字识别架构如图3所示 图3 基于CNN的手写数字识别架构 2.本地部署实践 根据第一章第2节补充我们知道模型部署之前需要定义与训练即我们要先得到这个模型。根据表2获取模型的方式一般有调用/下载模型或自定义模型两种。在本次实践中我们自定义模型并完成本地部署。 2.1 DL模型的框架选择 根据图1我么知道ML/DL任务中常使用框架帮助开发而在DL模型中目前最主流的是Tensorflow与Pytorch两种本样例选择使用TensorFlow框架但为方便后续Web部署不需使用Docker因此选择了是架于TensorFlow、CNTK之上的APIKeras。 主要开发环境Pycharm2020、Tensorflow2.10 2.2 模型定义 根据第一节中的任务与模型简介定义基于CNN用MNIST数据集进行训练的分类模型核心步骤即模型开发如表3所示 表3 基于CNN用MNIST数据集进行训练的分类模型定义步骤 输入: MNIST数据集或在代码部分加载 过程 1、库导入与参数定义     在开头对需要用到的函数与框架进行导入并对模型的超参数进行定义。 2、数据读取与处理     对数据集进行下载或导入并进行图像reshape、数据类型改变float32、标准化。 3、模型结构定义     对模型结构与损失函数定义。 4、训练与评估     将处理后数据输入定义好模型进行训练与评估。 输出模型loss、acc以及通过评估的模型 在此过程中代码部分比较重要的是参数与模型的定义代码如Code1与Code2 Tips本处仅做核心代码展示与解析完整代码与注释详见文件“CNN MNIST Define.py”。 Code1 CNN模型参数 atch_size 600 img_width, img_height 28, 28 loss_function sparse_categorical_crossentropy no_classes 10 no_epochs 1 optimizer Adam() validation_split 0.2 verbosity 1Code2 CNN模型结构 model Sequential() model.add(Conv2D(32, kernel_size(3, 3), activationrelu, input_shapeinput_shape)) model.add(Conv2D(64, kernel_size(3, 3), activationrelu)) model.add(Conv2D(128, kernel_size(3, 3), activationrelu)) model.add(Flatten()) model.add(Dense(256, activationrelu)) model.add(Dense(no_classes, activationsoftmax))2.3 模型训练 在定义好模型后运行相关代码文件进行训练过程与结果如图4所示 图4 模型训练过程与结果 分析根据图4我们可以看到基于CNN用MNIST数据集进行训练的分类模型在80轮epoch训练后正确率98.3%在本样例中通过评估保存模型model.h5用于本地部署。 2.4 本地部署 本地部署将模型部署到本地机器中以离线的方式进行推理。 一般来说本地部署有两种方式 ⚪ 模型直接save和load调用简单但未对模型处理不同机器间可能存在适配问题 ⚪ TorchScript/ONNX模型导出以通用的中间表示导出模型便于部署到不同机器 对于第一种方式命令如Code3本样例Pytorch命令如Code4所示 Code3 本样例的模型简单本地部署 model.save(model.h5) model load_model(model.h5)Code4 Pytorch的模型简单本地部署 torch.save(model, PATH_TO_MODEL)#保存 model torch.load(PATH_TO_MODEL)#加载 而对于第二种方式TorchScipt方法主要针对基于Pytorch的模型故在本部分仅作简单介绍一般来说TorchScript提供tracing和scripting两种方式简介如下 ⚪ Tracing方法生成一个“伪变量”跟踪模型对输入变量进行的操作。 ⚪ Scripting方法直接检测模型代码无需伪变量。 两种方法代码类似以Tracing方法为例核心代码如Code5所示 Code5 Tracing方法核心代码 demo_input torch.ones(x, y, z, d) #生成伪变量 torch.jit.trace(modeldemo_input) #生成TorchScipt模型 torch.jit.save(traced_model, traced_convnet.pt) #保存 loaded_traced_model torch.jit.load(traced_convnet.pt) #加载类似TorchSciptONNX也是一种便于部署的模型中间表示不过适用于多种框架。对于Pytorch而言ONNX采用Tracing的方式记录模型故需要“伪输入”转化核心代码如Code6所示 Code6 ONNX导出核心代码Pytorch demo_input torch.ones(x, y, z, d) #生成伪变量 torch.onnx.export(model, demo_input, convnet.onnx) #转化导出TipsONNX同时提供了prepare()方法将ONNX模型转换为Tensorflow并执行推理样例代码如Code7所示 Code7 ONNX转Tf推理样例 import onnx from onnx_tf.backend import preparemodel_onnx onnx.load(./convnet.onnx) tf_rep prepare(model_onnx) output tf_rep.run(input_tensor.unsqueeze(0)) print(output) # tf_rep.export_graph(./convnet.pb)而对于Tensorflow转化到ONNXtensorflow-onnx有几个条目用于转换不同的tensorflow格式的tensorflow模型本节只讨论“saved_model”核心代码如Code8样例输出如图5 Code8 ONNX导出核心代码Tensorflow !python -m tf2onnx.convert \--saved-model ./output/saved_model \--output ./output/mnist1.onnx \--opset 7图5 模型转化中间表示输出样例 分析如图5所示样例中Tensorflow模型成功转化为ONNX并导出便于在不同机器上部署、解析与使用。 TipsONXX同样适用于其他框架的转化且除了本地部署方法提出的两种中间表示实际上还有其他很多中间表示在此不做详述。 至此完成了本样例任务的模型定义与训练并使用两种方式进行本地部署。 三、其他部署方式实践 除了本地部署外还有Web部署、移动应用部署、边缘设备部署等方式在本章对上一章的样例进行Web网页部署并对其他预训练模型进行不同方式的部署实践。 1.基于CNN的手写数字识别Web网页部署 Web部署将模型部署到Web架构中在服务端完成推理常见的有以下几种方式 FlaskStreamlitGradio厂商Cloud平台API 1.1 Flask简介 本节以Flask为例作为架构搭建样例的Web部署故在此对Flask做一定补充。 Flask是一个由Python编写的轻量级Web框架。通过Flask我们可以将模型推理部署到服务端以向服务器发送请求的方式执行推理。 服务端部署与本地部署的最大差别在于执行推理的入口不同。对于本地部署我们只需在本地环境中编写推理脚本并执行即可。Flask服务部署将在我们已经实现的本地部署的基础上完成服务端的架设对于本样例而言即已经得到了模型文件model.h5。 一个Flask的最简单样例代码见Code9效果如图5所示 Code9 Flask的简单样例 from flask import Flask # 1. 定义app app Flask(__name__) # 2. 定义函数 app.route(/)def hello_world():return hello,word! # 3. 定义ip和端口 if __name__ __main__:app.run(host127.0.0.1, port8080)图5 Flask简单样例效果 1.2 Web网页部署实践 了解Flask之后将基于样例模型基于CNNMNIST训练的手写数字识别分类模型在Flask框架下进行网页部署实践。最终效果如图6所示数字是进入Web页面后用户绘制 图6 基于CNN的手写数字识别Web网页部署最终效果 接下来开始项目的架构与代码解析项目整体架构如表4所示 表4 CNN MNIST Web项目架构 .CNN ├── static       └── index.js                     # 页面按钮的交互 └── style.css                     # 页面的样式 ├── templates └── index.html                   # 页面的框架结构/组件定义 ├── CNN MNIST Define.py              # 模型定义 ├── flask_CNN.py                      # 模型的Web部署主项目 ├── model.h5                          # 训练评估后模型 Tips完整代码与注释详见项目代码在此只做关键代码解析。 1推理请求 前端三大件Html、Css、js的知识与编写并非本实验的重点在此不做展开。其中部署相关的是推理/预测请求与按钮逻辑的连接在本部分做一定解析。 本样例中通过Html定义Predict按钮并调用flask_CNN.py中的predict函数完成请求发送与数据接收其中前端部分相关核心代码如Code10所示 Code10 前端请求发送与数据接收核心代码 !-- /container --script srchttp://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js/scriptscript src{{ url_for(static,filenameindex.js) }}/scriptscript typetext/javascript$(.myButton).click(function() {var $SCRIPT_ROOT {{ request.script_root|tojson|safe }};var canvasObj document.getElementById(canvas);var img canvasObj.toDataURL();$.ajax({type: POST,url: $SCRIPT_ROOT /predict/,data: img,success: function(data){$(#result).text( Predicted Output: data);}});});/script 2基于Flask的Web部署 本样例中基于Flask的Web部署代码基本编写在flask_CNN.py部署流程总结于表5 表5 基于Flask的CNN Web部署流程 1、初始化     初始化flask app与与全局变量并将用户在Web页面画的图生成output.png。 2、搭建前端框架     根据Html搭建前端根据Css设计样式根据js定义逻辑。 3、预测     定义预测函数并通过调用模型对处理好图像进行预测返回结果。 4、输出并展示     根据预测结果返回数据展示在前端。 终端输出供测试可运行Web端口 根据表5本样例Web部署核心步骤为预测函数的定义核心代码如Code11所示即调用模型预测在此之前要对用户绘制的图像进行尺度处理符合模型输入规格 Code11 Web部署预测 # 调用训练好的模型和并进行预测global graphglobal sesswith graph.as_default():set_session(sess)model load_model(model.h5)out model.predict(x)response np.argmax(out, axis1)return str(response[0]) 至此基于CNN的手写数字识别分类模型在基于Flask的Web部署流程已完成根据图6可以看到可以较好地对用户绘制图像进行预测并在Web网页进行展示。 Tips将项目导入后直接运行flask_CNN.py即可进入Web页面开箱即用 2.基于Yolo v5的多物体检测 除了CNN外在本节我们尝试使用一些其他的深度模型也实践一些不同的部署方式本节样例以基于Yolo v5的多物体检测与识别为例。 2.1 Yolo 在样例实践前在此简单介绍一下Yolo算法尤其是Yolo v5Yolo是一系列模型从v1到v8包含经典与前沿的目标检测算法适配多种追踪、识别算法。经典的Yolo v1实现核心是图像分割与分块预测每个网格要预测B个bounding box如图7所示 图7 Yolo v1核心原理 而对于Yolo v5是在Yolo v4上微调的模型相对灵活网络架构如图8所示 图8 Yolo v5网络架构 TipsYolo不同版本原理相对复杂本实验主要做实践探究在此不做展开。 2.2 Yolo部署实践 Yolo v5官方项目及文档可见 Githubultralytics/yolov5: YOLOv5 PytorchYOLOv5 | PyTorch模型https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5s.pt直接下载模型选择Releases · ultralytics/yolov5 (github.com)补充模型默认有yolov5s、m、l、x四种参数量从小到大。 本地环境WindowsPycharm2021、torch1.11.0、torchvision0.12.0推荐使用Ubuntu 由于本地部署与Web部署定义与原理在上一章节已详述故本节只做Yolo模型部署的流程梳理与效果展示部署流程如表6所示 表6 Yolo 本地及Web部署流程 1、环境配置     Yolo一般基于Pytorch框架故需先配置Pytorch框架最好加上CUDA配置注意框架版本与Pytorch版本的适配性建议使用Conda管理开发环境。 2、项目与模型下载     若只是简单使用、部署Yolo模型可直接下载对应模型若要基于Yolo优化或基于自己的数据集训练模型需要下载项目导入。 3、使用模型     对于简单使用根据上一章节本地部署与Web部署的方法使用yolov5s.pt文件推理若需要实际开发或优化根据需求导入文件与数据集训练模型。 4、输出、保存并展示     若是简单使用根据预测结果返回图像保存在本地或展示在前端若是实际开发或优化保存训练好通过评估的模型。 输出本地结果图像/供测试可运行Web端口/新模型 代码项目架构如图9简单使用主要关注detect.py即可推理模块开发与优化需要使用train.py与test.py进行训练与评估测试。另外coco是官方提供了检测数据集Yolo v5在此数据集上表现优秀requirement.txt为项目配置文件。 图9 Yolo v5项目核心架构 2.2.1 快速开始 若想最快使用Yolo v5完成实际检测任务不做配置与模型部署首先可以考虑Pytorch工具箱的在线服务需要科学上网 https://colab.research.google.com/github/pytorch/pytorch.github.io/blob/master/assets/hub/ultralytics_yolov5.ipynbColab在线编译使用YOLOv5 - a Hugging Face Space by pytorchsmall Demo 2.2.2 本地部署 本地使用有在线导入部署在代码中下载模型与项目导入部署下好模型与源码在本地终端或IDE使用两种。 在线导入部署代码相对简单需要科学上网如Code12所示 Code12 在线导入部署Yolo v5 import torch# Model can change namemodel  torch.hub.load(ultralytics/yolov5, yolov5s, pretrainedTrue)# Images can change pathimgs  [https://ultralytics.com/images/zidane.jpg]  # batch of images# Inferenceresults  model(imgs)# Resultsresults.print()results.save()  # or .show() 至此在线导入部署成功。 而对于项目导入部署相对复杂但可调参数较多且对国内用户友好导入与配置代码如Code13所示 Code13 Yolo v5导入与配置本地 git clone https://github.com/ultralytics/yolov5  # clonecd yolov5 #本样例使用Pycharm打开pip install -r requirements.txt  # 配置 Tips导入与配置后还需导入下载的Pt模型文件若科学上网在项目内会自动下载或根据model的yaml文件困难。 在环境搭建、项目导入配置、模型文件导入后便可以轻松开始本地部署/使用简单样例如Code14所示 Code14 Yolo v5本地配置/使用带数据类型 python detect.py --weights yolov5s.pt --source 0                    # webcamimg.jpg                         # imagevid.mp4                         # videoscreen                          # screenshotpath/                           # directorylist.txt                        # list of imageslist.streams                    # list of streamspath/*.jpg                    # globhttps://youtu.be/Zgi9g1ksQHc  # YouTubertsp://example.com/media.mp4  # RTSP, RTMP, HTTP 根据Code14在本地对样例图像进行测试终端运行如图10所示结果如图11所示 图10 Yolo v5本地部署测试终端输出 图11 Yolo v5本地部署测试前后对比样例 分析根据图10与图11可以看到在本地可以正常调用Yolo v5模型并输出保存检测后图像验证了本地部署流程的正确性与合理性。 2.2.3 Web网页部署 和上节样例流程类似本样例的Web部署同样是基于Flask相关架构与知识不做赘述。 值得一提的是Yolo v5项目本就自带flask相关api用于Web网页部署的搭建详见文件夹flask_rest_api。核心用法是通过restapi.py初始化并配置前后端框架并基于example_request.py的结果启动服务。 最终部署效果如图12所示 图12 对于Yolo v5基于Flask的Web部署 分析如图12可以看到在Web网页可以正常调用Yolo v5模型并输出保存检测后图像验证了Web网页部署流程的正确性与合理性。 2.2.4 模型训练探索 在前文中我们知道项目导入后可根据具体需求可在源码项目上训练自己的分类模型一般流程与表2保持一致。本节我们尝试使用官方数据集coco带标注多物体数据集实践训练过程未修改代码样例代码如Code15所示 Code15 Yolo v5训练 python train.py --img 640 --batch 16 --epochs 5 --data coco128.yaml --weights yolov5s.pt Tips参数为自定义为深度模型基本参数与图像数量可按需修改。 补充yolov5可以配置wandb一个动态展示训练状态的web portal用以观察loss和设备情况如图13所示 图13 Yolo v5训练过程可视化 而对训练好的模型测试/评估代码样例可见Code16 Code16 Yolo v5测试/评估 python segment/val.py --weights yolov5s.pt --data coco.yaml --img 640  # validate 本实验的重点为模型部署模型训练仅作简单尝试优化部分不做展开。 2.2.5 云服务器部署 根据前文Web部署的定义我们知道除了Flask等前端框架中Web部署还常用厂商Cloud平台API在本章做简单介绍以阿里云为例。 Tips云服务器一般为付费服务本实验并未实践仅做理论与流程的简介。 云服务器带有算力资源可供在线存储、训练、推理等任务的服务。 为什么要进行云服务器部署一般是深度模型的训练需要使用云服务器的算力资源或数据需要使用云服务器的存储资源。 部署前提本地部署完成或模型代码未存在重大适配问题。 传输方案样例如何将文件上传到轻量应用服务器 (aliyun.com) 一般来说深度模型的云服务器部署流程如表7所示 表7 深度模型的云服务器部署流程 1、服务器配置与购买     根据实际任务需求配置服务器算力、内存等资源进行购买并设置对应镜像与创建实例。 2、服务器连接     通过工具eg.Xshell进行云服务器的连接SSH协议为主。 3、环境安装或模型传输     若对于新任务无模型需要部署则与本地开发类似先进行环境的安装与配置在已有模型/明确任务的前提下可以使用模型传输快速开始。 4、开启服务     在云服务器上开启服务进行所需任务。 根据资料查阅对上一样例基于Yolo v5的多物体检测进行云服务器部署的代码进行简单介绍。 本节以云服务器已搭建好为前提前后端部署分别为nginx部署与gunicorn部署代码分别见Code17与Code18 Code17 基于gunicorn的后端部署 sudo apt-get install pip   pip install gunicorn gunicorn -w 2 -b 0.0.0.0:5000 flask_app:app #后端部署 Code18 基于nginx的前端部署 sudo apt-get install nginx cd /etc/nginx/conf.d/ # 新建配置文件 vim index.conf # # 配置文件编写 server { listen 80; server_name 139.196.186.165;  # 修改成自己的IP地址 location / { root /home/lzq/yolov5-3.1;  # 修改成自己的用户名 index index.html index.htm; try_files $uri $uri/ /index.html; } } # 将算法部署到80端口这样可以通过http://www.lzqlab.xyz或者http://lzqlab.xyz域名进行访问 server { listen 80; server_name www.lzqlab.xyz;  # 修改成自己的IP地址 location / { root /home/lzq/yolov5-3.1;  # 修改成自己的用户名 index index.html index.htm; try_files $uri $uri/ /index.html; } } server { listen 80; server_name lzqlab.xyz;  # 修改成自己的IP地址 location / { root /home/lzq/yolov5-3.1;  # 修改成自己的用户名 index index.html index.htm; try_files $uri $uri/ /index.html; } } sudo nginx -s reload # 更新配置文件 sudo service nginx restart # 重启前端部署 至此Yolo v5的云服务器部署与Web展示就成功完成。 四、真实项目中的模型部署解析 在前三章分别引入了模型部署的基本知识实现了两个样例的本地部署与不同Web部署在本章通过本人做过的真实项目对移动设备模型部署做一定补充。 1.智慧养鹅 项目简介本项目为腾班-腾讯云合作项目旨在通过计算机视觉技术助农以解决解决传统养殖中鹅群存活率过低问题为主要需求通过硬件、前端、后端、算法四个组共同完成最终产品为“智慧养鹅”小程序已上线主要实现查看鹅群、疾病预警、数据分析三大功能项目架构如图14所示 图14 智慧养鹅项目架构 技术框架硬件采用部署在鹅厂的服务器以及视觉所的服务器后端采用Python构建数据库搭配云服务器前端采用Vue框架算法部分主要是Yolo v5自训练分类模型数据库由项目团队采集标注检测DeepStream加速推理原TensorRTDeepSort追踪自定义算法识别病鹅算法框架如图15所示 图15 智慧养鹅算法部分架构 由于本次实验重点为模型部署故我们主要介绍本项目中的模型部署与前文第二个样例类似本项目检测模型同样部署在服务器而整个算法部分是集成为API供后台调用并发送数据给前端最终效果如图16所示 图16 “智慧养鹅”小程序展示效果 分析如图16所示小程序移动设备中可以正常调用算法部分提供的模型对应功能间接验证了模型部署的正确性。 2.电影推荐系统 项目简介本项目为云计算领域本人构建的真实项目顾名思义旨在通过推荐算法给不同用户提供适合的电影。最终产品为“Yiru recommend for you”APP暂未上线架构如图17所示 图17 电影推荐系统项目架构 技术框架开发软件为Android Studio开发语言为JAVA推荐算法方面分别使用了基于MapReduce与Spark的几种协同过滤算法基于用户、模型、物品同时使用了基于TextCNN的推荐算法部署时采用AndroidFlask进行部署最终效果如图18 图18 “Yiru recommend for you”APP展示效果 分析如图18所示APP移动设备中可以正常调用推荐算法部分提供的模型对应功能间接验证了模型部署的正确性。 五、部署方案补充  前四章对不同经典的部署方案做了定义与不同模型的实践且搭配真实项目做理论补充但实际上除了本地部署、Web部署、移动设备部署等方案还有一些部署方案与一些模型部署优化理论可以介绍在本章做简单介绍。 1.通过机器学习平台进行模型部署 在工业界实际上还有其他多种针对特定需求的部署方案在此不做展开。将匹配度放大以机器学习平台进行模型部署为例进行部署方案的补充主流的机器学习平台调研报告详情可见主流机器学习平台调研与对比分析_李忆如的博客-CSDN博客。 以Alibaba的平台PAI为例PAI在模型部署阶段提供了两种服务PAI-EAS与PAI-Blade PAI-EAS 在模型部署阶段提供模型在线预测服务弹性推理PAI-Blade在模型部署阶段提供推理的通用加速使其高效到达最优性能 1.1 PAI-EAS 根据简介我们知道PAI-EAS是PAI平台的模型在线预测服务有以下几个优势 ①灵活易用模型部署与服务调用方式灵活与PAI-Designer、PAI-DSW无缝对接 ②异构资源针对ML、DL模型不同特点一键部署模型到CPU、GPU ③弹性高可用高并发高吞吐服务响应时长短资源弹性收缩 产品使用方面PAI-EAS提供了四种模型部署方式与三种服务调用路径如图19所示 图19 PAI-EAS产品使用左为模型部署方式、右为服务调用路径 解决方案/应用场景官网并未明确给出但在大量ML/DL任务的模型部署中均适用。 产品实践在产品控制台根据需求定义即可创建部署样例如图20结果如图21所示 图20 PAI-EAS部署服务创建 图21 PAI-EAS结果样例 分析如图20、21所示PAI-EAS提供用户在线的预测工具及完整的运维监控体系。 1.2 PAI-Blade 根据定义我们知道PAI-Blade是一个通用推理加速器通过模型系统联合优化有多框架、多设备GPU、CPU、端、能力强支持多种优化技术、易使用四个特点。技术架构如图22所示 图22 PAI-Blade技术架构 使用步骤PAI-Blade并不是一个在线服务而是SDK安装并使用即可安装命令根据框架、版本、设备、语言有所不同详见模型推理优化Blade (aliyun.com) Tips其他主流机器学习平台一般均带有模型部署相关工具在此不做展开详见对应官网或调研报告。 2. 参考资料 1.模型部署1/3-构建MNIST手写字深度学习模型 - 知乎 (zhihu.com) 2.模型部署3/3-手把手实现利用flask深度学习模型部署 - 知乎 (zhihu.com) 3.yolov5深度剖析源码debug级讲解系列一 yolov5的架构和源码debug准备 4.##如何在阿里云服务器上部署yolov5模型##_yolo部署到服务器_博客菌_lzq的博客-CSDN博客 
文章转载自:
http://www.morning.lsfbb.cn.gov.cn.lsfbb.cn
http://www.morning.bbgn.cn.gov.cn.bbgn.cn
http://www.morning.dfbeer.com.gov.cn.dfbeer.com
http://www.morning.lwmzp.cn.gov.cn.lwmzp.cn
http://www.morning.lcplz.cn.gov.cn.lcplz.cn
http://www.morning.lhptg.cn.gov.cn.lhptg.cn
http://www.morning.trkl.cn.gov.cn.trkl.cn
http://www.morning.trplf.cn.gov.cn.trplf.cn
http://www.morning.zmlnp.cn.gov.cn.zmlnp.cn
http://www.morning.sfnr.cn.gov.cn.sfnr.cn
http://www.morning.rykmf.cn.gov.cn.rykmf.cn
http://www.morning.sjsfw.cn.gov.cn.sjsfw.cn
http://www.morning.bcjbm.cn.gov.cn.bcjbm.cn
http://www.morning.fcwb.cn.gov.cn.fcwb.cn
http://www.morning.rbkml.cn.gov.cn.rbkml.cn
http://www.morning.rynq.cn.gov.cn.rynq.cn
http://www.morning.fhtmp.cn.gov.cn.fhtmp.cn
http://www.morning.tbnn.cn.gov.cn.tbnn.cn
http://www.morning.rblqk.cn.gov.cn.rblqk.cn
http://www.morning.nfbxgtj.com.gov.cn.nfbxgtj.com
http://www.morning.rwdbz.cn.gov.cn.rwdbz.cn
http://www.morning.xfxnq.cn.gov.cn.xfxnq.cn
http://www.morning.fnfxp.cn.gov.cn.fnfxp.cn
http://www.morning.dtrcl.cn.gov.cn.dtrcl.cn
http://www.morning.kgjyy.cn.gov.cn.kgjyy.cn
http://www.morning.kdnrc.cn.gov.cn.kdnrc.cn
http://www.morning.yqsq.cn.gov.cn.yqsq.cn
http://www.morning.qjfkz.cn.gov.cn.qjfkz.cn
http://www.morning.dktyc.cn.gov.cn.dktyc.cn
http://www.morning.pcqdf.cn.gov.cn.pcqdf.cn
http://www.morning.trwkz.cn.gov.cn.trwkz.cn
http://www.morning.brcdf.cn.gov.cn.brcdf.cn
http://www.morning.hmtft.cn.gov.cn.hmtft.cn
http://www.morning.wnbqy.cn.gov.cn.wnbqy.cn
http://www.morning.wgxtz.cn.gov.cn.wgxtz.cn
http://www.morning.dwzwm.cn.gov.cn.dwzwm.cn
http://www.morning.zcwwb.cn.gov.cn.zcwwb.cn
http://www.morning.cnkrd.cn.gov.cn.cnkrd.cn
http://www.morning.lbcbq.cn.gov.cn.lbcbq.cn
http://www.morning.ysdwq.cn.gov.cn.ysdwq.cn
http://www.morning.mfxcg.cn.gov.cn.mfxcg.cn
http://www.morning.tkqzr.cn.gov.cn.tkqzr.cn
http://www.morning.fxkgp.cn.gov.cn.fxkgp.cn
http://www.morning.qnxtz.cn.gov.cn.qnxtz.cn
http://www.morning.pwsnr.cn.gov.cn.pwsnr.cn
http://www.morning.tkgxg.cn.gov.cn.tkgxg.cn
http://www.morning.fgkwh.cn.gov.cn.fgkwh.cn
http://www.morning.rzbcz.cn.gov.cn.rzbcz.cn
http://www.morning.wdjcr.cn.gov.cn.wdjcr.cn
http://www.morning.wnywk.cn.gov.cn.wnywk.cn
http://www.morning.jmspy.cn.gov.cn.jmspy.cn
http://www.morning.rbzd.cn.gov.cn.rbzd.cn
http://www.morning.ljbm.cn.gov.cn.ljbm.cn
http://www.morning.dzpnl.cn.gov.cn.dzpnl.cn
http://www.morning.mmjqk.cn.gov.cn.mmjqk.cn
http://www.morning.gmyhq.cn.gov.cn.gmyhq.cn
http://www.morning.srkqs.cn.gov.cn.srkqs.cn
http://www.morning.rlbfp.cn.gov.cn.rlbfp.cn
http://www.morning.kgxyd.cn.gov.cn.kgxyd.cn
http://www.morning.bnfjh.cn.gov.cn.bnfjh.cn
http://www.morning.kxmyj.cn.gov.cn.kxmyj.cn
http://www.morning.huihuangwh.cn.gov.cn.huihuangwh.cn
http://www.morning.srkzd.cn.gov.cn.srkzd.cn
http://www.morning.pwrkl.cn.gov.cn.pwrkl.cn
http://www.morning.hmgqy.cn.gov.cn.hmgqy.cn
http://www.morning.qphgp.cn.gov.cn.qphgp.cn
http://www.morning.hqsnt.cn.gov.cn.hqsnt.cn
http://www.morning.xhjjs.cn.gov.cn.xhjjs.cn
http://www.morning.tngdn.cn.gov.cn.tngdn.cn
http://www.morning.qcrhb.cn.gov.cn.qcrhb.cn
http://www.morning.pjwfs.cn.gov.cn.pjwfs.cn
http://www.morning.ywtbk.cn.gov.cn.ywtbk.cn
http://www.morning.nzlsm.cn.gov.cn.nzlsm.cn
http://www.morning.wxccm.cn.gov.cn.wxccm.cn
http://www.morning.dpsgq.cn.gov.cn.dpsgq.cn
http://www.morning.qpsdq.cn.gov.cn.qpsdq.cn
http://www.morning.pwwdp.cn.gov.cn.pwwdp.cn
http://www.morning.mdmxf.cn.gov.cn.mdmxf.cn
http://www.morning.bwqr.cn.gov.cn.bwqr.cn
http://www.morning.ychoise.com.gov.cn.ychoise.com
http://www.tj-hxxt.cn/news/250093.html

相关文章:

  • 网站排名高权重低电商网站设计案例
  • 网站开发工程师应聘书范文1000西安seo外包服务
  • 徐州公司做网站安徽网站开发与维护专业
  • 怎样做网站二级页面临潼微网站建设
  • jsp网站开发存在的问题衡水seo
  • 孝感网站开发的公司无锡企业建站系统
  • 网站模板 chinaz什么是精准营销
  • 专门教做衣服的网站软通动力和中软国际对比
  • 专业型网站网站古典风格中药医药企业网站模板源码
  • 江苏做帖子网站宁波建设网站公司推荐
  • 科技股份公司网站模板安徽建设厅网站官网
  • 好牛网站建设网页怎么制作长面
  • 肇庆网站制作策划网站开发工程师学什么区别
  • 天河网站开发wordpress改模版
  • 深圳企业网站建设推广外包服务商学剪辑有必要报班吗
  • 免费发布信息网站大全666六安网站建设价格
  • 网站建设漠环熊掌号做的网站有广告图片
  • 装修公司网站模板教育机构网站制作模板
  • 汕头模版网站建设apache建设本地网站
  • 网站开发接入本地天地图seo大牛
  • 网站建设的意见建议做网站公司哪家强
  • 网站设计建网站做非物质文化遗产网站的风险
  • 学校网站内容玉林专业网站建设
  • 网站开发工具排名现在哪个行业做网站需求多点
  • 云网站建站建设门户网站需要多少钱
  • 深圳网站建设价钱重庆网站推广工具
  • 贵州做网站wordpress粘贴文章
  • 湖南省建设银行网站网站宽度 1000px
  • 电影网站cpa怎么做饮品网页设计图片
  • 建站系统哪个好深圳便宜的网站开发联系