百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

NVIDIA Jetson Nano 2GB 系列文章(56):启动器CLI指令集与配置文件

liuian 2025-01-01 21:35 53 浏览

在开始使用 TAO 模型训练工具之前,我们必须先对其操作原理有个基础的理解,因为这套工具能支持 30 多种神经网络的深度学习,并且横跨视觉类与对话类两种不同领域,究竟是如何做到的?

前面介绍的内容中提过,在 TAO 工具使用两个不同的 Docker 容器,去面对视觉类与对话类的模型训练,分别是基于 Tensorflow 与 PyTorch 框架。

不过英伟达将复杂的调用工作进行高度的抽象化处理,以启动器 CLI 指令作为统一的执行接口,并且为每个神经网络提供对应的配置文件组,透过指令集与配置文件的组合,将操作的逻辑变得非常简单,开发人员只要熟悉这套指令集,就能非常轻松地驾驭所有 TAO 支持的神经网络,进行高效率的模型训练任务。

因此在操作 TAO 工具之前,首先得对 CLI 指令集与配置文件有个初步的了解。


  • 启动器CLI指令集:

这个指令集的语法非常简单,主要是下面三部分所组成:

tao <task> <sub-task> <args>


1. task:包括 TAO 所支持的神经网络算法以及基础的控制指令,主要分为以下三类:

  • 视觉类神经网络:augment、bpnet、classification、dssd、emotionnet、efficientdet、fpenet、gazenet、gesturenet、heartratenet、lprnet、mask_rcnn、multitask_classification、retinanet、ssd、unet、yolo_v3、yolo_v4、yolo_v4_tiny、converter、detectnet_v2、faster_rcnn等
  • 对话类神经网络:speech_to_text、speech_to_text_citrinet、text_classification、question_answering、token_classification、intent_slot_classification、punctuation_and_capitalization、spectro_gen、vocoder、action_recognition、n_gram等
  • 控制指令类:包括 list、stop、info 三个功能指令,分别执行列出、终止处理启动器的进程,以及显示 TAO 的基础信息。

上面所有的信息,可以用 tao info --verbose 指令,查询到不同版本容器所支持的神经网络类型。


当我们单纯执行 tao 的时候,就会进入对应的容器里,例如:

  • tao ssd 会进入视觉类的容器,这里是 tao-toolkit-tf:v3.21.11-tf1.15.5-py3
  • tao n_gram 进入对话类容器,这里是 tao-toolkit-lm:v3.21.08-py3


2. sub-task与args:主要是指 TAO 所支持的神经网络算法(task)而不同,最简单的方法就是执行 tao--help 去查询个别 task 后面所需要的。例如:

  • 执行 tao ssd --help 会显示以下信息:大部分视觉类的参数是类似
  • 执行 tao n_gram --help 会显示以下信息:大部分对话类参数是类似


以下6种指令是所有模型都具备的功能:

  • dataset_convert:将数据集转换成指定格式
  • evaluate:模型评估
  • export:导出模型
  • inference:推理识别
  • prune:修剪模型
  • train:训练模型


到这里应该能够感受到这个 CLI 指令集的便利之处,开发人员只要好好记住这组指令,不需要撰写任何 C++ 或 Python 代码,甚至不需要了解任何一个神经网络的结构与算法,就能非常轻松地面对这么多种复杂的模型训练任务。


  • 视觉类神经网络配置文件:

这里需要透过 TAO 提供的范例来说明配置文件的细节,这里以视觉类的范例为主,请执行下列指令下载范例文件:

wget --content-disposition 
https://api.ngc.nvidia.com/v2/resources/nvidia/tao/cv_samples/versions/v1.3.0/zip -O cv_samples_v1.3.0.zip
unzip -u cv_samples_v1.3.0.zip  -d ./cv_samples_v1.3.0
rm -rf cv_samples_v1.3.0.zip && cd ./cv_samples_v1.3.0

在 cv_samples_v1.3.0 文件夹里有 20+ 个子目录,每个子文件夹就对应一个神经网络,下面都有个别的 specs 子目录,里面就存放对应的配置文件。


