执行在线推理
本节以ResNet50模型为例,展示在线推理的使用步骤。用户可根据自己的实际情况使用自己所需的模型、数据集、修改代码和参数。
- 生成模型训练权重文件。
打开ModelZoo中ResNet-PyTorch详情页,下载模型文件,根据该页面的README完成模型训练,生成权重文件。
- 编辑推理脚本。
创建“resnet50_infer_for_pytorch.py”模型脚本文件,并写入样例代码。单卡场景请写入单卡场景样例代码,多卡场景请写入多卡场景样例代码。
在线推理脚本代码执行流程一般如下,用户可根据需要进行调整。
图1 在线推理脚本流程图
- 执行推理。
参考环境变量配置设置环境变量,请用户自行准备数据集并执行命令进行推理。
- 单卡场景。
python3 resnet50_infer_for_pytorch.py \ --data /data/imagenet \ --npu 0 \ --resume ./checkpoint.pth.tar
- 多卡场景。
python3 resnet50_infer_for_pytorch.py --data /data/imagenet/ --resume ./checkpoint.pth.tar --world_size 1 --rank 0 --amp
./checkpoint.pth.tar为示例预训练模型文件路径。
- 上述为样例输入,用户可根据实际修改传入的参数。
- 在进行推理应用时,应尽量保证应用在生命周期内不频繁初始化。推理模式通过模型model.eval()进行设置,并且推理过程要在with torch.no_grad():代码分支下运行。
- 单卡场景。