深度模型部署

半度温热 半度温热     2023-02-27     266

关键词:

1.当我们完成了数据获取,数据标注,数据清洗,模型训练,模型评估,模型优化后,我们该做什么呢?当 然是模型上线.也就是说将模型部署,封装打包,提供给最终要使用的用户.

 

2.提到模型部署,现在有好几种方式,eg:TF_Servering,flask_web,安卓,TensorRT等.我们要根据不同的场景和需求来选择合适部署方式.

3.我比较熟悉的是TensorRT的部署.什么是tensorRT呢???它是NVIDIA(英伟达)针对自家平台做的一个加速包.支持c++,python API接口.可以把pytorch,tensorflow或者其他框架训练好的模型,转换为TensorRT格式,然后利用它的推理引擎(engine文件)去运行我们的这个模型,从而提升这个模型在NVIDIA GPU上的运行速度以及满足特殊场景下实时性的需求.支持算力在5.0以及以上的显卡设备.

4.场景(PC端(个人电脑),嵌入式端,服务端等...)

    1)PC端:1080,2080,3080等显卡.

    2)嵌入式端: xavier NX,TX2,nano等.

    3)服务器端: v100等.

5.tensorRT的加速手段

    1)算子融合:通过融合一些计算操作来减少数据的流通次数,以及显存的频繁使用来提速.

    2)量化:TensorRT支持INT8和FP16的计算.深度学习在网络训练时一般默认采用16位的数据,trt

       在网络推理时选用不那么高的精度,从而达到加速推断的目的.

    3)使用cuda steram多流技术,最大化实现并行操作.

 6.CPU与GPU的区别,为何部署在GPU上?CPU主要是解释计算机指令以及处理计算机软件中的数据,相当于是一台计算机的“大脑”,而GPU是一个专门的图形核心处理器,是显示卡的“大脑”,决定显卡的档次和大部分性能.

答案就在图中!!!!!!!!!!!!!!!!!!!!

7.缺点:

    1)经过优化后的模块必须与特定的GPU绑定.

    2)TensorRT依赖CUDA,如果你想要更换更高版本的tensorrt,就必须更换CUDA,更换环境比较麻            烦 .

    3)学习研究的资料较少.

8.准备开始研究在jetson 设备上分别以c++,python两种API进行部署(yolov5).希望可以顺利进行部署,然后做一个对比试验,之后再给大家分享数据!

WOW!

自动驾驶中的深度学习模型量化部署加速实战

这里主要是针对AI算法落地的模型部署,其中有基于TensorRT的部署、基于OpenCV+CUDA的部署以及基于NCNN的部署,项目包括简单的demo案例、目标检测、语义分割、实例分割、车道线检测以及Transformer等。大家可以参考以下的链接进行... 查看详情

将深度学习模型部署为exe需要哪些工具

将深度学习模型部署为exe需要工具主要包括生产环境下PyTorch模型转换、PyTorch模型转为C++模型、生产环境下TensorFlow模型转换、生产环境下Keras模型转换、生产环境下MXNet模型转换、基于Go语言的机器学习模型部署、通用深度学习模... 查看详情

部署深度学习模型时的全流程加密方案探索

 本文用于探索深度学习模型在部署全流程过程中的整体方案部署场景涉及程序端及编程语言:界面端(C#)、服务端(C#)、训练端(Python)剥离加密之后的流程:界面端根据训练配置调用训练端... 查看详情

深度模型部署

...的频繁使用来提速.  2)量化:TensorRT支持INT8和FP16的计算.深度学习在网络训练时一般默认采用16位的数据,trt 查看详情

《自动驾驶中的深度学习模型量化部署加速实战》专栏概述|实战教程,开放源码

这里主要是针对AI算法落地的模型部署,其中有基于TensorRT的部署、基于OpenCV+CUDA的部署以及基于NCNN的部署,项目包括简单的demo案例、目标检测、语义分割、实例分割、车道线检测以及Transformer等。大家可以参考以下的链接进行... 查看详情

heroku:部署深度学习模型(代码片段)

我使用Flask开发了一个restAPI来公开PythonKeras深度学习模型(用于文本分类的CNN)。我有一个非常简单的脚本,它将模型加载到内存中并输出给定​​文本输入的类概率。API在本地完美运行。然而,当我gitpushherokumaster,我得到Compil... 查看详情

