ml5.js通过使用Tensorflow.js API轻松定义、训练和测试模型,并支持GPU加速以提高计算效率,它还内置了其他实用工具的功能,比如可视化、渲染、移植到其他平台上等,增加用户工作的便捷性。
我们不需要纠结于Tensorflow.js的底层逻辑,就可以通过使用高级的ml5.js库来实现同样的功能。
ml5.js能做什么?
ml5.js可以让我们在浏览器中直接访问预先训练好的模型,还可以用它在浏览器中从头开始构建和训练我们自己的神经网络。
下面是一个MobileNet的例子,在浏览器中运行对象检测模型,只需要几行代码。
let img;
const classifier = ml5.imageClassifier(‘MobileNet’);
classifier.classify(img, gotResult);
function gotResult(error, result) {
if (error) {
console.error(error);
} else {
console.log(results);
}
}我们可以使用ml5.js加载数据、创建模型、训练并运行模型。启用调试模式后,ml5.js还可以显示训练进度。
Ml5拥有许多基于图像、声音和文本的模型,应用很广泛,如检测对象、人体、手部姿势和面部,生成文本、图像和绘图,实现图像翻译、对音频进行分类、检测音调,分析单词和句子。
| image | sound | text | helpers |
|---|---|---|---|
| imageClassifier | Pitch Detection | CharRNN | NeuralNetwork |
| ObjectDetector | SoundClassifier | Word Vectorization | FeatureExtractor |
| poseNet | Sentiment | KNNClassifier | |
| BodyPix | UniversalSentence | KMeans | |
| UNET | Encoder | ||
| YOLO | |||
| StyleTransfer | |||
| Pix2Pix | |||
| CartoonGAN | |||
| FaceApi | |||
| Facemesh | |||
| Handpose | |||
| CVAE | |||
| DCGAN | |||
| SketchRNN |

