0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

物件检测模型训练的详细过程

NVIDIA英伟达企业解决方案 来源:NVIDIA英伟达企业解决方案 作者:NVIDIA英伟达企业解 2022-05-20 17:43 次阅读

当前面已经训练好修剪过的模型之后,接下来就可以在训练设备上先执行推理计算,看看检测的效果如何?如果实际推理结果并不理想的话,就得回到前面第 6 步骤重新再执行一次。

9、执行推理并查看结果

首先创建一个 test_samples 目录,然后从数据集中 testing/image_2 中复制一些图像过来测试,推理结果输出到 ssd_infer_images 目录下,这个推理计算也可以使用未修剪的模型来进行测试。

在代码框 “!tao ssd inference” 后面所提供的参数中,下面两行是使用修剪后并重新训练的模型来进行推理。

-e $SPECS_DIR/ssd_retrain_resnet18_kitti.txt  -m$USER_EXPERIMENT_DIR/experiment_dir_retrain/weights/ssd_resnet18_epoch_$EPOCH.tlt

如果将这两行参数改成下面内容,就是用原始模型来进行推理。

-e $SPECS_DIR/ssd_train_resnet18_kitti.txt  -m$USER_EXPERIMENT_DIR/experiment_dir_unpruned/weights/ssd_resnet18_epoch_$EPOCH.tlt

这样我们可以执行透过推理结果,来查看二者的不同。下面两张图分别是未修剪(上)与修剪后(下)模型推理结果的局部放大,虽然修剪后的模型效果不如未修剪的,但是执行结果还是令人满意,当然这得看您的要求有多高。

如果认可这个推理结果的话,那么训练阶段的任务就可以告一段落,接下去就准备将模型导出,以便部署到真实的推理设备上。

10、导出模型

要执行这个步骤,最好先确认您的推理设备上所能支持的数据精度,特别是 INT8 类型,例如 Jetson Nano (含 2GB)、TX2/TX1就不支持,Xavier NX 与 AGX Xavier 是支持的。台式机上的游戏卡一般不支持 INT8,而 Tesla、Quadro 专业卡是支持的,不过 NVIDIA 全系列产品都支持 FP16,如果不能确认这方面的信息,至少选择 FP16 是比较稳妥。

简单说明一下代码框 “!tao ssd export” 后面的参数:

6260cd2e-d5d7-11ec-bce3-dac502259ad0.jpg

假如要输出 INT8 模型时,由于需要特殊算法以及辅助的校准工具,因此需要其他参数来协助这类模型的导出,主要如下:

6298af50-d5d7-11ec-bce3-dac502259ad0.jpg

这样就能完成 INT8 模型的输出任务。

到这里所输出的 .etlt 模型文件基本上已经可以部署到 DeepStream 推理设备上使用,因为 DeepStream 支持 .etlt 格式的调用,相当方便。但如果要用其他独立的 TensorRT 来执行加速推理的话,就需要在推理设备上再进行一次的转换。

本步骤最后一个代码块 “!tao converter” 就是在训练设备上,将 .etlt 模型转成这台机器能使用的 TensorRT 引擎文件。由于参数内容较多,这里不一一列举,请自行至https://docs.nvidia.com/tao/tao-toolkit/text/object_detection/ssd.html搜索 “Using the tao-converter” 环节,有详细的参数说明。

要注意的一点,在 “!tao converter 所使用的“-t 指定数据精度部分,需要与前面 !tao ssd export--data_type 一致,否则会失去效果。

11、验证部署模型的效果

这个步骤是验证 TensorRT 加速引擎的推理效果,主要让我们在部署到推理设备之前,能再确认一下推理效果

下面同样提供两张推理结果参照图,上图是未修剪的模型转成 TensorRT 引擎的推理结果,下图是修剪过的模型转成 TensorRT 引擎的推理结果,效果看起来是一样的,表示这个修剪过的模型还是足够好的。

现在就完成一个物件检测模型训练的过程,虽然看起来繁琐,但是只要我们弄清楚一开始的路径对应,以及熟练后面每个环节的参数用法,基本上要比在框架中自行撰写代码容易得多了,除了收集与整理数据的工作是 TAO 工具无法协助的,其余部分已经都为大家提供好完整的指令块,这是一个真正 “Zero Coding” 的全方位模型训练工具。

原文标题:NVIDIA Jetson Nano 2GB 系列文章(63):物件检测的模型训练与优化-3

文章出处:【微信公众号:NVIDIA英伟达企业解决方案】欢迎添加关注!文章转载请注明出处。

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • NVIDIA
    +关注

    关注

    14

    文章

    4592

    浏览量

    101706
  • 检测
    +关注

    关注

    5

    文章

    4083

    浏览量

    90745
  • 模型训练
    +关注

    关注

    0

    文章

    11

    浏览量

    1312

原文标题:NVIDIA Jetson Nano 2GB 系列文章(63):物件检测的模型训练与优化-3

