【接上文】当前面的准备工作都已妥善之后,就可以进入模型训练的步骤,后面的工作就是计算设备的事情了。
TAO工具提供提供QAT(Quantize Aware Training)量化感知的训练模式,不过目前QAT效果还在验证当中,倒也不急于使用,因此我们还是以标准模式来训练,就是将配置文件中training_config设置组的“enable_qat”参数设为“false”就行,然后直接执行指令块的命令,TAO就会启动视觉类容器来执行模型训练任务。
这里提供两组执行训练所花费的时间参考数据:
为了更有效率地执行,我们可以在training_config设置组里添加 ”checkpoint_interval: 10” 参数,这样每10回合生成一个中间文件,这样能节省大约7GB的空间。现在检查一下所生成的中间模型文件,如下图所示总共8个。
接下去我们看看这8个模型的训练效果如何,因为得挑一个精确度(mAP)最好的文件,进行后面的修剪任务。
通常越后面的模型mAP值越高,但这不是绝对的,最好是有明确的数据来做依据,才是比较科学的态度。在experiment_dir_unpruned/ssd_training_log_resnet18.csv提供这些记录,右键点击文件-> Open With -> CSVTable之后,就会看到如下图的内容。
表中可以看到,越下面模型的mAP值越高,这样就能明确第选择“epoch_080”的模型来进行后续工作,记得在“%set_env EPOCH=”后面填入参数值,例如要选择第80回合的模型文件,就输入“080”,然后继续往下进行。
这个步骤的目的是为了确认模型是否符合要求?有时候可能效果最好的模型,效果还未达到预期目标,如果是这样的话,就得回到第4步骤,以前面找到效果最好的模型,作为迁移选项的预训练模型,就是将配置文件的training_config设置组的“pretrain_model_path”改成ssd_resnet18_epoch_080.tlt的完整路径,然后再做80回合的训练。
执行评估效果的结构在本指令块输出的最下方,如下图所示。
比对一下这里显示的精准度,与前面ssd_training_log_resnet18.csv记录的结果是相同的,其实这个步骤是有点冗余,可以忽略!
如果您的模型要放在计算资源充沛的设备上执行推理的话,其实后面的步骤是可以省略的,因此修剪模型的目的,是要在精确度维持水平的基础上将模型进行优化,这对Jetson这类计算资源吃紧的边缘设备来说就非常重要,因为这对推理性能有很大的影响,因此要看您所需要执行推理的设备是什么,再决定是否要进行修剪。
每个神经网络都有各自的修剪重点,必须找到对应的说明文件,例如这里对ssd进行修剪,请访问https://docs.nvidia.com/tao/tao-toolkit/text/object_detection/ssd.html,在里面的”Pruning the Model”有非常详细的参数说明。
TAO提供以下6种模型修剪的方式,设定值的粗体字为预设值:
在大家还不熟悉这些参数用法时,最简单的方法就是调整阈值(-pth)的大小去找到平衡点,通常这个值越高就会损失较大的精度值,模型也会比较更小大。参数预设值为0.1,差不多大0.3已经是极限,再大可能就会让精准度低于一般要求。
这个步骤会用到ssd_train_resnet18_kitti.txt配置文件,修剪完的模型会存放在-o参数所指定的目录,这里是“$USER_EXPERIMENT_DIR/experiment_dir_pruned”,输出的模型文件名为“ssd_resnet18_pruned.tlt”,后面的“重新训练剪裁模型”步骤,就会以这个文件作为迁移学习的训练基础。
这个修剪过的模型文件还不能作为部署用途,还得经过下个步骤去重新训练之后,是我们最终所需要的版本。
这个步骤与前面的模型训练几乎是一样的,唯一不同的地方就是前面以NCG下载的resnet_18.hdf5为基础导入迁移学习的功能,这里是以ssd_resnet18_pruned.tlt这个修剪过的文件为基础,同样用最前面的数据集进行训练。
以这个项目为例,未剪裁模型的大小为101.7MB,用阈值为0.1所剪裁的重新训练模型大小只剩22.5MB、阈值为0.3所剪裁的模型大小只剩9.8MB。重新训练后同样会生成很多模型文件,同样查看experiment_dir_retrain目录下面的ssd_training_log_resnet18.csv,挑出精度最好的一个准备下个评估环节。
与前面的评估方式一样,找到效果最好的一个,然后将数值填入“%set_env EPOCH=”里,准备在训练设备上测试一下推理的效果。
如果修剪后重新训练的模型精度与未修剪的相差不多,这个模型就可以用来作为后面的推理测试,如果精度差距较大,就得回到第6步骤重新执行修剪工作与第7步骤重新训练,一直到获得满意精度的模型为止。【待续】
好文章,需要你的鼓励
新加坡国立大学研究人员开发出名为AiSee的可穿戴辅助设备,利用Meta的Llama模型帮助视障人士"看见"周围世界。该设备采用耳机形态,配备摄像头作为AI伴侣处理视觉信息。通过集成大语言模型,设备从简单物体识别升级为对话助手,用户可进行追问。设备运行代理AI框架,使用量化技术将Llama模型压缩至10-30亿参数在安卓设备上高效运行,支持离线处理敏感文档,保护用户隐私。
阿里巴巴联合浙江大学开发的OmniThink框架让AI学会像人类一样慢思考写作。通过信息树和概念池的双重架构,系统能够动态检索信息、持续反思,突破了传统AI写作内容浅薄重复的局限。实验显示该方法在文章质量各维度均显著超越现有最强基线,知识密度提升明显,为长文本生成研究开辟了新方向。
OpenAI推出新AI模型GPT-5-Codex,能够在无用户协助下完成数小时的编程任务。该模型是GPT-5的改进版本,使用额外编码数据训练。测试显示,GPT-5-Codex可独立工作超过7小时,能自动发现并修复编码错误。在重构基准测试中得分51.3%,比GPT高出17%以上。模型可根据任务难度调整处理时间,简单请求处理速度显著提升。目前已在ChatGPT付费计划中提供。
腾讯混元3D 2.0是一个革命性的3D生成系统,能够从单张图片生成高质量的带纹理3D模型。该系统包含形状生成模块Hunyuan3D-DiT和纹理合成模块Hunyuan3D-Paint,采用创新的重要性采样和多视角一致性技术,在多项评估指标上超越现有技术,并提供用户友好的制作平台。作为开源项目,它将大大降低3D内容创作门槛,推动3D技术的普及应用。