文章目录
一. 人脸检测
代码位置:
1.detect
运行环境:TensorRT
NVIDIA TAO(training, adapting and optimizing)工具包是一款专门用于深度学习的工具包,它可以帮助用户轻松地训练和优化深度学习模型,使其能够在各种设备上进行推理操作。TAO工具包基于TensorFlow和PyTorch构建,采用了迁移学习的技术,可以将用户自己的模型或预训练模型与实际或合成数据进行适配,并针对目标平台进行推理吞吐量的优化,从而使整个训练过程变得更加简单、高效。TAO工具包的使用不需要专业的人工智能知识或大量的训练数据集,因此,它可以帮助更多的人轻松进入深度学习的领域,快速实现各种应用场景。
模型地址:https://catalog.ngc.nvidia.com/models
使用 TAO的预训练模型:FaceDetect:
- 这个模型接受736x416x3维度的输入张量,并输出46x26x4的bbox坐标张量和46x26x1的类别置信度张量。这些输出张量需要经过NMS或DBScan聚类算法进行后处理,以创建适当的边界框。
- 输入:通道顺序为NCHW,其中N = Batch Size,C = 通道数(3),H = 图像高度(416),W = 图像宽度(736)。输入比例尺度为1/255.0。均值减法:无。
- 输出:输入图像中每个检测到的人脸的类别标签和边界框坐标。
- 后处理参考代码:
# 启动docker
docker run --gpus all --name facenet_env -p 1936:1935 -p 8556:8554 -v `pwd`:/app -it nvcr.io/nvidia/tensorrt:22.08-py3 bash
# 下载检测模型
curl -LO 'https://api.ngc.nvidia.com/v2/models/nvidia/tao/facenet/versions/pruned_quantized_v2.0.1/files/model.etlt'
curl -LO 'https://api.ngc.nvidia.com/v2/models/nvidia/tao/facenet/versions/pruned_quantized_v2.0.1/files/int8_calibration.txt'
# download tao-converter
curl -LO 'https://api.ngc.nvidia.com/v2/resources/nvidia/tao/tao-converter/versions/v3.22.05_trt8.4_x86/files/tao-converter'
# 给运行权限
chmod +x ./TAO/tao-converter
#模型转换,转换成engine格式,
./TAO/tao-converter -k nvidia_tlt -d 3,416,736 model/model.etlt -t int8