Skip to content

微信小程序运行 TensorFlow 的 Demo

Notifications You must be signed in to change notification settings

jaccen2007/CGVerse

 
 

Repository files navigation

CGVerse

微信小程序运行 TensorFlow 的 Demo,代码与小程序不定期同步更新。

如何运行

运行环境要求

推荐系统:MacOS

NodeJS:v18.x.x

微信基础库版本:>= 2.29.0

微信开发者工具:>= v1.06.2210310

微信开发者工具的项目配置:

  • 勾选「ES6 转 ES5」
  • 勾选「增强编译」
  • 测试时请勾选「不校验合法域名……」

使用方式

  1. 克隆代码到本地
  2. 修改 project.config.json 中的 appid 配置
  3. 在小程序管理后台的“设置-第三方服务-插件管理”中,通过 appid [] 查找并添加
  4. npm i 安装依赖(有时可能需要使用 npm i --force
  5. npm run build 编译依赖
  6. 手机扫描开发者工具的预览码

TLDR

早期实现方式

改造 tfjs-core,使 TensorFlow.js 可以运行在小程序中。小程序调用摄像头成像,将图片显示在 canvas 上,通过小程序的 API 可以获取到 canvas 的「类 ImageData」数据,再调用 tfjs 的 API 实现预测。

目前实现方式

由于 tfjs 已经优雅地实现对多平台的支持,具体表现为可以扩展 platform 实现「移植」,而且微信小程序也开放了更多有利的 API,目前不再采用侵入式地魔改 tfjs 的方式,而是借助 tfjs 的微信插件来提供模型的加载、训练、预测等功能。

尽管相比以前方便多了,但是由于小程序的 onCameraFrame 获取到的帧数据与所展示的不一致,而且是在不同的设备上(甚至相同设备的前后摄像头)对原始帧数据的处理方式都不一样,要想得到准确的预测结果,真叫人头大。

About

微信小程序运行 TensorFlow 的 Demo

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 74.2%
  • TypeScript 25.8%