训练好的深度学习模型是怎么部署的?

训练好的深度学习模型是怎么部署的?,第1张

先说结论:部署的方式取决于需求

需求一:简单的demo演示,只要看看效果的,像是学校里面的demo展示这种

caffe、tf、pytorch等框架随便选一个,切到test模式,拿python跑一跑就好,顺手写个简单的GUI展示结果

高级一点,可以用CPython包一层接口,然后用C++工程去调用

需求二:要放到服务器上去跑,但一不要求吞吐二不要求时延的那种,说白了还是有点玩玩的意思

caffe、tf、pytorch等框架随便选一个,按照官方的部署教程,老老实实用C++部署,例如pytorch模型用工具导到libtorch下跑(官方有教程,很简单)

这种还是没有脱离框架,有很多为训练方便保留的特性没有去除,性能并不是最优的;

另外,这些框架要么CPU,要么NVIDIA GPU,对硬件平台有要求,不灵活;还有,框架是真心大,占内存(tf还占显存),占磁盘

需求三:放到服务器上跑,要求吞吐和时延(重点是吞吐)

这种应用在互联网企业居多,一般是互联网产品的后端AI计算,例如人脸验证、语音服务、应用了深度学习的智能推荐等。由于一般是大规模部署,这时不仅仅要考虑吞吐和时延,还要考虑功耗和成本。所以除了软件外,硬件也会下功夫,比如使用推理专用的NVIDIA P4、寒武纪MLU100等。这些推理卡比桌面级显卡功耗低,单位能耗下计算效率更高,且硬件结构更适合高吞吐量的情况软件上,一般都不会直接上深度学习框架。对于NVIDIA的产品,一般都会使用TensorRT来加速(我记得NVIDIA好像还有TensorRT inference server什么的,名字记不清了,反正是不仅可以加速前传,还顺手帮忙调度了)。TensorRT用了CUDA、CUDNN,而且还有图优化、fp16、int8量化等。反正用NVIDIA的一套硬软件就对了

需求四:放在NVIDIA嵌入式平台上跑,注重时延

比如PX2、TX2、Xavier等,参考上面(用全家桶就对了),也就是贵一点嘛

需求五:放在其他嵌入式平台上跑,注重时延

硬件方面,要根据模型计算量和时延要求,结合成本和功耗要求,选合适的嵌入式平台。比如模型计算量大的,可能就要选择带GPU的SoC,用opencl/opengl/vulkan编程;也可以试试NPU,不过现在NPU支持的算子不多,一些自定义Op多的网络可能部署不上去对于小模型,或者帧率要求不高的,可能用CPU就够了,不过一般需要做点优化(剪枝、量化、SIMD、汇编、Winograd等)顺带一提,在手机上部署深度学习模型也可以归在此列,只不过硬件没得选,用户用什么手机你就得部署在什么手机上23333。为老旧手机部署才是最为头疼的上述部署和优化的软件工作,在一些移动端开源框架都有人做掉了,一般拿来改改就可以用了,性能都不错。

需求六:上述部署方案不满足我的需求

比如开源移动端框架速度不够——自己写一套。比如像商汤、旷世、Momenta都有自己的前传框架,性能应该都比开源框架好。只不过自己写一套比较费时费力,且如果没有经验的话,很有可能费半天劲写不好

蓝海大脑深度学习水冷工作站研究人员表示:
虽然有许多推荐算法和技术,但大多数都属于以下广泛类别:协作过滤、内容过滤和上下文过滤。
协作过滤算法根据许多用户的偏好信息(这是协作部分)推荐物品(这是过滤部分)。此方法使用用户偏好行为的相似性,并鉴于用户与物品之间的之前交互,推荐算法便可以学会预测未来交互。这些推荐系统基于用户过去的行为构建模型,例如之前购买的物品或给予这些物品的评分以及其他用户的类似决策。相关理念在于,如果有些人过去也做出过类似的决策和购买,比如选择,那么他们很有可能会同意未来的其他选择。例如,如果协作过滤推荐系统了解您和另一个用户在中有着相似的品味,它可能会向您推荐一部其了解的其他用户已经喜欢的。
相比之下,内容过滤则使用物品的属性或特征(这是内容部分)来推荐类似于用户偏好的其他物品。此方法基于物品和用户特征的相似性,并鉴于用户及其与之交互过的物品的信息(例如,用户的年龄、餐厅的菜系、的平均评价),来模拟新互动的可能性。例如,如果内容过滤推荐系统了解到您喜欢《电子情书》和《西雅图夜未眠》,它可能会向您推荐另一部相同类别和/或演员阵容的,例如《跳火山的人》。
混合推荐系统结合了上述类型系统的优势,以便创建更全面的推荐系统。
上下文过滤包括推荐过程中用户的背景信息。Netflix 在 NVIDIA GTC 大会上提出,将推荐内容框定为上下文序列预测,以便作出更好的推荐。此方法使用一系列上下文用户 *** 作和当前上下文来预测下一个 *** 作的概率。在 Netflix 示例中,鉴于每位用户的序列(用户在观看时的国家/地区、设备、日期和时间),他们训练出一个模型,来预测用户接下来要观看的内容。

最近在学习机器学习,看到了深度学习这一部分。用tensorflow写了几个例子,CNN的,然后在我的15年版的MacbookPro上跑了跑了,训练速度真是不忍直视,而且,风扇呼呼转,真是心疼我这个Mac了。于是意识到显卡这个东西真是个门槛。因此才想着搞一台高配置的主机来跑深度网络。

