在上一篇文章中,我撰写了有关TensorFlow.js的文章,以及如何将其用于在浏览器中构建和部署深度学习模型。在这篇文章中,我将重点在浏览器中加载tensorflow.js模型。
。大多数时间机器学习模型都来自API。但是TensorFlow.js将这些模型带到用户浏览器中。这背后的过程非常有趣。
毒性模型
有很多方法可以加载和使用TensorFlow.js型号。
假设您想加载Toxicity model。毒性是可以检测文本中毒性的模型。
这是您可以在安装后可以直接从NPM软件包加载的模型。
import * as toxicity from "@tensorflow-models/toxicity";
所以,现在您可以通过调用toxicity.load()
加载模型。
Toxicity.load()
是tf.loadGraphModel()
周围的包装器。
tf.loadGraphModel()
是一个从URL或本地文件加载tensorflow.js模型的函数。
加载模型的过程
即使您使用NPM安装模型,该模型也不在软件包内。当您需要使用该模型时,这将解散网络调用以下载模型。
由于模型是异步加载的,因此您需要等待模型加载才能使用。
const model = await toxicity.load();
这是我们可以从Chrome开发人员工具中的网络选项卡中看到的东西:
碎片
毒性模型是一个大型模型,因此将其分为多个文件。这些文件称为碎片。碎片并联加载,然后将它们合并为单个模型。
这使您可以更有效地加载模型,尤其是在慢速连接上加载大型模型时。 tensorflow.js自动处理下载和组合碎片以创建完整模型的过程。
并非所有模型都分为碎片,而某些模型可以作为单个文件加载,因为它们不是很大。
存储
此模型将在本地内存中存放,因此您无需担心每次运行应用程序时都会下载该模型。
模型完成后,您可以通过应用程序开始使用它。
这是使用TensorFlow.js。
在浏览器中加载机器学习模型的内部过程