用浏览器玩机器学习,赞!

简介: 用浏览器玩机器学习,赞!

浏览器玩转机器学习


大家好


我一直探索更好玩地介绍机器学习,降低学习门槛,用其开发有趣,有价值的应用。之前介绍过很多机器学习应用方面的玩法,比如:gRPC部署训练好的机器学习模型使用FastAPI构建机器学习API用streamlit快速生成机器学习web应用  ,在Excel里玩机器学习


最近我在玩 TensorFlow.js ,计划用它整个活儿。本文就先来个  TensorFlow.js 的极简入门。

640.gif


TensorFlow.js


TensorFlow.js 是一个开源硬件加速 JavaScript 库,用于训练和部署机器学习模型。它可以让我们直接在浏览器中训练和部署机器学习模型的 JavaScript 库,可以非常灵活地进行 AI 应用的开发:


  • 不需要安装软件或驱动(打开浏览器即可使用);
  • 可以通过浏览器进行更加方便的人机交互;
  • 可以通过手机浏览器,调用手机硬件的各种传感器(如:GPS、摄像头等);
  • 用户的数据可以无需上传到服务器,在本地即可完成所需操作。


TensorFlow.js 主要是由 WebGL 提供能力支持,并提供了一个用于定义模型的高层  API ,以及用于线性代数和自动微分的低级 API 。TensorFlow.js 支持导入 TensorFlow SavedModels  和  Keras  模型。


640.png


TensorFlow.js 的 API 和 Python 里的 TensorFlow 和 Keras 基本上是对标的。


TensorFlow.js 环境配置


在浏览器中加载 TensorFlow.js ,最方便的办法是在 HTML 中直接引用 TensorFlow.js 发布的 NPM 包中已经打包安装好的 JavaScript 代码。


<html>
<head>
   <script src="http://unpkg.com/@tensorflow/tfjs/dist/tf.min.js"></script>


也可以在Node.js中使用TensorFlow.js,配置也不算太复杂:


安装 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 玩法有一下几种:



640.png



最好的学习资源是TensorFlow.js官方案例:


640.png


可以直接点击链接直达感受一下TensorFlow.js的魅力

640.png


也可以clone整个项目,cd到示例文件夹:


#如果你在用yarn:
cd iris
yarn
yarn watch
#如果你在用npm:
cd iris
npm install
npm run watch


640.png

https://storage.googleapis.com/tfjs-examples/iris/dist/index.html

相关文章
|
2月前
|
机器学习/深度学习 自然语言处理 前端开发
前端大模型入门:Transformer.js 和 Xenova-引领浏览器端的机器学习变革
除了调用API接口使用Transformer技术,你是否想过在浏览器中运行大模型?Xenova团队推出的Transformer.js,基于JavaScript,让开发者能在浏览器中本地加载和执行预训练模型,无需依赖服务器。该库利用WebAssembly和WebGPU技术,大幅提升性能,尤其适合隐私保护、离线应用和低延迟交互场景。无论是NLP任务还是实时文本生成,Transformer.js都提供了强大支持,成为构建浏览器AI应用的核心工具。
580 1
|
机器学习/深度学习 前端开发 算法框架/工具
独家 | 在浏览器中使用TensorFlow.js和Python构建机器学习模型(附代码)
本文首先介绍了TensorFlow.js的重要性及其组件,并介绍使用其在浏览器中构建机器学习模型的方法。然后,构建使用计算机的网络摄像头检测身体姿势的应用程序。
2806 0
|
机器学习/深度学习 Web App开发 数据采集
Crawler:基于urllib+requests库+伪装浏览器实现爬取国内知名招聘网站,上海地区与机器学习有关的招聘信息(2018.4.30之前)并保存在csv文件内
Crawler:基于urllib+requests库+伪装浏览器实现爬取国内知名招聘网站,上海地区与机器学习有关的招聘信息(2018.4.30之前)并保存在csv文件内
Crawler:基于urllib+requests库+伪装浏览器实现爬取国内知名招聘网站,上海地区与机器学习有关的招聘信息(2018.4.30之前)并保存在csv文件内
|
Web App开发 机器学习/深度学习 JavaScript
【TensorFlow开发者峰会】重磅发布TensorFlow.js,完全在浏览器运行机器学习
北京时间3月31日举行的2018 TensorFlow 开发者峰会上,TensorFlow宣布重大更新:增加支持JavaScript,并推出开源库TensorFlow.js,用户可以完全在浏览器定义、训练和运行机器学习模型。
2490 0
|
机器学习/深度学习
teachable-machine:探索机器学习如何工作,浏览器中实时浏览
教学机器是一个实验,让所有人都非常方便的探索机器学习,在浏览器中实时浏览,不需要编程。学习更多实验,然后亲自尝试它 访问:https://teachablemachine.
1508 0
|
7月前
|
机器学习/深度学习 存储 搜索推荐
利用机器学习算法改善电商推荐系统的效率
电商行业日益竞争激烈,提升用户体验成为关键。本文将探讨如何利用机器学习算法优化电商推荐系统,通过分析用户行为数据和商品信息,实现个性化推荐,从而提高推荐效率和准确性。
250 14
|
7月前
|
机器学习/深度学习 算法 数据可视化
实现机器学习算法时,特征选择是非常重要的一步,你有哪些推荐的方法?
实现机器学习算法时,特征选择是非常重要的一步,你有哪些推荐的方法?
130 1
|
7月前
|
机器学习/深度学习 算法 搜索推荐
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
|
7月前
|
机器学习/深度学习 数据采集 算法
解码癌症预测的密码:可解释性机器学习算法SHAP揭示XGBoost模型的预测机制
解码癌症预测的密码:可解释性机器学习算法SHAP揭示XGBoost模型的预测机制
339 0
|
7月前
|
机器学习/深度学习 数据采集 监控
机器学习-特征选择:如何使用递归特征消除算法自动筛选出最优特征?
机器学习-特征选择:如何使用递归特征消除算法自动筛选出最优特征?
973 0