flaskweb服务部署深度学习模型yolo

说起来人工智能现在真是大热,之前也做过很多这方面的项目,譬如使用opencv识别车道线辅助驾驶,使用一些机器学习算法处理数字信号,使用BP神经网络处理信号或者其他的一些方面的应用,或者进行语音识... 查看详情

mlops-吴恩达andrewngoverviewofthemllifecycleanddeploymentweek1部署深度学习模型model实现(代码片段)

...这个未分级的实验室中,您将完成部署已经训练好的深度学习模型的过程。为此ÿ 查看详情

深度学习模型在移动端部署方法

1.Keras 转 tflitedefkeras2tflite(keras_model,tflitefile) converter=tf.lite.TFLiteConverter.from_keras_model(model_2) #Indicatethatwewanttoperformthedefaultoptimizations, converter.optimizations=[tf.lite.Optimize.DEFAULT] tflite_model=converter.convert() open(tflitefile,"wb").write(tflite_... 查看详情

边缘计算|在移动设备上部署深度学习模型的思路与注意点⛵

大家在新闻当中见到越来越多的令人振奋的人工智能相关的应用新闻。『人工智能在围棋中击败了人类!』『基于神经网络的精准天气预报』『会写作创作的AI』『会说话的蒙娜丽莎绘画』『绘画艺术创作以假乱真的AI』尽管新... 查看详情

深度网络模型压缩综述

深度网络模型压缩综述文献来源:雷杰,高鑫,宋杰,王兴路,宋明黎.深度网络模型压缩综述[J].软件学报,2018,29(02):251-266.摘要:深度网络近年来在计算机视觉任务上不断刷新传统模型的性能,已逐渐成为研究热点.深度模型尽管性能强大... 查看详情

深度学习模型压缩与加速

...网络搜索模型剪枝核稀疏化量化操作前言压缩与加速对于深度学习模型的端侧部署至关重要,但假设你的模型部署在服务端,模型的压缩与加速显得作用并不是特别大。在前一篇博客中,深度学习模型压缩之知识蒸馏... 查看详情

深度学习之模型优化模型剪枝模型量化知识蒸馏概述

...优化有哪些方式呢?显而易见答案就在标题之中。【深度学习之模型优化】模型剪枝、模型量化、知识蒸馏概述模型剪枝技术概述1.什么是模型剪枝2.模型剪枝的必要性模型量化技术概述1.什么是模型量化2.模型量化的优势模... 查看详情

tensorrt模型加速1-输入输出部署流程

...的作用。然后介绍TensorRT模型导入流程,针对不同的深度学习框架,使用不同的方法导入模型。一、TensorRT简介TensorRT是NVIDIA公司发布的一个高性能的深度学习推理加速框架,下面先看一下使用TensorRT的背景: 查看详情

开源深度学习模型部署工具箱mmdeploy简介及安装(代码片段)

   MMDeploy是一个开源的深度学习模型部署工具箱,是OpenMMLab项目的一部分,源码在https://github.com/open-mmlab/mmdeploy,最新发布版本为v0.8.0,License为Apache-2.0。它支持在Windows10、Linux和Mac上运行。   MMDeploy主要特性&#x... 查看详情

地址标准化服务ai深度学习模型推理优化实践

导读深度学习已在面向自然语言处理等领域的实际业务场景中广泛落地,对它的推理性能优化成为了部署环节中重要的一环。推理性能的提升:一方面,可以充分发挥部署硬件的能力,降低用户响应时间,同时节省成本;另一方... 查看详情

翻译:deeplearning深度学习平台huggingface开源代码和技术构建训练和部署ml模型(代码片段)

1.什么是HuggingFace🤗HuggingFace是一个社区和数据科学平台,提供:使用户能够基于开源(OS)代码和技术构建、训练和部署ML模型的工具。一个广泛的数据科学家、研究人员和ML工程师社区可以聚集在一起分享想法、获得支... 查看详情

翻译:deeplearning深度学习平台huggingface开源代码和技术构建训练和部署ml模型(代码片段)

1.什么是HuggingFace🤗HuggingFace是一个社区和数据科学平台,提供:使用户能够基于开源(OS)代码和技术构建、训练和部署ML模型的工具。一个广泛的数据科学家、研究人员和ML工程师社区可以聚集在一起分享想法、获得支... 查看详情