神经网络的训练与部署

训练

一个网络的三要素:结构、算法、权值

网络模型一旦选定,三要素中结构算法就确定了,接下来要对权值进行调整。
神经网络是将一组训练集(training set)送入网络,根据网络的实际输出与期望输出间的差别来调整权值。

训练模型的步骤:

  1. 选择样本集合的一个样本(Ai Bi) (数据 标签)
  2. 送入网络,计算网络的实际输出Y(此时网络中的权重都是随机的)
  3. 计算D=Bi -Y(预测值与实际值的差)
  4. 根据误差D调整权值矩阵W
  5. 对每个样本重复上述过程,直到对整个样本集来说,误差不超过规定范围。

使用

神经网络框架

Caffe是一种开源的软件框架,利用这套框架,我们可以实现新的网络、修改已有的神经网络、训练网络、编写网络使用。
实现新的网络
1 数据打包
2 编写网络结构文件
3 编写网络求解文件
4 开始训练
caffe的文件结构
这里写图片描述

data 用于存放下载的训练数据
例如安装后会有 mnist ilsvrc12 cifar10

docs example 使用的帮助文档和代码样例


使用与部署

这里写图片描述

直接使用caffe神经网络框架比较复杂,可以使用NVIDIA推出的DIGIST可视化工具进行网络的训练。

TensorRT 网络框架 采取“”精度换速度“”的策略,在精度无明显下降的前提下,其对inference的加速明显,往往有1倍以上的性能提升,它能根据prototxt文件和caffemodel权值,转化为支持半精度的新的模型。其工作流程:

  • 构建:构建一个网络、进行优化
  • 执行:引擎运行推理任务

使用TensorRT部署神经网络

训练对于深度学习来说是为了获得一个性能优异的模型,其主要的关注点在于模型的准确度等指标。推理则不一样,其没有了训练中的反向迭代过程,是针对新的数据进行预测,而我们日常生活中使用的AI服务都是推理服务。相较于训练,推理的关注点不一样,从而也给现在有技术带来了新的挑战:

推理 需求现有框架的局限性影响
高吞吐率无法处理大量和高速的数据增加了单次推理的开销
低响应时间应用无法提供实时的结果损害了用户体验(语音识别、个性化推荐和实时目标检测)
高效的功耗以及显存消耗控制非最优效能增加了推理的开销甚至无法进行推理部署
专业部署级别的解决方案非专用于部署使用框架复杂度和配置增加了部署难度以及生产率

推理更关注的是高吞吐率、低响应时间、低资源消耗以及简便的部署流程,而TensorRT就是用来解决推理所带来的挑战以及影响的部署级的解决方案。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一銤阳光

希望分享的内容对你有帮助

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值