文章出处:【微信号:NVIDIA-Enterprise,微信公众号:NVIDIA英伟达企业解决方案】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    盘点一下史上最全大语言模型训练中的网络技术

    人工智能的基础设施在大语言模型训练和推理过程中发挥了关键的作用。随着大语言模型规模不断增大,其对计算和通信的需求也在不断增加。高
    的头像 发表于 03-27 17:24 383次阅读
    盘点一下史上最全大语言<b class='flag-5'>模型</b><b class='flag-5'>训练</b>中的网络技术

    谷歌模型训练软件有哪些?谷歌模型训练软件哪个好?

    谷歌在模型训练方面提供了一些强大的软件工具和平台。以下是几个常用的谷歌模型训练软件及其特点。
    的头像 发表于 03-01 16:24 278次阅读

    如何基于深度学习模型训练实现圆检测与圆心位置预测

    Hello大家好,今天给大家分享一下如何基于深度学习模型训练实现圆检测与圆心位置预测,主要是通过对YOLOv8姿态评估模型在自定义的数据集上训练
    的头像 发表于 12-21 10:50 682次阅读
    如何基于深度学习<b class='flag-5'>模型</b><b class='flag-5'>训练</b>实现圆<b class='flag-5'>检测</b>与圆心位置预测

    【飞腾派4G版免费试用】第三章:抓取图像,手动标注并完成自定义目标检测模型训练和测试

    抓取图像,手动标注并完成自定义目标检测模型训练和测试 在第二章中,我介绍了模型训练的一般过程,其
    发表于 12-16 10:05

    【飞腾派4G版免费试用】 第二章:在PC端使用 TensorFlow2 训练目标检测模型

    本章记录了如何使用TensorFlow2 进行目标检测模型训练过程
    的头像 发表于 12-15 06:40 1200次阅读
    【飞腾派4G版免费试用】 第二章:在PC端使用 TensorFlow2 <b class='flag-5'>训练</b>目标<b class='flag-5'>检测</b><b class='flag-5'>模型</b>

    AI 模型构建的五个过程详解

    AI 模型构建的过程 模型构建主要包括 5 个阶段,分别为模型设计、特征工程、模型训练
    发表于 11-17 10:31 3214次阅读
    AI <b class='flag-5'>模型</b>构建的五个<b class='flag-5'>过程</b>详解

    大语言模型(LLM)预训练数据集调研分析

    finetune)、rlhf(optional).  State of GPT:大神 Andrej 揭秘 OpenAI 大模型原理和训练过程 。 supervised finetune 一般在 base
    的头像 发表于 09-19 10:00 568次阅读
    大语言<b class='flag-5'>模型</b>(LLM)预<b class='flag-5'>训练</b>数据集调研分析

    训练大语言模型带来的硬件挑战

    生成式AI和大语言模型(LLM)正在以难以置信的方式吸引全世界的目光,本文简要介绍了大语言模型训练这些模型带来的硬件挑战,以及GPU和网络行业如何针对
    的头像 发表于 09-01 17:14 1111次阅读
    <b class='flag-5'>训练</b>大语言<b class='flag-5'>模型</b>带来的硬件挑战

    使用OpenVINO优化并部署训练好的YOLOv7模型

    在《英特尔锐炫 显卡+ oneAPI 和 OpenVINO 实现英特尔 视频 AI 计算盒训推一体-上篇》一文中,我们详细介绍基于英特尔 独立显卡搭建 YOLOv7 模型训练环境,并完成了 YOLOv7
    的头像 发表于 08-25 11:08 919次阅读
    使用OpenVINO优化并部署<b class='flag-5'>训练</b>好的YOLOv7<b class='flag-5'>模型</b>

    模型分布式训练并行技术(一)-概述

    数据并行是最常见的并行形式,因为它很简单。在数据并行训练中,数据集被分割成几个碎片,每个碎片被分配到一个设备上。这相当于沿批次(Batch)维度对训练过程进行并行化。每个设备将持有一个完整的模型副本,并在分配的数据集碎片上进行
    的头像 发表于 08-24 15:17 656次阅读
    大<b class='flag-5'>模型</b>分布式<b class='flag-5'>训练</b>并行技术(一)-概述

    卷积神经网络模型训练步骤

    模型训练是将模型结构和模型参数相结合,通过样本数据的学习训练模型,使得
    的头像 发表于 08-21 16:42 1056次阅读

    训练好的ai模型导入cubemx不成功怎么解决?

    训练好的ai模型导入cubemx不成功咋办,试了好几个模型压缩了也不行,ram占用过大,有无解决方案?
    发表于 08-04 09:16

    基于一个完整的 LLM 训练流程

        在这篇文章中,我们将尽可能详细地梳理一个完整的 LLM 训练流程。包括模型训练(Pretrain)、Tokenizer 训练、指令
    的头像 发表于 06-29 10:08 1279次阅读
    基于一个完整的 LLM <b class='flag-5'>训练</b>流程

    State of GPT:大神Andrej揭秘OpenAI大模型原理和训练过程

    因为该模型训练时间明显更长,训练了1.4 万亿标记而不是 3000 亿标记。所以你不应该仅仅通过模型包含的参数数量来判断模型的能力。
    的头像 发表于 05-30 14:34 674次阅读
    State of GPT:大神Andrej揭秘OpenAI大<b class='flag-5'>模型</b>原理和<b class='flag-5'>训练过程</b>

    什么是预训练AI模型

    训练 AI 模型是为了完成特定任务而在大型数据集上训练的深度学习模型。这些模型既可以直接使用,也可以根据不同行业的应用需求进行自定义。
    的头像 发表于 05-25 17:10 634次阅读