Hola a todos, soy Zhang Beihai.
He estado explorando formas de introducir el aprendizaje automático de una manera más divertida, reducir el umbral de aprendizaje y usarlo para desarrollar aplicaciones interesantes y valiosas. Muchas aplicaciones de aprendizaje automático se han introducido antes, como: implementación de modelos de aprendizaje automático entrenados con gRPC, creación de API de aprendizaje automático con FastAPI , generación rápida de aplicaciones web de aprendizaje automático con streamlit y reproducción de aprendizaje automático en Excel . ←Click para ir directamente
He estado jugando con TensorFlow.js últimamente y planeo usarlo para todo. Este artículo es una introducción mínima a TensorFlow.js.
TensorFlow.js
TensorFlow.js es una biblioteca JavaScript acelerada por hardware de código abierto para entrenar e implementar modelos de aprendizaje automático. Nos permite 浏览器
entrenar e implementar modelos de aprendizaje automático directamente en la biblioteca de JavaScript, que puede ser muy flexible en el desarrollo de aplicaciones de IA:
-
No es necesario instalar software ni controladores (abrir el navegador para usarlo);
-
Se puede llevar a cabo una interacción hombre-computadora más conveniente a través del navegador;
-
Se puede llamar a varios sensores del hardware del teléfono móvil (como GPS, cámara, etc.) a través del navegador del teléfono móvil;
-
Los datos del usuario se pueden completar localmente sin cargarlos en el servidor.
TensorFlow.js funciona principalmente con WebGL y proporciona una API de alto nivel para definir modelos y una API de bajo nivel para álgebra lineal y diferenciación automática. TensorFlow.js admite la importación de modelos TensorFlow SavedModels y Keras.
Configuración del entorno TensorFlow.js
La forma más conveniente de cargar TensorFlow.js en el navegador es hacer referencia directamente al código JavaScript que se empaquetó e instaló en el paquete NPM publicado por TensorFlow.js en HTML.
<html>
<head>
<script src="http://unpkg.com/@tensorflow/tfjs/dist/tf.min.js"></script>
复制代码
También puedes usar TensorFlow.js en Node.js, y la configuración no es demasiado complicada:
安装 Node.js npm yarn
Node.js是基于Chrome的JavaScript构建的跨平台JavaScript运行时环境,npm是Node.js的默认程序包管理器,也是世界上最大的软件注册表。
sudo apt update
sudo apt install nodejs npm
复制代码
如果已经安装过node.js,尽量升级到最新版本
# 更新npm :
npm install -g npm
# 更新node版本:
先清除npm缓存:
npm cache clean -f
# 然后安装n模块:
npm install -g n
# 升级node.js到最新稳定版:
n stable
复制代码
TensorFlow.js的example运行时会用到 Yarn 这里一并安装。(不装也行,npm撑得住)
Yarn就是一个类似于 npm 的包管理工具,主要的优势在于:速度快、离线模式、版本控制。
坑已经帮大家踩过了,请必按以下方式安装:
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
复制代码
建立 TensorFlow.js 项目目录:
$ mkdir tfjs
$ cd tfjs
复制代码
安装 TensorFlow.js:
# 初始化项目管理文件 package.json
$ npm init -y
# 安装 tfjs 库,纯 JavaScript 版本
$ npm install @tensorflow/tfjs
# 安装 tfjs-node 库,C Binding 版本
$ npm install @tensorflow/tfjs-node
# 安装 tfjs-node-gpu 库,支持 CUDA GPU 加速
$ npm install @tensorflow/tfjs-node-gpu
复制代码
确认 Node.js 和 TensorFlow.js 工作正常:
$ node
> require('@tensorflow/tfjs').version
{
'tfjs-core': '1.3.1',
'tfjs-data': '1.3.1',
'tfjs-layers': '1.3.1',
'tfjs-converter': '1.3.1',
tfjs: '1.3.1'
}
>
复制代码
如果你看到了上面的 tfjs-core, tfjs-data, tfjs-layers 和 tfjs-converter 的输出信息,那么就说明环境配置没有问题了。
然後,在 JavaScript 程序中,通过以下指令,即可引入 TensorFlow.js:
import * as tf from '@tensorflow/tfjs'
console.log(tf.version.tfjs)
// Output: 1.3.1
复制代码
玩法及Eamples
TensorFlow.js 玩法有一下几种:
- 在浏览器上运行官方 TensorFlow.js 模型:
https://www.tensorflow.org/js/models/
- 转换 Python 模型:
https://www.tensorflow.org/js/tutorials#convert_pretained_models_to_tensorflowjs
- 使用迁移学习来用你自己的数据自定义模型
https://www.tensorflow.org/js/tutorials/transfer/what_is_transfer_learning
- 直接在 JavaScript 中构建和训练模型
https://www.tensorflow.org/js/tutorials
最好的学习资源是TensorFlow.js官方案例:
可以直接点击链接直达感受一下TensorFlow.js的魅力
也可以clone整个项目,cd到示例文件夹:
#如果你在用yarn:
cd iris
yarn
yarn watch
#如果你在用npm:
cd iris
npm install
npm run watch
复制代码