ismukhin opened a new issue, #16187: URL: https://github.com/apache/tvm/issues/16187
Good afternoon I'm having a problem when running ```VirtualMachine.run()```. I'm trying to run the ```ssd_mobilenetv1_coco``` model from the official tf repository (tf1 model) https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/tf1_detection_zoo.md ### Expected behavior Array of the form [BOXES_NAME, CLASSES_NAME, SCORES_NAME, NUM_DETECTIONS_NAME] ### Actual behavior Reading an image in float32 format: ```Check failed: ret == 0 (-1 vs. 0) : Assert fail: (((tir.tvm_struct_get(arg.p0, 0, 5) == (uint8)1) && (tir.tvm_struct_get(arg.p0, 0, 6) == (uint8)8)) && (tir.tvm_struct_get(arg.p0, 0, 7) == (uint16)1)), arg.p0.dtype is expected to be uint8``` I also tried to read an image in uint8 format and got the following error: ```Check failed: ret == 0 (-1 vs. 0) : Assert fail: (int32(arg.p0.shape[1]) == 300), Argument arg.p0.shape[1] has an unsatisfied constraint: (300 == int32(arg.p0.shape[1]))``` ### Environment ```Python 3.7.12``` ```tvm==0.11.1```(This error also occurs on 0.14dev) ```tensorflow 1.14.0``` ```opencv-python 4.8.1.78``` ### Steps to reproduce ``` import numpy as np import tvm import cv2 from tvm import te import tvm.relay as relay from tvm.contrib.download import download_testdata from tvm.runtime import vm as _vm from tvm.relay import vm as rly_vm import tensorflow as tf import tvm.relay.testing.tf as tf_testing import tensorflow as tf from tvm.runtime import vm as _vm from tvm.relay import vm as rly_vm model_path = 'ssd_mobilenet_v1_coco_2018_01_28/frozen_inference_graph.pb' with tf.gfile.GFile(model_path, "rb") as f: graph_def = tf.GraphDef() graph_def.ParseFromString(f.read()) graph = tf.import_graph_def(graph_def, name="") # Call the utility to import the graph definition into default graph. graph_def = tf_testing.ProcessGraphDefParam(graph_def) BOXES_NAME = 'detection_boxes' CLASSES_NAME = 'detection_classes' SCORES_NAME = 'detection_scores' NUM_DETECTIONS_NAME = 'num_detections' out_names = [BOXES_NAME, CLASSES_NAME, SCORES_NAME, NUM_DETECTIONS_NAME] input_name = "image_tensor" input_shape = (1, 300, 300, 3) mod, params = relay.frontend.from_tensorflow( graph_def, outputs=out_names, shape={input_name: input_shape} ) target = tvm.target.Target("llvm") dev = tvm.cpu(0) with tvm.transform.PassContext(opt_level=1, disabled_pass=["AlterOpLayout"]): executable = rly_vm.compile(mod, target=target, params=params) des_vm = _vm.VirtualMachine(executable, dev) img = cv2.imread('../../img/apple.JPEG').astype("float32") img = cv2.resize(img, (300, 300)) img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) img = np.transpose(img, [2, 0, 1]) img = np.expand_dims(img, axis=0) des_vm.run(img) ``` I also tried running it like this: ``` data = {'image_tensor': np.expand_dims(img_data, axis=0)} des_vm.set_input('main', **data) ``` P.S. I use ```TensorFlow``` version < 2, because on versions greater than 2 the ```relay.frontend.from_tensorflow(...)``` function crashes. ### Triage Please refer to the list of label tags [here](https://github.com/apache/tvm/wiki/Issue-Triage-Labels) to find the relevant tags and add them below in a bullet format (example below). * needs-triage * flow:vm * frontend:tensorflow -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
