一个包装 Microsoft/onnxruntime 的 Go(go语言)库。
onnxruntime Wrapper for Goonnxruntime 库提供了加载和执行 ONNX 格式神经网络的方法,尽管该库主要支持 C 和 C++ API。 已经有多个项目致力于为 onnxruntime 库编写 Go(lang) 封装,但据我所知,这些现有的 Go 封装都不支持 Windows。 这是因为 Microsoft 的 onnxruntime 库假定用户将在 Windows 系统上使用 MSVC 编译器,而 Windows 上的 CGo 需要使用 Mingw。
此包围器解决了问题,通过手动加载 onnxruntime 共享库,去除了对 onnxruntime 源代码的任何依赖,除了头文件之外。当然,这种方法在非 Windows 系统上同样有效。此外,此库使用 Go 最近添加的泛型来支持多种张量数据类型;请参阅 NewTensor 或 NewEmptyTensor 函数。
在本文撰写时,该库使用 onnxruntime C API 头文件的 1.29.0 版本。因此,它可能只能与 onnxruntime 共享库的 1.29.0 版本兼容。如果您需要使用其他版本,或者我在更新此仓库时落后,则更新或更改 onnxruntime 版本应该是相当容易的:
暂无开放 Issues,或尚未同步最近议题。