wx-tfjs-demo 项目介绍
项目概述
wx-tfjs-demo 是一个示例项目,展示了如何在微信小程序中使用 TensorFlow.js 进行人工智能模型的加载和推理。项目的源代码与小程序「AI Pocket」项目保持不定期同步更新,用户可以通过此项目学习如何在小程序中实现复杂的 AI 功能。
如何运行
环境要求
要运行 wx-tfjs-demo,用户需要满足以下环境要求:
- 推荐系统:MacOS
- NodeJS:v18.x.x
- 微信基础库版本:>= 2.29.0
- 微信开发者工具:>= v1.06.2210310
与此同时,用户需要在微信开发者工具中进行一些项目配置:
- 勾选「ES6 转 ES5」
- 勾选「增强编译」
- 在测试时勾选「不校验合法域名……」
操作步骤
- 将代码克隆到本地。
- 修改
project.config.json
中的appid
为自己的小程序 ID。 - 执行
npm i
安装项目依赖。有时可能需要使用npm i --force
。 - 使用
npm run build
编译项目。 - 使用手机扫描微信开发者工具生成的预览二维码进行预览。
实现历程
早期探索
在最初,项目通过改造 TensorFlow.js 的核心代码(tfjs-core)来实现其在小程序中的运行。通过调用小程序的摄像头功能,将拍摄的图像显示在canvas
上,然后获取「类 ImageData」的数据,并使用 TensorFlow.js 的 API 实现预测功能。
现有实现
随着技术的发展,如今不再需要对 TensorFlow.js 进行复杂的改造。通过微信小程序已经开放的 API 和 tfjs 的微信插件,可以方便地实现模型的加载、训练和预测。目前面临的挑战是不同设备对于拍摄到的帧数据处理的差异,不过解决方案已经趋于成熟,适配多种设备和平台的数据一致性。
小程序展示
小程序当前为「AI Pocket」,这是一个功能丰富且具有教育意义的小程序。用户可以通过扫码体验该小程序,并欢迎大家提供反馈和改进意见。
合作与交流
合作机会
本项目的开发者在前后端开发、Docker 和 Swarm、持续部署和人工智能 NLP 等领域有丰富的经验。项目源码开源,鼓励大家参与到项目的共同开发中,并对商业应用持开放态度,但建议尊重开源协议。
技术交流
用户还可以通过关注开发者的个人博客或微信公众号「猎人杂货铺」获取更多的技术分享与生活感悟,欢迎加入「AI Pocket 交流群」进行更全面的交流和探讨。