Conversion Script: terminate called after throwing an instance of 'std::bad_alloc'

import onnx
import numpy as np
import tvm
import tvm.relay as relay
import nnvm.compiler
import nnvm.testing

onnx_model = onnx.load('./centerface.onnx')
opt_level = 3
target = tvm.target.create("llvm -mcpu=haswell")

image_size = (224, 224)
shape_dict = {'data': (1, 3, *image_size)}
print(shape_dict)

nnvm_sym, nnvm_params = relay.frontend.from_onnx(onnx_model, shape_dict)
with nnvm.compiler.build_config(opt_level=opt_level):
   graph, lib, params = nnvm.compiler.build(nnvm_sym, target, shape_dict, params=nnvm_params)

lib.export_library("./centerface_deploy_lib.so")
print('lib export succeefully')
with open("./centerface_deploy_graph.json", "w") as fo:
   fo.write(graph.json())
with open("./centerface_deploy_param.params", "wb") as fo:
   fo.write(nnvm.compiler.save_param_dict(params))

output:

{'data': (1, 3, 224, 224)}
terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc
Aborted (core dumped)