@kazum thanks for your reply.
I’m trying to compile yolov3 keras model since there is no direct support for yolov3 in tvm.
import nnvm
import tvm
import keras
import numpy as np
weight_file = ‘yolo.h5’
keras_yolo = keras.models.load_model(weight_file)
data = np.zeros([1,3,416,416]).astype(np.float32)
sym, params = nnvm.frontend.from_keras(keras_yolo)
target = ‘opencl’
shape_dict = {‘input_1’: data.shape}
with nnvm.compiler.build_config(opt_level=2):
graph, lib, params = nnvm.compiler.build(sym, target, shape_dict, params=params)
#Inference
from tvm.contrib import graph_runtime
ctx = tvm.opencl()
ctx.device_type = 4
m = graph_runtime.create(graph, lib, ctx)
m.set_input(‘input_1’, tvm.nd.array(data.astype(‘float32’)))
m.set_input(**params)
m.run()
out_shape = [dim.value if dim.value is not None else 1 for dim in keras_yolo._output_layers[0].output.shape]
tvm_out_1 = m.get_output(0, tvm.nd.empty(out_shape, ‘float32’)).asnumpy()
out_shape_2 = [dim.value if dim.value is not None else 1 for dim in keras_yolo._output_layers[1].output.shape]
tvm_out_2 = m.get_output(1, tvm.nd.empty(out_shape_1, ‘float32’)).asnumpy()
out_shape_3 = [dim.value if dim.value is not None else 1 for dim in keras_yolo._output_layers[2].output.shape]
tvm_out_3 = m.get_output(2, tvm.nd.empty(out_shape_1, ‘float32’)).asnumpy()
I’m getting error at tvm_out_2/3