本文将介绍如何从源码构建出 TensorFlow JS 库(tfjs)。对于大多数微信小程序开发者而言,并不需要经历这一步,要做的仅仅是把编译好的 tfjs 库加入微信小程序工程中。但我还是希望说说如何从源码编译出 tfjs 库,为什么呢?主要出于两个原因:
TensorFlow JS 主要包含 4 个重要的模块,在老的版本中,它们存在于几个独立的 git 库: tjfs-core, tfjs-layers, tfjs-converter, tfjs-data。在最新的版本中,它们整合到同一个 git 库中:
上述4个模块中, tfjs-core 是最基础的组件,其它几个模块都依赖这一模块。该可以单独编译,功能独立,能够单独使用,从而可以减少 tfjs 库的体积。
tfjs 采用了 yarn 构建系统,对于前端开发者而言应该比较熟悉。下面简单说说如何在 Ubuntu 18.04 上安装 yarn ,其它平台上的安装方法,请自行搜索。
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update
sudo apt install yarn
yarn --version
当前输出的版本号为:
1.21.1
需要注意的是, Ubuntu 中另外有个包中也有同名程序,如果你之前未安装过 yarn,运行yarn命令可能会出现如下提示:
Command 'yarn' not found, but can be installed with:
sudo apt install cmdtest
请勿安装这个 cmdtest,这是另外一个工具,并不是 yarn 构建系统。
git clone https://github.com/tensorflow/tfjs.git
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:
cd tfjs/tfjs-core
yarn build-npm
编译出的 tfjs-core 库文件位于 dist 子目录下,名为 tf-core.min.js 。
本文介绍了如何从源码构建 tfjs 库,对于大多数微信小程序开发者而言并不需要,但如果你希望裁剪和定制 tfjs ,就可能需要从源码构建。在下一篇文章中,我将介绍人工智能微信小程序 Hello WeChat ,敬请关注!