OpenVINO Toolkit-prc —— 深度学习部署工具包(Deep Learning Deployment Toolkit )。
工具包简介
为了方便国内开发者的使用,我们在码云平台部署了openvinotoolkit-prc项目相关工具包镜像,包括OpenVINO, open_model_zoo, DLStreamer_gst, model_server, NNCF_pytorch, Training_extensions, CVAT, Datumaro, Docker_ci等9个相关的仓库。(参见链接)[https://gitee.com/openvinotoolkit-prc]
OpenVINO
OpenVINO是英特尔基于自身现有的硬件平台开发的一款可以加快高性能计算机视觉和深度学习视觉应用开发速度工具套件,主要包括两个组件:模型优化器和推理引擎,以及CPU,GPU和异构插件,以加速在英特尔CPU和英特尔Processor Graphics上的深度学习推理。它支持Open Model Zoo中的预训练模型,以及100多种流行的格式(例如Caffe,TensorFlow,MXNet和ONNX的开源和公共模型。
Open_model_zoo
Open_model_zoo包括优化的深度学习模型和一些Demos,以加快高性能深度学习推理应用程序的开发。使用这些免费的预训练模型,而不是训练自己的模型,以加快开发和生产部署过程。 主要组件:
Dlstreamer_gst
该仓库是DL Streamer的宿主。DL Streamer是基于GStreamer多媒体框架的流媒体分析框架,用于创建复杂的媒体分析管道。它可确保流水线互操作性,并使用跨英特尔架构CPU、iGPU和英特尔Movidius的OpenVINO Toolkit推理引擎后端的英特尔发行版提供优化的媒体和推理操作。DL Streamer预构建的二进制文件可以与OpenVINO工具包的英特尔发行版一起安装。
Model Server
OpenVINO Model Server 是可扩展的高性能解决方案,用于服务针对英特尔架构优化的机器学习模型。该服务器通过gRPC(Remote Procedure Calls)端点或REST API提供推理服务--使用与TensorFlow相同的体系结构轻松部署新算法和AI实验,从而为OpenVINO支持的框架中训练的任何模型提供服务。
使用gRPC接口库或falcon REST API框架将服务器实现为python服务,并使用TensorFlow和OpenVINO作为推理执行提供程序对数据进行序列化和反序列化。模型存储库可以驻留在本地可访问文件系统(例如NFS),Google Cloud Storage (GCS), Amazon S3 or MinIO.
一些主要功能:
Nncf_pytorch
Nncf_pytorch全称Neural Network Compression Framework,该神经网络压缩框架包含基于PyTorch的框架和用于神经网络压缩的样本。它以Python的形式组织,可以在独立模式下构建和使用。框架架构是统一的,可以轻松添加不同的压缩方法。
它的主要特征有:
- 量化
- 二值化
- 稀疏性
- 过滤修剪
基本的工作流程: 是加载一个JSON配置脚本,其中包含特定于NNCF的参数,这些参数确定要应用于模型的压缩,然后将模型与配置脚本一起传递给nncf.create_compressed_model函数。此函数返回一个包装好的模型,可以进行压缩微调,并处理该对象,从而可以在训练过程中控制压缩。
Training_extensions
OpenVINO训练扩展为训练深度学习模型提供了一个便利的环境,并使用OpenVINO工具包对其进行了转换以优化推理
CVAT
CVAT全称Computer Vision Annotation Tool,是用于计算机视觉的免费、在线、交互式视频和图像注释工具。
Datumaro
Datumaro全称Dataset Management Framework,是一个数据集管理框架,用于构建,转换和分析数据集的框架和CLI工具,它的安装依赖于python环境。
主要可以做以下几方面的工作:
关系图如下:
Docker_ci
Docker_ci全称DockerHub CI,该框架可以使用OpenVINO工具包生成Dockerfile、构建、测试和部署镜像。我们可以添加图层并根据需要自定义OpenVINO™的图像,还可以重用可用的Dockerfile。它支持在Linux和Windows的容器中使用OpenVINO手动构建Docker的镜像。需要强调的一点是,容器内的OpenVINO工具包与本地安装在主机上的OpenVINO工具包是相同的,所以官方文档同样适用于Docker版本的OpenVINO。
主要内容 课程列表 专项课程学习 辅助课程 论文专区 课程列表 课程 机构 参考书 Notes等其他资料 卷积神经网络视觉识别 Stanford 暂无 链接 神经网络 Tweet 暂无 链接 深度学习用于自然语言处理 Stanford 暂无 链接 自然语言处理 Speech and Language Processing 链接 专项课程学习 下述的课程都是公认的最好的在线学习资料,侧重点不同,但推
Google Cloud Platform 推出了一个 Learn TensorFlow and deep learning, without a Ph.D. 的教程,介绍了如何基于 Tensorflow 实现 CNN 和 RNN,链接在 这里。 Youtube Slide1 Slide2 Sample Code
现在开始学深度学习。在这部分讲义中,我们要简单介绍神经网络,讨论一下向量化以及利用反向传播(backpropagation)来训练神经网络。 1 神经网络(Neural Networks) 我们将慢慢的从一个小问题开始一步一步的构建一个神经网络。回忆一下本课程最开始的时就见到的那个房价预测问题:给定房屋的面积,我们要预测其价格。 在之前的章节中,我们学到的方法是在数据图像中拟合一条直线。现在咱们不
深度学习的总体来讲分三层,输入层,隐藏层和输出层。如下图: 但是中间的隐藏层可以是多层,所以叫深度神经网络,中间的隐藏层可以有多种形式,就构成了各种不同的神经网络模型。这部分主要介绍各种常见的神经网络层。在熟悉这些常见的层后,一个神经网络其实就是各种不同层的组合。后边介绍主要基于keras的文档进行组织介绍。
Python 是一种通用的高级编程语言,广泛用于数据科学和生成深度学习算法。这个简短的教程介绍了 Python 及其库,如 Numpy,Scipy,Pandas,Matplotlib,像 Theano,TensorFlow,Keras 这样的框架。
你拿起这本书的时候,可能已经知道深度学习近年来在人工智能领域所取得的非凡进展。在图像识别和语音转录的任务上,五年前的模型还几乎无法使用,如今的模型的表现已经超越了人类。
主要内容:机器学习,深度学习,机器学习与深度学习的区别,机器学习和深度学习的应用人工智能是近几年来最流行的趋势之一。机器学习和深度学习构成了人工智能。下面显示的维恩图解释了机器学习和深度学习的关系 - 机器学习 机器学习是让计算机按照设计和编程的算法行事的科学艺术。许多研究人员认为机器学习是实现人类AI的最佳方式。机器学习包括以下类型的模式 - 监督学习模式 无监督学习模式 深度学习 深度学习是机器学习的一个子领域,其中有关算法的灵感来自大脑的结构和功能,称为人工神经网络。
主要内容:数据量,硬件依赖,特色工程在本章中,我们将讨论机器和深度学习概念之间的主要区别。 数据量 机器学习使用不同数量的数据,主要用于少量数据。另一方面,如果数据量迅速增加,深度学习可以有效地工作。下图描绘了机器学习和深度学习在数据量方面的工作 - 硬件依赖 与传统的机器学习算法相反,深度学习算法设计为在很大程度上依赖于高端机器。深度学习算法执行大量矩阵乘法运算,这需要巨大的硬件支持。 特色工程 特征工程是将领域知识放入指定特征的