将机器学习模型转换为TensorFlow.js格式,可以为应用程序带来许多优势。TensorFlow.js是由TensorFlow团队开发的,是TensorFlow生态系统的一部分。它有助于增强用户隐私和安全性,通过将敏感数据保留在设备上。下图展示了TensorFlow.js的架构,以及如何在Web浏览器和Node.js上转换和部署机器学习模型。在本地运行模型还减少了延迟,提供了更响应的用户体验。TensorFlow.js还具有离线功能,允许用户即使在没有互联网连接的情况下也能使用应用程序。TensorFlow.js旨在在资源有限的设备上高效执行复杂模型,因为它经过了可扩展性设计,并支持GPU加速。
TensorFlow.js的关键特性
以下是使TensorFlow.js成为开发人员强大工具的关键特性:
跨平台支持:TensorFlow.js可以在浏览器和Node.js环境中使用,提供了在不同平台上部署的灵活性。它使开发人员能够更轻松地构建和部署应用程序。
支持多种后端:TensorFlow.js支持各种计算后端,包括CPU、WebGL用于GPU加速、WebAssembly(WASM)用于接近原生执行速度,以及WebGPU用于高级浏览器基础的机器学习能力。
离线功能:有了TensorFlow.js,模型可以在不需要互联网连接的情况下在浏览器中运行,使得开发离线功能的应用成为可能。
TensorFlow.js的部署选项
在深入探讨将YOLO11模型转换为TF.js格式的过程之前,让探索一些典型的部署场景,这些场景中使用了这种格式。TensorFlow.js提供了一系列的选项来部署机器学习模型:
浏览器中的机器学习应用程序:可以构建直接在浏览器中运行机器学习模型的Web应用程序。消除了对服务器端计算的需求,减少了服务器负载。
Node.js应用程序:TensorFlow.js还支持在Node.js环境中部署,使得开发服务器端机器学习应用程序成为可能。它特别适用于需要服务器处理能力或访问服务器端数据的应用程序。
Chrome扩展:一个有趣的部署场景是使用TensorFlow.js创建Chrome扩展。例如,可以开发一个扩展,允许用户在任何网页上右键单击图像,使用预训练的ML模型对其进行分类。TensorFlow.js可以集成到日常Web浏览体验中,根据机器学习提供即时的洞察或增强。
将YOLO11模型转换为TensorFlow.js
可以通过将YOLO11模型转换为TF.js来扩展模型的兼容性和部署灵活性。安装要安装所需的包,请运行:
pip install ultralytics
有关安装过程的详细说明和最佳实践,请查看。在安装YOLO11所需的包时,如果遇到任何困难,请参考以获取解决方案和提示。
使用TensorFlow.js部署导出的YOLO11模型
现在已经将YOLO11模型导出为TF.js格式,下一步是部署它。运行TF.js的主要和推荐第一步是使用如前所示的使用代码片段中的YOLO("./yolo11n_web_model")方法。
但是,有关部署TF.js模型的深入说明,请查看以下资源:
Chrome扩展:这是如何将TF.js模型部署到Chrome扩展的开发者文档。
在Node.js中运行TensorFlow.js:TensorFlow博客文章,介绍如何在Node.js中直接运行TensorFlow.js。
在云平台上部署TensorFlow.js- Node项目:TensorFlow博客文章,介绍如何在云平台上部署TensorFlow.js模型。