benjamin wan

Results 90 comments of benjamin wan

看了,这里有误,需要把这几行去掉。

cuda和cudnn版本很多,跟onnxruntime的版本配合,需要根据官方提供的表格去搭配。 https://onnxruntime.ai/docs/execution-providers/CUDA-ExecutionProvider.html#cuda-12x 另外cuda不开源,同一个版本比如cuda12.8,在不同架构(3种架构),不同的linux系统(12种linux)下的库文件也不一样。 linux系统:x86_64平台有12个,arm64-sbsa平台2个,aarch64-jetson平台2种,一共16个 windows系统:一共4个 也就是说onnxruntime1.20+cuda12.8这个组合就需要编译20个包。 ![Image](https://github.com/user-attachments/assets/d280471c-dd14-4b26-bcc0-dc5dad5822b4) cuda版本跟显卡驱动也是需要配合的,比如部署的系统的显卡驱动已经以root权限装好了,开发者只有user权限不能更改驱动,但驱动又要求配合cuda12.1或者12.2或者12.3,那么这样又得重新编译,算下去就没完没了。

安卓平台没有cuda。 NVIDIA没有推出支持安卓平台的GPU。

车牌字体属于特殊字体,字体是在模型训练时决定的,跟调用代码无关。 模型由百度paddle训练,这个模型是通用模型(意思是没有针对车牌字体进行训练)。 你可以找paddle反馈,或者找专门识别车牌的模型项目。

libonnxruntime.so缺失。 因为你没提供你的操作步骤、运行环境、开发环境等相关信息,所以这问题还是得靠你自己解决。 建议参照编译说明,下载Release中的Project压缩包与你现在clone的源码对比一下,用Release中的apk解压后跟你自己生成的apk对比一下,跑一下Release提供的apk看看log有什么不一样,再试一试。

> 我下载的就是Release中的Project压缩包 最新版的 然后解压 然后直接导入到 as中,然后运行 接着无论是安卓手机还是虚拟机 都会闪退 如果下载Release中的apk来跑也闪退,那就只能请你自己解决(最新版android 15 ,google对原生代码改成了16K Page Size,或许有影响? ),这个项目发布于5年前,现已不再活跃开发,如果你有任何改进的代码,也欢迎贡献pr。

我这里能正常运行的环境是windows 10 22H2, x86_64架构。 Android虚拟机是As自带的,Android 10 x86_64。 AS版本如下:Android Studio Koala Feature Drop | 2024.1.2 Patch 1 ![Screenshot_1729761548](https://github.com/user-attachments/assets/d75ec455-41ad-4a06-b163-c51bdcaea28f) ![ASversion](https://github.com/user-attachments/assets/3cf897e5-8e4e-4ca9-aff8-c248f8a2439e)

最后,这个项目含有C++代码,C++代码由cmake管理,正常来说Android Studio会自己下载NDK和Cmake。因为墙的存在(或许某些情况下AS无法下载对应的工具链),能访问这里的人应该不会缺少相关的知识,就默认不再多说明了。 以下是我的配置,仅供参考: ![NDK](https://github.com/user-attachments/assets/2048e8dd-1150-4044-af96-6c7fe845952f)

cuda不是通用的库(比如AMD、Intel、高通、MTK、三星等都不能使用)。 它不开源,即使有高手能移植到其它GPU,甚至可能被NVIDIA起诉。 当前cuda需要配合NVIDIA的GPU(显卡),而安卓平台没有NVIDIA的产品,所以不支持安卓。

onnxruntime支持的移动平台GPU或NPU也有: https://onnxruntime.ai/docs/execution-providers/#summary-of-supported-execution-providers 种类比较多,但这些都依赖于特定的硬件或特定的库,难以直接通过pc交叉编译。 比如高通的QNN,瑞芯微的RKNPU ,苹果IOS的CoreML,华为的CANN。 每种设备都得在自己的开发环境下进行编译,通俗一点说就是很零碎,没有一个统一的加速库。 而ncnn是用了vulkan这个通用图形库来做加速,大部分手机都支持vulkan,所以能做到通用,但缺点是性能不如专用的加速库。