Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rvm onnx推理的代码可以跑fp16的模型么? #15

Open
HZNUJeffreyRen opened this issue Jan 5, 2022 · 9 comments
Open

rvm onnx推理的代码可以跑fp16的模型么? #15

HZNUJeffreyRen opened this issue Jan 5, 2022 · 9 comments

Comments

@HZNUJeffreyRen
Copy link

我跑视频,加载完模型之后就阻塞住了

@DefTruth
Copy link
Owner

DefTruth commented Jan 5, 2022

目前只能跑fp32的模型

@HZNUJeffreyRen
Copy link
Author

HZNUJeffreyRen commented Jan 5, 2022

@DefTruth 好的,谢谢大佬回复。我还有一个疑问,就是rec的四个输出,会作为下一次的输入,我看了一下代码,是拿到所有output之后,再用memcpy拷贝到输入内存,这样的话rec四个输入的拷贝操作是不是中间会经过cpu,而不是通过gpu直接拷贝的?

@HZNUJeffreyRen
Copy link
Author

@DefTruth 因为我在3070上测试,0.25下采样率,1080p的视频,纯推理只有50fps,和作者列出的推理性能差了一半,我觉得应该是这个问题

@DefTruth
Copy link
Owner

DefTruth commented Jan 5, 2022

@DefTruth 好的,谢谢大佬回复。我还有一个疑问,就是rec的四个输出,会作为下一次的输入,我看了一下代码,是拿到所有output之后,再用memcpy拷贝到输入内存,这样的话rec四个输入的拷贝操作是不是中间会经过cpu,而不是通过gpu直接拷贝的?

是的,目前的处理逻辑,确实是会经过cpu做拷贝。你可以参考下这个讨论来修改,避免cpu的数据拷贝:
DefTruth/lite.ai.toolkit#60

@HZNUJeffreyRen
Copy link
Author

@DefTruth 好的,谢谢大佬回复。我还有一个疑问,就是rec的四个输出,会作为下一次的输入,我看了一下代码,是拿到所有output之后,再用memcpy拷贝到输入内存,这样的话rec四个输入的拷贝操作是不是中间会经过cpu,而不是通过gpu直接拷贝的?

是的,目前的处理逻辑,确实是会经过cpu做拷贝。你可以参考下这个讨论来修改,避免cpu的数据拷贝: DefTruth/lite.ai.toolkit#60

好的,谢谢大佬

@wangsnowsea2020
Copy link

我也想知道,如何实现fp16的模型的推理,大佬能讲一下思路吗

@DefTruth
Copy link
Owner

DefTruth commented Feb 2, 2022

具体的话,我没试过。不过可以看看我整理的资料,里边有关于fp16的

@wangsnowsea2020
Copy link

谢谢你的回复,我使用下面方法:Ort::Value::CreateTensor(memory_info_handler,
tensor_value_handler.data(),
target_tensor_size*sizeof(uint16_t),
tensor_dims.data(),
tensor_dims.size(),
ONNX_TENSOR_ELEMENT_DATA_TYPE_FLOAT16); 把所以的float 类型都改写为uint16_t, 把所有的OpenCV 的CV_ 32FC ,都改成CV_16FC , 貌似不行,是不是想简单了。

@YiQiu1984
Copy link

目前只能跑fp32的模型

大佬,你好,纯CPU推理的话(I5 的CPU),fps有多少呢?我看另外一个issue也有提到过类似的问题:
#14

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants