I was trying to compile the pre-trained inception_v4 model with tvm, but I encountered this bug in the middle of compilation:
Traceback (most recent call last):
File "benchmark.py", line 72, in <module>
main()
File "benchmark.py", line 43, in main
model_dirname, s3_dirname)
File "/home/ubuntu/benchmark/model.py", line 610, in construct_model
return zoos[zoo](model, framework, backend, dirname, s3_dirname)
File "/home/ubuntu/benchmark/model.py", line 428, in __init__
sym, params = nnvm.frontend.from_tensorflow(graph_def)
File "/home/ubuntu/.local/lib/python3.6/site-packages/nnvm-0.8.0-py3.6.egg/nnvm/frontend/tensorflow.py", line 1372, in from_tensorflow
sym, params = g.from_tensorflow(graph, layout)
File "/home/ubuntu/.local/lib/python3.6/site-packages/nnvm-0.8.0-py3.6.egg/nnvm/frontend/tensorflow.py", line 1146, in from_tensorflow
op = self._convert_operator(node.op, inputs, attr, graph)
File "/home/ubuntu/.local/lib/python3.6/site-packages/nnvm-0.8.0-py3.6.egg/nnvm/frontend/tensorflow.py", line 1333, in _convert_operator
sym = convert_map[op_name](inputs, attrs, self._params)
File "/home/ubuntu/.local/lib/python3.6/site-packages/nnvm-0.8.0-py3.6.egg/nnvm/frontend/tensorflow.py", line 615, in _impl
out_shape = _infer_out_shapes(out, params)[0]
File "/home/ubuntu/.local/lib/python3.6/site-packages/nnvm-0.8.0-py3.6.egg/nnvm/frontend/tensorflow.py", line 536, in _infer_out_shapes
_, out_shapes = graph_util.infer_shape(g, **shape_dict)
File "/home/ubuntu/.local/lib/python3.6/site-packages/nnvm-0.8.0-py3.6.egg/nnvm/compiler/graph_util.py", line 31, in infer_shape
graph = graph.apply("InferShape")
File "/home/ubuntu/.local/lib/python3.6/site-packages/nnvm-0.8.0-py3.6.egg/nnvm/graph.py", line 234, in apply
check_call(_LIB.NNGraphApplyPasses(self.handle, npass, cpass, ctypes.byref(ghandle)))
File "/home/ubuntu/.local/lib/python3.6/site-packages/nnvm-0.8.0-py3.6.egg/nnvm/_base.py", line 75, in check_call
raise NNVMError(py_str(_LIB.NNGetLastError()))
nnvm._base.NNVMError: Error in operator import/InceptionV4/InceptionV4/Conv2d_1a_3x3/Conv2D: [21:48:55] /home/ubuntu/tvm/nnvm/src/top/nn/convolution.cc:120: Operator conv2d(layout=NHWC, use_bias=False, strides=(2, 2), padding=[0, 0], kernel_layout=HWIO, kernel_size=(3, 3), channels=32, dilation=(1, 1), name=import/InceptionV4/InceptionV4/Conv2d_1a_3x3/Conv2D) expects data's shape to be [4294967295,299,299,3], but got [-1,299,299,3]
One thing to notice here is that 4294967295 = 2^32 - 1, is the dimension somehow stored as unsigned numbers and not able to handle negative dimensions? Thanks!