前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >手把手教你开发人工智能微信小程序(0):构建tfjs

手把手教你开发人工智能微信小程序(0):构建tfjs

作者头像
云水木石
发布2020-01-02 14:50:25
1.2K0
发布2020-01-02 14:50:25
举报
文章被收录于专栏:大龄程序员的人工智能之路

本文将介绍如何从源码构建出 TensorFlow JS 库(tfjs)。对于大多数微信小程序开发者而言,并不需要经历这一步,要做的仅仅是把编译好的 tfjs 库加入微信小程序工程中。但我还是希望说说如何从源码编译出 tfjs 库,为什么呢?主要出于两个原因:

  1. 完整的 tfjs 库大约有 900K,看起来是一个很小的体积,但我们要知道,微信小程序包有 2M 的大小限制。微信小程序添加一点图片,加上深度学习模型文件,很容易超过 2M 的大小。所以 tfjs 库能减则减,可能在项目开发中需要对 tfjs 库进行裁剪。
  2. tfjs 主要是为浏览器和 NodeJS 而开发,微信小程序虽然也采用基于 web 的技术,但有些地方进行了限制,比如 web 中广泛使用的 fetch API 就被砍掉了。在某些情况下我们可能需要修改 tfjs 的源码,这个时候就需要自行构建 tfjs 库。

TensorFlow JS 主要包含 4 个重要的模块,在老的版本中,它们存在于几个独立的 git 库: tjfs-core, tfjs-layers, tfjs-converter, tfjs-data。在最新的版本中,它们整合到同一个 git 库中:

  • TensorFlow.js Core, tfjs核心库,提供灵活的低层次API,由deeplearn.js发展而来。
  • TensorFlow.js Layers, 提供高层次API,实现了类似于Keras的函数。
  • TensorFlow.js Data, 提供简单的API加载和准备数据,功能类似于tf.data。
  • TensorFlow.js Converter, 提供工具导入TensorFlow SavedModel格式模型到TensorFlow.js。

上述4个模块中, tfjs-core 是最基础的组件,其它几个模块都依赖这一模块。该可以单独编译,功能独立,能够单独使用,从而可以减少 tfjs 库的体积。

安装yarn

tfjs 采用了 yarn 构建系统,对于前端开发者而言应该比较熟悉。下面简单说说如何在 Ubuntu 18.04 上安装 yarn ,其它平台上的安装方法,请自行搜索。

  1. 导入 yarn 库的GPG key:
代码语言:javascript
复制
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
  1. Ubunut 系统添加 yarn APT库:
代码语言:javascript
复制
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
  1. 安装 yarn:
代码语言:javascript
复制
sudo apt update
sudo apt install yarn
  1. 检查 yarn 是否安装成功,如下命令输出 yarn 的版本号:
代码语言:javascript
复制
yarn --version

当前输出的版本号为:

代码语言:javascript
复制
1.21.1

需要注意的是, Ubuntu 中另外有个包中也有同名程序,如果你之前未安装过 yarn,运行yarn命令可能会出现如下提示:

代码语言:javascript
复制
Command 'yarn' not found, but can be installed with:

sudo apt install cmdtest

请勿安装这个 cmdtest,这是另外一个工具,并不是 yarn 构建系统。

构建tfjs库
  1. 克隆 tfjs 源码库:
代码语言:javascript
复制
git clone https://github.com/tensorflow/tfjs.git
  1. 构建 tfjs
代码语言:javascript
复制
cd tfjs/tfjs
yarn build-npm

在当前目录下会生成一个 tensorflow-tfjs-x.x.x.tgz 的压缩包,其中 x.x.x 代表 tfjs 的版本号,写这篇文章时最新的版本号为1.5.1。如果我们要在项目中加入 tfjs 库,可以直接使用 dist 目录下的 tf.min.js 文件。

如果在项目中,我们只使用 tfjs-core,可以单独构建 tfjs-core:

代码语言:javascript
复制
cd tfjs/tfjs-core
yarn build-npm

编译出的 tfjs-core 库文件位于 dist 子目录下,名为 tf-core.min.js

小结

本文介绍了如何从源码构建 tfjs 库,对于大多数微信小程序开发者而言并不需要,但如果你希望裁剪和定制 tfjs ,就可能需要从源码构建。在下一篇文章中,我将介绍人工智能微信小程序 Hello WeChat ,敬请关注!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-12-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云水木石 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装yarn
  • 构建tfjs库
  • 小结
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档