网站建设好后的手续交接,seo排名诊断,如何创建网站教程,wordpress全自动采集插件目录
1 什么是深度学习算法
2 算法训练
2.1 训练的原理
2.2 名词解释
3 算法C部署
3.1 嵌入式终端板子部署
3.3.1 tpu npu推理
3.3.2 cpu推理
3.2 服务器部署
3.2.1 智能推理
3.2.2 CPU推理 1 什么是深度学习算法
这里不去写复杂的概念#xff0c;就用通俗的话说…目录
1 什么是深度学习算法
2 算法训练
2.1 训练的原理
2.2 名词解释
3 算法C部署
3.1 嵌入式终端板子部署
3.3.1 tpu npu推理
3.3.2 cpu推理
3.2 服务器部署
3.2.1 智能推理
3.2.2 CPU推理 1 什么是深度学习算法
这里不去写复杂的概念就用通俗的话说一下现在常用的分类和检测这种深度学习算法是怎么一回事现在常用的分类和检测算法其实就用的卷积神经网络神经网络的原理可以看这篇文章我当初就是看了这篇文章CNN笔记通俗理解卷积神经网络_cnn卷积神经网络_v_JULY_v的博客-CSDN博客
其实我的理解深度学习算法就和教小孩认字一样一个孩子你老是给他写1 2 3 4 5然后跟他说这是1这是2这样孩子就学会1 2 3 4 5了同样比如一个猫狗分类的算法网络模型你不断的用猫和狗的图片数据去训练然后算法模型也就知道什么是猫什么是狗了这是简单理解。
然后初学者想知道深度学习的流程其实流程可以分为
算法训练算法部署
2 算法训练
算法训练就是用图片数据和深度学习框架在有显卡的服务器上进行训练得到算法模型。下面解释下这句话。
2.1 训练的原理
这里也用通俗易懂的语言解释不整学术名词其实我们的算法模型不就是神经网络吗那神经网络里面含有很多神经元其实一个神经元就是一个方程 那么我们的算法模型是由很多个神经元组成的一个神经元是一个方程那其实我们的算法模型就是一个方程组我们训练的过程其实就是用图片数据去求方程组的系数求出系数后你给模型一张图片模型方程组根据系数就能算出来模型输出也就是图片推理结果比如一张图片带入到方程组中计算发现奥这张图片是猫。
2.2 名词解释
图片数据这个如果是在公司里面会有专门的数据人员负责图片的采集和标注工作然后如果采集不到数据集那么你可以自己用puthon去网上自己下载一些图片用作训练。比如这个python脚本利用python批量下载百度图片_陈 洪 伟的博客-CSDN博客
深度学习框架这个有pytorchTensorFlowcaffedarknet等这些框架训练的时候需要用这些框架去训练首先要在电脑上安装相应框架需要的环境然后才能去训练。
显卡我们训练要在有显卡的服务器上进行训练至于显卡的性能要求那当然是性能越高越好这样训练算法越快那么没有显卡行不行也行那就是用CPU训练但是很慢。
python算法训练都是用python脚本去做的所以需要先学习python但是初学者如果你想快速入门你不用再从零学python因为python语法很简单初学者基本上也是修改python脚本甚至不用自己写脚本所以这时候先不学也行会修改脚本后面有时间再学。
其实初学者像更快的入门那直接找一个算法训练的步骤文章然后一步步的跟着跑一遍也就更容易理解了可以去github上搜yolov5然后跟着步骤做一遍也可以看我的文章https://cumtchw.blog.csdn.net/article/details/115064641
这篇文章可能是付费的你们可以去网上搜其他的文章跟着一步步来做。
3 算法C部署
前面我们得到了算法模型那么我们要把模型部署到机器上然后用他来做推理完成工作工程部署一般都是用C做部署那么部署分为服务器部署和嵌入式终端板子部署。
3.1 嵌入式终端板子部署
3.3.1 tpu npu推理
嵌入式板子有很多厂家比如瑞芯微的比特大陆的(BM1684)寒武纪的(思元220)华为的(HISI3559,Atlas系列)英伟达的(xavier)那么我们首先要把我们前面训练得到的模型转换成不同厂家的模型这时候每个厂家都会提供相应的转换工具或转换脚本把我们的训练模型转成不同厂家格式的模型然后再利用不同厂家提供的推理demo完成算法模型的C推理。
比如我们以瑞芯微的为例吧我们训练得到了算法模型然后我们先在电脑上安装瑞芯微的模型转换工具toolkit然后用python脚本把我们的模型转成xxxx.rnkk格式的模型然后厂家还会提供Cdemo然后再用Cdemo完成模型的推理。其他的比特大陆/寒武纪/华为/英伟达都一个道理只不过转换和推理的工具包不一样。
例如瑞芯微的推理部署https://blog.csdn.net/u013171226/category_11410227.html
例如英伟达xavier的推理https://cumtchw.blog.csdn.net/article/details/118788059
3.3.2 cpu推理
其实上面说的tpu npu情况是说我们用了现在的一些智能芯片这些芯片内部都有专门的做深度学习推理的npu/tpu那么如果是我们一块普通的ARM板子能跑深度学习算法吗也是可以的那就是用cpu推理只不过慢而已cpu推理的流程就和上面不一样了这时候我们需要利用onnx/mnn/ncnn框架我们先把训练得到的算法模型转换成onnx/mnn/ncnn模型然后利用onnx库区做推理。例如https://cumtchw.blog.csdn.net/article/details/128249155
3.2 服务器部署
3.2.1 智能推理
这里说的智能推理我是指我们的服务器安装了相应的智能卡这时候服务器部署的流程就和上面板子的tpu npu推理流程一样比如你服务器上安装了显卡那么我们一般就用tensorRT(TensorRT 是由英伟达公司推出的一款用于高性能深度学习模型推理的软件开发工具包)做推理这时候我们先把训练得到的模型转成TensorRT要求的模型格式然后再用tensorRT做算法推理。其他厂家的比如比特大陆和寒武纪还有华为他们也有针对服务器的板卡把它插到服务器上然后就可以做算法的推理部署。
3.2.2 CPU推理
同样的道理我们就一个普通电脑没有显卡那么这时候我们想做算法推理怎么弄可以用onnx,也是把模型转成onnx模型然后利用onnx库做推理。例如https://cumtchw.blog.csdn.net/article/details/128220318
以上介绍的东西基本都能在我的博客文章里面找到具体的介绍或操作步骤。