深度模型部署

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多流技术,最大化实现并行操作.

深度模型部署_第1张图片

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

深度模型部署_第2张图片

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

7.缺点:

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

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

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

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

WOW!

你可能感兴趣的:(深度学习,人工智能)