Unsupported ONNX data type: UINT8 (2)

Hello, so could you help with my model?
I have same issue with onnx2trt for ssd mobilenet model?

3 Likes

Looks like the “(2)” in UINT8 (2) is just the enum value of the type. I wrote a python script to edit the type of the input layer (as well as set the batch size), but this created another error:

map/while/strided_slice: out of bounds slice, input dimensions = [128,64,3], start = [0,0,3], size = [128,64,3], stride = [1,1,-1].
Layer map/while/strided_slice failed validation

@BGreenway did you ever solve the issue with strided_slice? I am having the same problem while also working on converting the mars-small128.pb model to something TensorRT can use.

After digging a little deeper, I understand that the start, [0,0,3] is out of bounds because the last dimension (axis?) only has length of three, so the highest index value is 2. So the question is, why is it starting there? Does tensorflow index differently from TensorRT with strided_slice or something?

@loophole64 sorry, but no, I never did figure this out. It looks like we both went down the same rabbit hole and got the same errors. I tried onnx and uff with no luck. There just appears to be one or more node types that are in small128.pb that just refuses to convert. I’m sure it could be done with more effort…I just ran out of time.

Thanks for replying. It seems that the TensorRT ISliceLayer doesn’t support the same behaviors that the TensorFlow StridedSlice operation does, so going this route is probably not very productive at this point. Maybe with future versions of TensorRT it will be possible.