既然是跑深度学习,那么直接在电商网站上搜一下深度学习主机买来不就得了? 理论总是那么简单。。。
事实上,我看了下专门跑深度学习的主机,基本都是服务器级别的,动辄2W+ 。我是没这么多银子来投入这个的,没办法,穷人啊。

那么,想一下自己需求,找一个合适的主机吧。我的目的也很简单的:

好了, 这么一罗列就明确了,就是一个高配游戏主机喽。不要误会,这是巧合~~ 于是 我去闲鱼上瞅了瞅,看出点门道,一般i7 8700 + 1080Ti显卡的主机,就可以卖到1W了~~ 啧啧 游戏真是败家。

一开始我也想着直接买个这种主机,省事儿,不过既然都花到1W了,对各个配置外观就很在意了。看了很多主机,感觉都不是理想中的样子,要么机箱丑, 要么主板渣,要么硬盘和内存规格不够。其实我主要在意的是CPU和显卡,只要这两个满足就OK啊,然后就可以慢慢攒出自己想要的主机了。我看了闲鱼上的价格,i7 8代CPU的价格,代购的话也就2500左右,为了以后升级考虑,直接上了i7 8086K(这是个intel为了纪念第一代8086芯片40周年的纪念品,其实是从8700K中挑出来的体质好的片),4GHZ,高主频,干事儿快。1080Ti的显卡是最具性价比的了,二手价格4K左右,不过容易踩到雷买到挖矿的卡~ 这个小心了。

总的来说,各个配件都准备妥当了,来一下清单:

总计: 9800吧~(真贵)~ 总的来说,必直接先闲鱼上的主机要好一些,多了可配置性。

这个就不展开了,按照说明书一步步来就好。主要是安装顺序以及接线。
安装顺序:电源装到机箱 -> CPU装到主板 -> 主板装到机箱 -> 水冷 散热风扇 -> 接线
这里有两个地方需要注意:

最后上个成品图 啊哈哈~

这么好的显卡不玩玩游戏是不是亏了?? 那就保留一个win系统吧~

现在网上的双系统如何安装帖子都是老教程了~ Ubuntu都发布了1804,支持UEFI+GPT。那么如何搞呢?

首先,先安装win10,如果是自己制作U盘启动项,务必选择UEFI+GPT组合模式,也就是做用UEFI模式引导,硬盘为GPT格式。如果不是,那么需要检查一下并完成转换,这里有个教程,直接用win10自带的工具就能做到,但是前提是win10升级到1703之后的版本。

用Win10自带的MBR2GPT无损转换GPT磁盘分区形式

然后就是安装Ubuntu1804了。我是安装在一个磁盘里,因此需要先空出一定大小的未分配空间。然后制作Ubuntu1804的U盘启动项,选择UEFI+GPT组合模式。这里是官方教程:

win系统上制作Ubuntu的U盘启动

然后按照这个教程就好了: Windows10+Ubuntu1804双系统安装

安装好Ubuntu1804之后登录进去发现系统变漂亮了(但是还是一贯的难用,相比Mac和win)。可以进行一些美化 *** 作。。 好像很多人喜欢这个,贴个教程吧: Linux也可以这样美——Ubuntu1804安装、配置、美化-踩坑记

之后就是配置我们的深度学习环境了。目前我主要用tensorflow,只记录这个。

主要步骤:

好了,可以从GitHub上下点example跑起来了,CNN的计算有了1080TI的加持还是很快的,开心~~

需要配置远程访问,jupyter notebook服务。远程Pycharm调试环境。
这里有个麻烦,就是家里是局域网,而且接的是长城渣宽带,没有独立IP,需要用frp中转一下。

不一定,深度学习可以在本地计算机上运行,也可以在服务器上运行。但是,通常情况下,深度学习需要处理大量的数据和复杂的计算,因此需要比普通计算机更高效的硬件和更大的存储空间。因此,一些公司和组织通常会使用高性能计算机(HPC)或云计算平台来运行深度学习任务。
在本地运行深度学习任务的主要优点是可以对计算机进行更好的控制,可以使用自己的硬件和软件。此外,本地计算机可以更好地保护数据的隐私和安全性。但是,本地计算机的计算能力和存储空间通常受限,因此可能无法满足大规模深度学习任务的需求。
使用服务器或云计算平台运行深度学习任务的主要优点是可以获得更高的计算能力和更大的存储空间。此外,使用云计算平台可以根据需要调整计算资源的规模,从而更好地应对不同规模的深度学习任务。但是,使用云计算平台需要支付相应的费用,并且需要注意数据隐私和安全性的保护。

蓝海大脑深度学习液冷服务器研究人员表示:
推荐系统是一种人工智能或人工智能算法,通常与机器学习相关,使用大数据向消费者建议或推荐其他产品。这些推荐可以基于各种标准,包括过去的购买、维稳搜索历史记录、人口统计信息和其他因素。推荐系统非常有用,因为它们可以帮助用户了解自己无法自行找到的产品和服务。
推荐系统经过训练,可使用收集的交互数据了解用户和产品偏好、之前的决策和特征。其中包括展示、点击、喜欢和购买。推荐系统由于能够高度个性化地预测消费者兴趣和需求,因此受到内容和产品提供商的喜爱。从书籍、视频、健康课程到服装,它们都可以促使消费者选择其感兴趣的任何产品或服务。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/12865103.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-28
下一篇2025-08-28

发表评论

登录后才能评论

评论列表(0条)

    保存