TensorFlow.js 是 Google 推出的一款开源机器学习平台,可以在浏览器和 Node.js 中运行。它不仅包含了 TensorFlow 的核心功能,并且为 JavaScript 开发者提供了一种简单易用、灵活多变的方式来实现机器学习应用。
准备工作
在开始之前,需要安装 Node.js 和 npm。可以从 Node.js 官网下载并安装最新版本:https://nodejs.org/en/
接下来,在命令行中使用 npm 安装 TensorFlow.js:
--- ------- ----------------
安装完成后,就可以在项目中引入 TensorFlow.js:
----- -- - ----------------------------
如果要在浏览器中使用 TensorFlow.js,则可以直接使用以下 CDN 引入:
------- ----------------------------------------------------------------------------------
常用 API
Tensor
Tensor 是 TensorFlow.js 中最基本的数据结构,代表一个多维数组。可以通过以下方式创建一个 Tensor:
----- - - ------------- -- -- ---- ----- - - -------------- --- --- -----
Tensor 还支持一些常见的运算操作,例如加、减、乘、除等:
----- - - ------------- -- -- ---- ----- - - ------------- -- -- ---- ----- - - --------- -- -- ----- - - --------- -- -- ----- - - --------- -- -- ----- - - --------- -- --
Layers
Layers 是 TensorFlow.js 中用来构建神经网络模型的模块。可以使用以下代码创建一个简单的全连接层:
----- ----- - ---------------- --------------------------------- --- ----------- ---------
其中 dense
表示这是一个全连接层,units
表示神经元个数,inputShape
表示输入的形状。
Model
Model 是 TensorFlow.js 中用来训练和评估神经网络模型的模块。可以使用以下代码编译和训练一个简单的线性回归模型:
----- ----- - ---------------- --------------------------------- -- ----------- ------- -------------------- ------------------- ---------- -------- ----- -- - --------------- -- -- --- --- ---- ----- -- - --------------- -- -- --- --- ---- ------------- --- -------- ------------ -- - ------------------------------ --- ------------- -- ------ ---
其中 compile
用于配置模型的损失函数和优化器,fit
用于训练模型,predict
用于预测结果。
Data
Data 是 TensorFlow.js 中用来读取和处理数据的模块。可以使用以下代码加载并处理一个 CSV 文件:
----- ------ - ------------------------------------------------------------------------------------------------------------ ----- ------- - ------------------- --------------- ------ --------- --------- ----- ---------------- - -------------------------------------------------------- -- - ------ - --- -------------------------- --- ------------- - --- ----- ----------- - ------ ------------------------------------------------- ----- ----- - ---------------- --------------------------------- -- ----------- ----------------- --------------- ---------- ---------------- ----- ------------------ --- ----- --------------------------------------------- ----------------------------------------------------------- ---------- ---------------------------------------------------------------------------------------