【接上文】当前面已经训练好修剪过的模型之后,接下来就可以在训练设备上先执行推理计算,看看检测的效果如何?如果实际推理结果并不理想的话,就得回到前面第6步骤重新再执行一次。
这边首先创建一个 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 \ |
这样我们可以执行透过推理结果,来查看二者的不同。下面两张图分别是未修剪(上)与修剪后(下)模型推理结果的局部放大,虽然修剪后的模型效果不如未修剪的,但是执行结果还是令人满意,当然这得看您的要求有多高。
如果认可这个推理结果的话,那么训练阶段的任务就可以告一段落,接下去就准备将模型导出,以便部署到真是的推理设备上。
要执行这个步骤,最好先确认您的推理设备上所能支持的数据精度,特别是INT8类型,例如Jetson Nano(含2GB)、TX2/TX1就不支持,Xavier NX与AGX Xavier是支持的。台式机上的游戏卡一般不支持INT8,而Tesla、Quadro专业卡是支持的,不过NVIDIA全系列产品都支持FP16,如果不能确认这方面的信息,至少选择FP16是比较稳妥。
简单说明一下代码框 “!tao ssd export” 后面的参数:
-m |
选择要导出的模型,可以是未修剪的或者修剪过的 .tlt 文件 |
-o |
输出的模型文件名,以 .etlt 为附加档名 |
-e |
使用的配置文件, 导出未修剪的.tlt文件,则配置文件使用xxx_train_xxx.txt, 导出修剪过的.tlt模型,则配置文件使用xxx_retrain_xxx.txt |
--data_type |
指定导出模型可用的最低数据精度,例如 fp32、fp16、int8 |
--gen_ds_config |
这个参数是针对DeepStream视频分析软件,如果给定的话,就是同时生成“nvinfer_config.txt”这个DeepStream会用到的配置文件 |
假如要输出INT8模型时,由于需要特殊算法以及辅助的校准工具,因此需要其他参数来协助这类模型的导出,主要如下:
--cal_image_dir |
作为校准用途的图像数据目录 |
--batches |
每次校准所用的图像数量 |
--cal_cache_file |
存放校准过程文件的路径 |
--cal_data_file |
存放校准最终的张量文件 |
这样就能完成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” 一致,否则会失去效果。
这个步骤是验证TensorRT加速引擎的推理效果,主要让我们在部署到推理设备之前,能再确认一下推理效果。
下面同样提供两张推理结果参照图,上图是未修剪的模型转成TensorRT引擎的推理结果,下图是修剪过的模型转成TensorRT引擎的推理结果,效果看起来是一样的,表示这个修剪过的模型还是足够好的。
现在就完成一个物件检测模型训练的过程,虽然看起来繁琐,但是只要我们弄清楚一开始的路径对应,以及熟练后面每个环节的参数用法,基本上要比在框架中自行撰写代码容易得多了,除了收集与整理数据的工作是TAO工具无法协助的,其余部分已经都为大家提供好完整的指令块,这是一个真正“Zero Coding”的全方位模型训练工具。【完】
好文章,需要你的鼓励
谷歌CEO皮查伊在AI竞赛低谷期坚持"信号降噪"原则,顶住压力加倍投入,最终带领谷歌凭借Gemini系列重夺领先。他坚信AI将超越火与电的革命性影响,通过递归自我改进极大降低创意实现门槛,这场"创造力民主化"浪潮或将解锁80亿人的认知潜能。
上海交大研究团队开发的VideoREPA是一种突破性的视频生成框架,通过令牌关系蒸馏技术将视频理解模型中的物理知识转移到文本到视频(T2V)扩散模型中。与传统方法不同,VideoREPA关注空间和时间关系的对齐,使生成的视频更符合物理常识。实验表明,这种方法在VideoPhy基准测试中将物理常识分数提高了24.1%,明显优于现有技术。该研究为创建更真实的AI生成视频提供了新思路,展示了理解能力与生成质量间的密切关联。
李飞飞的World Labs以"空间智能"重新定义AI,专注3D物理世界理解,4个月估值飙至10亿美元,获科技巨头集体押注。她揭示语言无法编码物理世界,而DNA双螺旋等突破性发现都源于三维空间的深度认知。
浙江大学和莫纳什大学研究团队开发了PM-Loss,一种用于改进前馈式3D高斯分布渲染的新型正则化损失函数。研究针对深度图在物体边界处的不连续性问题,通过预训练Transformer模型预测的点图提供几何先验知识,实现了更平滑、准确的3D场景重建。实验表明,PM-Loss在多个数据集上显著提升了渲染质量,PSNR提高至少2dB,特别改善了物体边界处的细节表现。该方法易于集成到现有模型中,无需修改架构,为3D视觉和图形学领域提供了新的研究思路。