收藏
评论

AI Pocket —— 能在小程序端运行 TensorFlow 模型的小程序

1. 小程序简介

AI Pocket 是一款能在微信小程序端运行 TensorFlow 模型的小程序,支持包括但不限于文本分类(计划中)、语音识别(计划中)、图像识别等领域的模型。

1.1 小程序特点

在需要使用机器学习算法(尤其涉及到神经网络模型时),通常的做法是前端(比如小程序)采集数据,通过网络调用后台提供的 API,从而实现模型预测。

AI Pocket 采用的是非主流做法:

1. 对训练得到的模型进行压缩,得到一个体积相对小、准确率尚可的模型;

2. 将模型缓存在 CDN 服务商的服务器上;

3. 在进行模型预测前,通过网络把模型下载到本机,然后在本地实时预测。

2. 开发故事

2.1 导火索

某一天,大佬和我聊到 Tfjs,问我有没可能搬到小程序上,说是没准可以做个爆款。

经过一番魔改,我成功把 tfjs 移植到了微信小程序上。然而,由于小程序 API 诸多的不完善,以及没有办法优雅地用上 webgl,模型预测速度实在太慢,就没有了爆款的下文。

附:tfjs 移植到微信小程序

2.2 首次开源

过了几个月,有人看到我写的一篇关于魔改 tfjs 的文章,留言表示很有兴趣,希望能开源。然后,我就整理了下旧代码并开源在了 GitHub 上。

附:TensorFlowJS 移植微信小程序再次尝试

2.3 改良优化

又过了几个月,同事给我分享了一篇文章,里面有提到 TensorFlow 官方对小程序的支持插件。我掐指一算,感觉可以继续搞搞。

我连夜瞄了 tfjs 最近的更新和小程序插件的代码,发现 tfjs 开始考虑对多平台的支持,而且小程序也开放了更多有利的 API。

于是,我就把之前开源的 Demo 再完善了下,用上了 webgl 加速,预测速度飞起,便有了现在的 AI Pocket。

附:AI Pocket —— 能跑深度模型的小程序

2.4 把 AI 装进口袋

我希望把更多的 AI 模型装到 AI Pocket 上,在小程序上就可以跑机器学习/深度学习模型,打造一个「流弊」的 AI 口袋。

3. 代码开源

目前,代码开源并托管在 HunterXuan/wx-tfjs-demo 仓库中,欢迎各位大佬提建议 or 贡献代码!

扫码体验

最后一次编辑于  2023-01-11
赞 0
收藏
登录 后发表内容