def METHOD_NAME():
    args = parse_args()
    config = Config.fromfile(args.config)
    if config.model.type != 'RecognizerGCN':
        print('This script serves the sole purpose of converting PoseC3D '
              'skeleton models in MMAction2 to ONNX files. Please note that '
              'attempting to convert other models using this script may not '
              'yield successful results.\n\n')
    init_default_scope(config.get('default_scope', 'mmaction'))
    base_model = MODELS.build(config.model)
    load_checkpoint(base_model, args.checkpoint, map_location='cpu')
    base_model.to(args.device)
    num_joints = args.num_joints
    image_size = args.image_size
    num_frames = args.num_frames
    if num_joints == 0:
        num_joints = config.model.backbone.in_channels
    input_tensor = torch.randn(1, num_joints, num_frames, image_size,
                               image_size)
    input_tensor = input_tensor.clamp(-3, 3).to(args.device)
    base_model.eval()
    data_sample = ActionDataSample()
    data_sample.pred_scores = LabelData()
    data_sample.pred_labels = LabelData()
    base_output = base_model(
        input_tensor.unsqueeze(0), data_samples=[data_sample],
        mode='predict')[0]
    base_output = base_output.pred_scores.item.detach().cpu().numpy()
    model = GCNNet(base_model).to(args.device)
    model.eval()
    torch.onnx.export(
        model, (input_tensor),
        args.output_file,
        input_names=['input_tensor'],
        output_names=['cls_score'],
        export_params=True,
        do_constant_folding=True,
        verbose=False,
        opset_version=11,
        dynamic_axes={
            'input_tensor': {
                0: 'batch_size',
                2: 'num_frames'
            },
            'cls_score': {
                0: 'batch_size'
            }
        })
    print(f'Successfully export the onnx file to {args.output_file}')
    # Test exported file
    session = onnxruntime.InferenceSession(args.output_file)
    input_feed = {'input_tensor': input_tensor.cpu().data.numpy()}
    outputs = session.run(['cls_score'], input_feed=input_feed)
    output = softmax(outputs[0][0])
    diff = abs(base_output - output).max()
    if diff < 1e-5:
        print('The output difference is smaller than 1e-5.')