wxmp tensorflow
1.0.0
微信小程序下运行最新TensorFlow
的工程解决方案,有以下特点
注: Paddle.js 已适配百度小程序和微信小程序,https://github.com/PaddlePaddle/Paddle.js
机器 | 模型 | FPS | Backend |
---|---|---|---|
IPhone 7 | BlazeFace | 12 | WebGL |
IPhone 7 | BlazeFace | 1 | WASM |
MI 8 | BlazeFace | 20 | WebGL |
MI 8 | BlazeFace | 17 | WASM |
MI 8 | FaceLandMarks | 20 | WebGL |
MI 8 | FaceLandMarks | 10 | WASM |
MI 8 | PoseNet | 20 | WebGL |
MI 8 | PoseNet | 5 | WASM |
MI 8 | HandPose | 14 | WebGL |
MI 8 | HandPose | 1 | WASM |
MI 8 | MoveNet | 14 | WebGL |
MI 8 | MoveNet | 2.5 | WASM |
注:WASM 为非 SIMD 版,安卓微信小程序运行 SIMD WASM 报错 虽说能跑,但是微信 IOS 上面问题多多,建议能 webview 还是 webview,性能好,gl 起码符合标准也无内存问题
> pnpm i / npm i / yarn
> npm run dev
# 使用小程序开发工具打开,替换appid为测试appid,不校验域名
# 使用custom tfjs编译,例子是仅仅blazeface可用tf + webgl backend 小程序包从 985KB下降到534KB (js大概下降234KB)
> npm run make-custom
> npm run build-custom
请参考
只需要把读取数据部分的 async 方法比如Tensor.array()
改为Tensor.arraySync()
,或者Tensor.buffer()
改为Tensor.bufferSync()
,然后把async
和await
,Promise.all
等关键字去除,即可
如果项目对您有帮助或者有适配需求,欢迎打赏