比Tensorflow还强()
大家好,我是章北海
Python
是机器学习和深度学习的首选编程语言,但绝不是唯一。训练机器学习/深度学习模型并部署对外提供服务(尤其是通过浏览器)JavaScript
是一个不错的选择,市面上也出现了很多 JavaScript
机器学习库,比较著名的就是谷歌的 TensorFlow.js
。我在《用浏览器玩机器学习,赞!》一文中已详细介绍TensorFlow.js
的用法,感兴趣的同学可以去看看。
今天要向大家介绍一个功能更加强大的 JavaScript
机器学习库——ML5.js
。它构建在 Tensorflow
之上,可进一步简化直接从 JavaScript
访问机器学习模型的过程。
ml5.js
ml5.js是一个javascript实现的,能在浏览器里面运行的机器学习框架,它封装了tensorflow.js的API,给开发者提供一个更简单的使用环境,降低了机器学习编码的成本。
ml5js官方提供的机器学习案例类型有图像、声音和文本三个类别.
文章图片
每个模型都有初始化,参数,属性,方法的详细介绍,以ml5.imageClassifier() 为例,大家去对应目录查看即可:
https://learn.ml5js.org/#/reference/image-classifier其实大家完全不用担心难以使用,因为ml5.js,太简单了。有多简化?我们看一下核心代码:
// Step 1: 使用MobileNet创建图像分类模型
const classifier = ml5.imageClassifier('MobileNet', onModelReady);
// Step 2: 选择一张图片
const img = document.querySelector("#myImage")// Step 3: 预测图片分类结果
let prediction = classifier.predict(img, gotResults);
// Step 4: 对结果进行操作
function gotResults(err, results) {
console.log(results);
}
html中使用ml5.js更简单了,只需一行:
是不是及其简单?
ml5js 如何入门 学习
ml5.js
最佳方式是从官方实例入手:examples.ml5js.org
大家可以通过
p5.js web editor
查看案例,不但可以实时看到效果,还有具体代码:p5.js 是一个JavaScript的函数库,是一个对初学者非常友好的编程环境,能够将制作出来的有创意,有趣的东西呈现在任何的浏览器上。
文章图片
不过我更推荐克隆整个项目,然后在本地运行这些案例,步骤如下:
# 1:克隆项目
git clone https://github.com/ml5js/ml5-library.git
cd ml5-library# 2:安装依赖
npm install# 3:运行本地服务
npm run develop# 4:浏览器访问localhost:8081
ml5js 实例 以图形识别为例,一个项目必须包含一个
html
页面,代码如下:
Image Classification Example - 锐客网
Image classification using MobileNetThe MobileNet model labeled this as ... with a confidence of ....
文章图片
模型实现在
sketch.js
,代码如下:const image = document.getElementById('image');
// 需要识别的图片
const result = document.getElementById('result');
// html中的结果标签
const probability = document.getElementById('probability');
// 识别概率标签// 用MobileNet初始化imageClassifier
ml5.imageClassifier('MobileNet')
.then(classifier => classifier.classify(image))
.then(results => {
result.innerText = results[0].label;
probability.innerText = results[0].confidence.toFixed(4);
});
在
image
目录下放我们要识别的图片,本例中就是dog.jpeg
文章图片
建议
VsCode
运行,记得安装 Live Server
插件文章图片
用
Live Server
打开index.html
,浏览器会自动弹出http://127.0.0.1:5500/learn-ml5js/index.html【比Tensorflow还强()】
文章图片
推荐阅读
- 深度学习的显卡对比评测(2080ti vs 3090 vs A100)
- 学习态度|为什么C++比C语言麻烦这么多,程序员笑了(这些点你知道吗())
- TDengine 和 InfluxDB 查询性能对比测试报告
- Apache Impala架构解析及与Hive、SparkSQL的性能比较
- [源码解析]|[源码解析] TensorFlow 分布式环境(5) --- Session
- BI工具对比|Smartbi与亿信ABI两款BI数据看板软件对比
- 鸿蒙系统和小米系统区别,华为鸿蒙系统对比小米MIUI12,到底谁更强!
- string|字符串string和内存流MemoryStream及比特数组byte[]互转比转换
- Vue中使用js制作进度条式数据对比动画
- TensorFlow2|深度学习之卷积神经网络(8)BatchNorm层