KSNN convert yolox模型后数据不对

Which Khadas SBC do you use?

vim3

Which system do you use? Android, Ubuntu, OOWOW or others?

Ubuntu

Which version of system do you use? Khadas official images, self built images, or others?

vim3-ubuntu-20.04-gnome-linux-4.9-fenix-1.1.1-220725.img.xz

Please describe your issue below:

我在使用以下命令KSNN转换模型:
./convert --model-name yolox_s --platform onnx --model yolox_s.onnx --input-size-list ‘3,640,640’ --inputs images --outputs output --mean-values ‘123.680 116.779 103.939 0.00392156’ --qtype uint8 --quantized-dtype asymmetric_affine --source-files dataset.txt --kboard VIM3 --print-level 1
之后,得到的output很是错的。

output0为yolox的onnx的结果。output为转换后的结果。
请问这种情况可能是哪里出错了

Post a console log of your issue below:

onnx推理代码:
    session = onnxruntime.InferenceSession(args.model0)

    ort_inputs = {session.get_inputs()[0].name: img[None, :, :, :]}
    output0 = session.run(None, ort_inputs)
转换后推理代码:
    yolox = KSNN('VIM3')
    yolox.nn_init(library=library, model=model, level=level)
    output = yolox.nn_inference(img[ :, :, :], platform = 'ONNX', reorder='2 1 0', output_format=output_format.OUT_FORMAT_FLOAT32)
    output = np.expand_dims(output[0].reshape(-1, 85), 0)

还有一个疑惑是这个参数的含义看的不是很懂,reorder='2 1 0',在这个例子中0 1 2跟2 1 0好像输出结果区别不大

1 Like