AI社区慷慨地分享代码、模型架构,甚至在大型数据集上预训练好的模型。我们站在巨人的肩膀上,这就是为什么行业会如此广泛地采用人工智能的原因。
当我们开始一个计算机视觉项目时,我们首先找到能部分解决我们问题的模型。
假设想要构建一个安防应用,该应用主要是检测规定区域的行人。首先,检查是否存在公开可用的行人检测模型可以直接使用,如果存在,您就不需要训练一个新的模型。如果没有,试验公开模型便于了解选择哪个模型结构进行微调或迁移学习。
本文,我们将学习关于计算机视觉、机器学习和人工智能模型的免费资源。
1. Papers With Code
Papers With Code 的目的是创建一个免费和开源的资源,包括机器学习论文、代码、数据集、方法和评估表。
平台定期更新计算机视觉和人工智能其他子领域的最新论文和资源。
1.1使用筛选条件缩小搜索结果
有了大量的机器学习任务、数百篇研究论文和代码实现,你将有大量的信息要筛选,但平台上周到的过滤功能可以帮助你。
1.2 Benchmarks
对于一个特定的任务,您可以查看在该任务的
state-of-the-art
模型,它是表现最好的。
1.3 Datasets
除此之外,Papers With Code 提供了大量公开的数据集。
使用Papers With Code ,你可以比较大量的解决方案,从中找到一个适合你的。
2. ModelZoo.co
ModelZoo.co由谷歌的研究员Jing Yu Koh创建,为深度学习研究人员快速找到适合不同平台和任务的预训练模型。
该网站定期更新,并提供筛选功能,根据您使用的机器学习框架或手头任务的类别找到合适的模型。
对我们最有用的两个类别是:
Computer Vision 2. Generative Models
Open Model Zoo
Open Model Zoo为OpenVINO™工具包的提供了各种免费的、高度优化的预先训练的深度学习模型,能在英特尔cpu、gpu和vpu上运行得非常快。
该存储库包含超过
200个神经网络模型
,用于任务包括目标检测、分类、图像分割、手写识别、文本到语音、姿态估计等。
有两种模型:
- 1.Intel’s Pre-Trained Models:英特尔的团队训练了这些模型,并对它们进行了优化,以便通过OpenVINO运行。可以查看文档了解模型的准确性和性能。
- 2.Public Pre-Trained Models:这些是由AI社区创建的模型,可以使用OpenVINO模型优化器轻松地转换为OpenVINO格式,可以查看文档的模型速度和准确性。
需要在device support page 查看,以确保模型与你想要运行它的设备兼容。
Open Model Zoo
还提供了大量demo程序,并附有运行说明。您可以将这些应用程序作为模板来构建应用程序。
您还可以使用Model Analyzer获得更多关于模型的信息,如内存消耗、稀疏性、Gflop等。请记住,Model Analyzer只适用于 Intermediate Representation (IR) 格式的模型。
如果你刚刚开始使用OpenVino Toolkit,可以参考代码openvinotoolkit/openvino_notebook学习。可以利用jupyter notebooks快速使用OpenVino工具包和model zoo中的模型。
此外,它还提供了在模型上执行任务的工具,如下载、转换和量化。
- TensorFlow Model Garden
TensorFlow是一个端到端开放源代码的机器学习平台,可以说是最流行的ML框架。
TensorFlow Model Garden 是一个包含许多state-of-the-art(SOTA)模型的仓库。有三种模型。
- Official:这个集合中的模型被维护、测试,并使用最新的TensorFlow API保持更新。
- Research:该集合中的模型可能使用Tensorflow 1或2,并由研究人员维护。
- Community:模型是由社区维护的模型。
这个模型库提供默认配置、数据集和可用fine-tuning model checkpoints,从而方便构建和训练模型
为了帮助您重现训练结果,还提供了可用模型的训练日志。
TensorFlow用户可以利用提供的模型,并将它们作为参考来训练他们的模型或从checkpoints对模型进行微调。
- TensorFlow Hub
从图像分类,文本识别,音频和视频动作识别,在TensorFlow Hub平台上可以方便浏览训练好的模型和数据集,这些模型来源于TensorFlow生态系统。
与
不同,TensorFlow Hub上模型是现成的,模型是以黑盒模型提供输入输出。TensorFlow Model Garden
为模型提供了所有的部署细节,比如输入和输出格式、使用的数据集和预期的性能指标,以帮助你选择最佳模型。 一些模型还提供了示例notebooks和交互式web体验,可以轻松地使用它们。
可用模型的通用格式是
SavedModel
、
TFLite
或
TF.js
格式,这些格式直接在代码中应用,参考tensorflow_hub library。 它可以让你用最少的代码从TensorFlow Hub下载和使用TensorFlow程序中的可用模型。
TensorFlow Hub是一个开放的社区,所以模型的集合一直在增长,并且更多的模型将会供我们使用。
- MediaPipe Models
MediaPipe是一个开源的、跨平台的机器学习框架,由谷歌研究人员开发。 它提供了可定制的ML解决方案。
尽管Mediapipe项目仍处于Alpha阶段,但它的解决方案已经部署到我们使用的许多日常应用程序中。 谷歌的“动态静止”和Youtube的“隐私模糊”功能就是这样的例子。
除了轻量级和惊人的快速性能外,MediaPipe还支持跨平台兼容性。 其思想是一次性构建一个ML模型,然后将其部署到不同的平台和设备上,得到可重复的结果。
它支持Python、C、Javascript、Android和IOS平台。
Medipipe模型集合为不同的任务提供了随时可用的感知模型。
最流行的解决方案是 Face mesh(人脸关键点模型),姿态检测,头发分割,KNIFT(特征匹配)等。
模型卡是为每个可用的模型提供的,包含关于该模型的所有细节。
Mediapipe还提供了一个可在线使用的Model可视化工具,帮助理解其机器学习推理pipelines的整体行为。 下面是现有的Face Detection模型的图结构。
凭借其快速性能和硬件兼容性,Mediapipe可以很好地适合大多数实时视觉解决方案。
- Awesome CoreML Models
苹果的CoreML库允许iOS、macOS、tvOS或watchOS开发人员利用人工智能的力量创建有趣和令人兴奋的应用程序。 它从iOS 11开始就存在了,并以某种形式被整合到许多即将到来的应用中。
Awesome-CoreML-Models存储库包含了苹果CoreML库支持的机器学习模型集合。 这些模型以CoreML格式提供,在基于CoreML的应用程序中不需要后处理或转换。
除了可用的模型,许多模型格式可以转换为coreML格式。 支持的格式包括Tensorflow、Caffe、Keras、XGBoost、Scikit-learn、MXNet、LibSVM、Torch7等。
8. Jetson Zoo
来自Nvidia的嵌入式计算板Jetson是嵌入式平台社区部署AI应用的热门选择。 Jetson可以运行各种高级网络,包括流行的ML框架的完整原生版本,如TensorFlow、PyTorch、Caffe/Caffe2、Keras、MXNet等.
Jetson Model Zoo包含各种DNN模型,用于在Nvidia Jetson上进行推理,支持TensorRT。 它包括模型和模型原始源的代码示例的链接。
model zoo
还提供了在Nvidia Jetson上测试的不同模型的推断基准,并与其他流行的嵌入式开发板(如树莓派、英特尔神经计算棒和谷歌边缘TPU开发板)进行了比较。
考虑到Jetson是最强大的嵌入式平台之一,Jetson模型model zoo是部署任何嵌入式应用程序的一个很好的资源。
9. Pinto Model Zoo
PINTO Model Zoo 是由Katsuya Hyodo创建的,他是一名程序员,也是英特尔软件创新计划的成员。 它是一个分享Tensorflow训练模型的调优结果的存储库。
该model zoo 包含252个优化模型,涵盖了机器学习的广泛领域。
所提供的模型已经使用各种技术进行了优化,如训练后量化(权重量化、整数量化、全整数量化、浮点16量化)和量化感知训练。
模型可用于许多不同的平台,如TensorFlow Lite, OpenVINO, CoreML, TensorFlow.js, TF-TRT, MediaPipe, ONNX。 如果你想要流行的ML模型的优化版本,Pinto Model Zoo 是首选资源。
10. ONNX model zoo
ONNX Model Zoo
是一个预先训练的集合,state-of-art 模型包含在ONNX格式中
Open Neural Network Exchange (ONNX)
是由社区成员贡献的一种表示机器学习模型的开放标准格式。 它提供了互操作性的好处,使您能够将首选的框架与所选的推理引擎一起使用。 您可以将它看作是所有流行的ML框架相互通信的通用模型语言。
它包含了不同领域中许多不同任务的模型:
视觉
- 图像分类
- 目标检测与图像分割
- 姿态,面部和手势分析
- 图像处理
语言
- 机器理解
- 机器翻译
- 语言模型
其他
- 视觉问答和对话
- 语音和音频处理
- 其他有趣的模型
对模型训练和训练模型的运行推断配有jupyter notebook代码,并包括训练数据集的链接和描述模型架构的原始论文。
11. BONUS: Modelplace.AI
Modelplace. AI是机器学习模型的市场,也是社区分享定自定义训练模型的平台。 它为各种计算机视觉任务提供了越来越多的模型,包括分类、目标检测、姿态估计、分割或文本检测。
11.1 通过网络接口对模型进行体验
Modelplace.AI
其他模型库的一个重要区别在于,
你可以使用他们的web界面来体验你喜欢的模型,并输入自定义图像
。 还可以在
standard benchmark
上比较执行类似任务的模型。
11.2 Cloud API
Modelplace.AI提供了一个方便的云API,您可以在桌面、移动或边缘应用程序中使用
11.3导入模型作为Python wheel
或者,您可以根据您想要部署它的平台,选择下载该模型的优化版本。对于Python环境,它们将模型打包为
Python wheel
,这样您只需几行代码就可以快速启动并运行模型。
结论
无论何时开始使用机器学习应用程序,都要充分利用这些资源,并检查是否存在可以使用或构建的类似模型,而不是从头开始训练模型以加快开发和部署过程。
版权归原作者 @BangBang 所有, 如有侵权,请联系我们删除。