每个项目应该是由不同的技术人员所处理,在文件格式与命名方式也不尽相同,大部分是 .txt 纯文件格式,有些则使用 .yaml 或 .json 格式,因此需要针对个别项目,去深入了解每个配置文件里的各项参数。


下面是 TAO 视觉类模型训练工具的工作流图,每个项目里的配置文件,都是为不同阶段的任务提供所需要的参数。


这里以英伟达发展的 detectnet_v2 神经网络作为范例,里面的配置文件内容比较完整,包括以下 7 个文件:

  • detectnet_v2_tfrecords_kitti_trainval.txt
  • detectnet_v2_train_resnet18_kitti.txt
  • detectnet_v2_retrain_resnet18_kitti.txt
  • detectnet_v2_retrain_resnet18_kitti_qat.txt
  • detectnet_v2_inference_kitti_etlt_qat.txt
  • detectnet_v2_inference_kitti_tlt.txt
  • detectnet_v2_inference_kitti_etlt.txt


这些文件是配合整个执行流程的步骤:

1. 格式转换:由于这个训练的容器是基于 Tensorflow 框架,因此执行训练前需要先将数据集转换成 tf_record 格式,就会用到 detectnet_v2_tfrecords_kitti_trainval.txt 配置文件。其他项目里 xxx_tfrecords_kitti_xxx.txt 主要就是作为这个用途。


2. 训练模型:所有项目里的 xxx_train_xxx.txt 文件,都是该项目进行第一次训练时所需要配置文件,不过每个项目的配置中都不尽相同,以下列出 4 个项目提供参考:

这里的参数设定,是整个 TAO 训练模型过程中技术含量最高的环节,我们所能修改的部分大概就是“training_config”组里的”batch_size_per_gpu”与“num_epochs”这两个参数,以及确认“dataset_config”组里的每一个“target_class_mapping”对应是否正确。

其他参数的调整是需要对个别神经网络的结构预与算法有足够了解,如果没有把握的话,建议就使用英伟达已经优化过的参数。


3. 评估模型:也使用前面一个配置文件。如果不满意评估结果(例如 mAP 低于 0.5),可以试着加大 num_epochs,或者从头检查数据集的图像与标注;如果满意结果的话,就可以继续往下执行。


4. 修剪模型:TAO 使用比较简单的调整阈值(threshold),而不改变其他参数


5. 模型再训练:这个步骤用到的 xxx_retrain_xxx.txt 配置文件,与第一次训练使用的配置文件中的最大不同点,在于“pretrained_model_file”的部分,第一次训练使用 NGC 下载的预训练模型,而再训练的部分是使用步骤 4 修剪步骤所生成的模型,其他设定值是一样的。


6. 评估再训练的模型:与步骤 3 相同。如果对评估结果并不满意,请回到步骤 4 重复进行;如果感到满意,就能接续往下执行推理识别,验证模型的效果。


后面的推理验证与导出模型的步骤,留在实际项目执行的时候再做说明。到此应该能清楚,在 TAO 模型训练阶段,需要的就是 xxx_tfrecords_xxx.txt、xxx_train_xxx.txt 与 xxx_retrain_xxx.txt 这三个配置文件,后面两个文件的内容几乎一样,只有调用的预训练模型不一样,这样就能让事情变得更加单纯。


整个 TAO 训练工具的内容,主要就是围绕着 CLI 指令集与配置文件的组合处理,如此一来,开发人员只要掌握这两个部分,就能轻松驾驭大部分的模型训练任务。

相关推荐

163邮箱密码正确就是登不上(163邮箱密码一直错误)

邮箱不能登录或登录异常的原因有很多种哦,如您浏览器“隐私”或“安全”级别设置过高,或用户名、密码输入不正确、较长时间未登录被冻结等都会导致不能登录或登录异常。请您先检查一下哦。解决无法登录的方法有:...

移动硬盘维修费用大概是多少钱

芯片不需要多少钱,但数据恢复就另当别论了。。。如果认识人就帮你换个芯片板,要不了多少钱,如果是硬盘盒的芯片板坏了你就乾脆换个盒子,80左右。如果是硬盘芯片坏了,那就不好办了,没人愿意给你换阿。。。但如...

