Getting stuck in create_executor

here is some code:

import onnx
import numpy as np
import tvm
from tvm import te
import tvm.relay as relay
import mlflow

# Load a previously converted model. This model was converted from skl to ONNX
onnx_model = mlflow.onnx.load_model("onnx_model")
ml_model = mlflow.onnx.Model.load("onnx_model")
input_example =  ml_model.load_input_example("onnx_model")
input_shape = input_example.shape

# Code below is from TVM ONNX example in their official docs 
target = "llvm"
input_name = "input_0"
shape_dict = {input_name: input_shape}

mod, params = relay.frontend.from_onnx(onnx_model, shape_dict, dtype='float64')

# Gets stuck in create_executor
with tvm.transform.PassContext(opt_level=1):
    executor = relay.build_module.create_executor(
        "graph", mod, tvm.cpu(0), target, params

dtype = "float64"
tvm_output = executor(tvm.nd.array(input_example.astype(dtype))).numpy()

My program gets stuck in executor = relay.build_module.create_executor? Has anyone else experienced this and have been able to fix it? Does anyone have ideas as why this may be happening?