import torch
import torch.onnx
from collections import OrderedDict
import argparse
from mmcv import Config, DictAction
from mmpose.models import build_posenet
def parse_args():
parser = argparse.ArgumentParser(description='Train a pose model')
parser.add_argument('--config',default="configs/top_down/deeppose/coco/npu_deeppose_res50_coco_256x192.py",help='train config file path')
args = parser.parse_args()
return args
def convert():
args = parse_args()
cfg = Config.fromfile(args.config)
model = build_posenet(cfg.model)
model.eval()
print(model)
input_names = ["actual_input_1"]
output_names = ["output1"]
x = torch.randn(64, 3, 256, 192)
torch.onnx.export(model.backbone, x, "deeppose_npu.onnx", input_names=input_names, output_names=output_names,
opset_version=11)
if __name__ == "__main__":
convert()