windows资源管理器停止工作是什么原因

1.在进行重装系统之前,可以先检测一下windows资源管理器停止工作的原因是什么。如果是因为电脑的文件太多了,垃圾堆积导致的停止工作,我们就不需要进行重装系统。我们只需要下载一个360卫士或者其他可...

联想电脑24小时维修热线电话

   1.打开Think.lenovo.com.cn网页,点击登陆。  2.输入用户名密码,点击登陆。  3.点击右上角的:返回个性化首页。  4.点击“咨询与报修”中的“网上报修”。 ...

u盘上的系统怎么安装到电脑上

如果这个u盘是已经制作成为启动盘,可以进入pe系统的话就可以从u盘启动进入到pe系统中进行系统安装!如果你的意思是u盘里直接是操作系统的话,那就在bios设置里直接设定为u盘启动就好了!也可以在pe中...

20年前老笔记本改造升级(比较老的笔记本电脑改装)

答:10年前的笔记本电脑升级改造的方法。1.减少电脑后台程序。电脑和手机也是差不多的,有些软件在关闭之后并没有真正的退出,而是在后台偷偷的运行,这样也是占电脑内存,这样会导致电脑变得越来有。2....

住房公积金贷款计算器(住房公积金贷款计算器在线)

房贷、公积金贷款计算器基本养老保险金计算器基本医疗保险金计算器工伤保险计算器住房公积金缴存计算器养老保险退休金计算器五险一金及税后工资计算器失业保险计算器住房公积金贷款利息怎么计算,具体如下:公积金贷...

电脑开不了机风扇不转(电脑开机风扇转一会停了又继续转)

电脑开不了机,主机风扇转不动,出现这种情况有以下几种可能:1、电源线松了,或电源插板松动,又或者插板不通电。2、主机电源坏了。3、电脑的主板坏了。4、主机面的开关按钮坏了,或者按钮卡住了。解...

网页打不了怎么办(网页打不开是什么原因及解决方法)

浏览器打不开的修复方法:  步骤1、关于浏览器打不开的问题,首先点击电脑桌面左下角“开始”—>“运行”,输入regsvr32jscript.dll后选择“确定”,再次输入regsvr32vb...

ghost文件安装系统方法(ghost如何安装)
  • ghost文件安装系统方法(ghost如何安装)
  • ghost文件安装系统方法(ghost如何安装)
  • ghost文件安装系统方法(ghost如何安装)
  • ghost文件安装系统方法(ghost如何安装)
win10自带文件恢复工具(win10文件恢复工具推荐)

步骤:第一步:打开系统的管理员命令提示符窗口。Windows10系统打开管理员命令提示符窗口有如下几种方法:方法一:在系统桌面左下角的搜索栏输入:CMD,点击:命令提示符,可以打开管理员命令提示符窗口...

电脑本地磁盘c盘满了怎么办(电脑本地磁盘c盘满了如何删除)

当您的电脑本地磁盘C满了时,可能会出现一些问题,例如无法安装新程序、无法保存文件等。以下是一些解决方法:1.删除不需要的文件:可以通过手动删除不需要的文件或使用磁盘清理工具来清理本地磁盘C。在清理磁...

ghost网络克隆详细步骤教程(ghost局域网克隆)
  • ghost网络克隆详细步骤教程(ghost局域网克隆)
  • ghost网络克隆详细步骤教程(ghost局域网克隆)
  • ghost网络克隆详细步骤教程(ghost局域网克隆)
  • ghost网络克隆详细步骤教程(ghost局域网克隆)
傲游浏览器(傲游浏览器app下载)

1、开始——程序——找到遨游——打开,如果能打开说明快捷方式有问题2、362急救箱系统修复、网络修复傲游浏览器曾经是一个备受推荐的浏览器,由于其强大的功能和用户友好的界面,在中国的浏览器市场占有一...

电脑怎么定时关机软件(电脑怎样定时开关机软件)

给电脑设置定时开关机的方法如下:1、点击桌面左下角的开始按钮,打开“控制面板”。2、然后我们点击“系统和安全3、点击下方的“管理工具”。4、再点击“任务计划程序”。5、点击“计划任务程序库”,选择“创...