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

Looking for help implementing ONNXRuntime backend #334

Open
isty2e opened this issue Oct 25, 2020 · 1 comment
Open

Looking for help implementing ONNXRuntime backend #334

isty2e opened this issue Oct 25, 2020 · 1 comment

Comments

@isty2e
Copy link
Contributor

isty2e commented Oct 25, 2020

I am currently trying to implement an ONNXRuntime backend. Main motivations are:

  • Being available to use .onnx file as the network file, which enables us to experiment with different network architectures or details without implementing everything in CUDA/OpenCL backend.
  • Graph optimization shipped in ONNXRuntime, which might be helpful for performance.
  • Easier access to some platform-specific backends such as TensorRT, DirectML, and MIGraphX.

I have done some work in my branch, but it is of course not functional yet. My main concerns are:

  • I have little to no experience with C++, so I'm pretty sure that I messed up somewhere and everything is broken here and there.
  • I have totally no idea how to configure CMakeList.txt, especially considering that find_package(onnxruntime) does not work. This comment is probably helpful for this purpose, but I'm not getting how to use this in a proper way.

For those who might be interested in, b20 and b40 weight files converted into .onnx format are available here.

@lightvector
Copy link
Owner

This is cool. Presumably it will be a lot easier to get C++ part tested once cmake is configured, so that you can actually compile it reliably. :)

So it looks like based on the comment you linked that onnx has not implemented cmake integration, so they require you to manually include/link things. My impression is that at least for testing for the moment, the commented hacky solution A is most straightforward - have you run into issues when trying to apply it?

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

2 participants