Skip to content

Latest commit

 

History

History
297 lines (212 loc) · 33.5 KB

README_cn.md

File metadata and controls

297 lines (212 loc) · 33.5 KB

English | 简体中文

📚 OpenVINO™ Notebooks

Apache License Version 2.0 CI CI

在这里,我们提供了一些可以运行的Jupyter* notebooks,用于学习和尝试使用OpenVINO™开发套件。这些notebooks旨在向各位开发者提供OpenVINO基础知识的介绍,并教会大家如何利用我们的API来优化深度学习推理。.

请注意:本仓库的主分支已经更新为支持OpenVINO 2022.3版本。 如果想要升级到新版本,请在你的 openvino_env 虚拟环境中运行 pip install --upgrade -r requirements.txt. 如果你是第一次安装,请阅读下方的安装指南。如果你想要使用之前的OpenVINO长期支持版本(LTS),请check out到 2021.4 分支

如果你需要帮助,请创建一个GitHub Discussion

-----------------------------------------------------

目录

-----------------------------------------------------

📝 安装指南

OpenVINO Notebooks需要预装Python和Git, 针对不同操作系统的安装参考以下英语指南:

Windows Ubuntu macOS Red Hat CentOS Azure ML Docker Amazon SageMaker

-----------------------------------------------------

🚀 开始

Jupyter notebooks 分为四个大类,选择一个跟你需求相关的开始试试吧。祝你好运!

💻 第一步

演示如何使用OpenVINO的Python API进行推理的简短教程。

001-hello-world
Binder
002-openvino-api
Binder
003-hello-segmentation
Binder
004-hello-detection
Binder
使用OpenVINO进行图像分类 学习使用OpenVINO Python API 使用OpenVINO进行语义分割 使用OpenVINO进行文本检测

⌚ 转换 & 优化

解释如何使用OpenVINO工具进行模型优化和量化的教程。

Notebook Description
101-tensorflow-to-openvino
Binder
转换 TensorFlow模型为OpenVINO IR
102-pytorch-onnx-to-openvino 转换PyTorch模型为OpenVINO IR
103-paddle-to-openvino
Binder
转换PaddlePaddle模型为OpenVINO IR
104-model-tools
Binder
从Open Model Zoo进行模型下载,转换以及进行基线测试
105-language-quantize-bert 优化及量化BERT预训练模型
106-auto-device
Binder
演示如何使用AUTO设备
107-speech-recognition-quantization 优化及量化预训练Wav2Vec2语音模型
109-performance-tricks OpenVINO™ 的优化技巧
110-ct-segmentation-quantize
Binder
量化肾脏分割模型并展示实时推理
111-detection-quantization 量化目标检测模型
112-pytorch-post-training-quantization-nncf 利用神经网络压缩框架(NNCF)在后训练模式下来量化PyTorch模型(无需模型微调)
113-image-classification-quantization
Binder
量化mobilenet图片分类模型
114-quantization-simplified-mode
Binder
使用POT在简化模式下量化图片分类模型
115-async-api
Binder
使用异步执行改进数据流水线
116-sparsity-optimization 提高稀疏Transformer模型的性能
117-model-server OpenVINO模型服务(OVMS)介绍
118-optimize-preprocessing 提升图片预处理性能

🎯 模型演示

演示对特定模型的推理。

Notebook Description Preview
201-vision-monodepth
Binder
利用图像和视频进行单目深度估计
202-vision-superresolution-image
Binder
使用超分辨率模型放大原始图像
202-vision-superresolution-video
Binder
使用超分辨率模型将360p视频转换为1080p视频
203-meter-reader
Binder
PaddlePaddle预训练模型读取工业表计数据
205-vision-background-removal
Binder
使用显著目标检测移除并替换图像中的背景
206-vision-paddlegan-anime
Binder
使用GAN把图片变为动画效果
207-vision-paddlegan-superresolution
Binder
使用PaddleGAN模型以超分辨率放大小图像
208-optical-character-recognition
使用文本识别resnet对图像上的文本进行注释
209-handwritten-ocr
Binder
手写体中文及日文OCR handwritten_simplified_chinese_test
的人不一了是他有为在责新中任自之我们
211-speech-to-text
Binder
运行语音转文本模型的推理
213-question-answering
Binder
根据上下文回答问题
215-image-inpainting
Binder
用绘画中的图像填充缺失像素
217-vision-deblur
Binder
使用DeblurGAN-v2去除图像模糊
218-vehicle-detection-and-recognition
Binder
利用OpenVINO及预训练模型检测和识别车辆及其属性
219-knowledge-graphs-conve
Binder
使用OpenVINO优化知识图谱嵌入模型(ConvE)
220-yolov5-accuracy-check-and-quantization
使用OpenVINO POT API量化Ultralytics YOLOv5模型并检查准确性
221-machine-translation
Binder
从英语到德语的实时翻译
222-vision-image-colorization
Binder
使用OpenVINO及预训练模型对黑白图像染色
223-gpt2-text-prediction
使用GPT-2对输入序列执行文本预测
224-3D-segmentation-point-clouds
使用OpenVINO处理点云数据并进行3D分割
225-stable-diffusion-text-to-image
用Stable Diffusion由文本生成图像
226-yolov7-optimization
使用NNCF PTQ API优化YOLOv7
227-whisper-subtitles-generation
利用OpenAI Whisper及OpenVINO为视频生成字幕
228-clip-zero-shot-image-classification
利用CLIP及OpenVINO进行零样本图像分类
229-distilbert-sequence-classification
利用OpenVINO进行句子分类
230-yolov8-optimization
使用NNCF PTQ API优化YOLOv8
231-instruct-pix2pix-image-editing
利用InstructPix2Pix进行图像编辑
232-clip-language-saliency-map
基于CLIP和OpenVINO™的视觉语言显著性检测
233-blip-visual-language-processing
基于BLIP和OpenVINO™的视觉问答与图片注释
234-encodec-audio-compression
# 基于EnCodec和OpenVINO™的音频压缩
235-controlnet-stable-diffusion
# 使用ControlNet状态调节Stable Diffusion 实现文字生成图片

🏃 模型训练

包含训练神经网络代码的教程。

Notebook Description Preview
301-tensorflow-training-openvino 从TensorFlow训练花朵分类模型,然后转换为OpenVINO IR
301-tensorflow-training-openvino-pot 使用POT量化花朵模型
302-pytorch-quantization-aware-training 使用神经网络压缩框架(NNCF)量化PyTorch模型
305-tensorflow-quantization-aware-training 使用神经网络压缩框架(NNCF)量化TensorFlow模型

📺 实时演示

在网络摄像头或视频文件上运行的实时推理演示。

Notebook Description Preview
401-object-detection-webcam
Binder
使用网络摄像头或视频文件进行目标检测
402-pose-estimation-webcam
Binder
使用网络摄像头或视频文件进行人体姿态估计
403-action-recognition-webcam
Binder
使用网络摄像头或视频文件进行动作识别
404-style-transfer-webcam
Binder
使用网络摄像头或视频文件进行样式变换
405-paddle-ocr-webcam
Binder
使用网络摄像头或视频文件进行OCR
406-3D-pose-estimation-webcam
Binder
使用网络摄像头或视频文件进行3D人体姿态估计
407-person-tracking-webcam
Binder
使用网络摄像头或视频文件进行人体跟踪

如果你遇到了问题,请查看故障排除, 常见问题解答 或者创建一个GitHub discussion

带有binder logo 按键的Notebooks可以在无需安装的情况下运行。Binder 是一项资源有限的免费在线服务。 如果享有获得最佳性能体验,请遵循安装指南在本地运行Notebooks。

-----------------------------------------------------

⚙️ 系统要求

⚙️ System Requirements

这些notebooks可以运行在任何地方,包括你的笔记本电脑,云VM,或者一个Docker容器。下表列出了所支持的操作系统和Python版本。

支持的操作系统 Python Version (64-bit)
Ubuntu 20.04 LTS, 64-bit 3.7, 3.8, 3.9, 3.10
Ubuntu 22.04 LTS, 64-bit 3.7, 3.8, 3.9, 3.10
Red Hat Enterprise Linux 8, 64-bit 3.8, 3.9, 3.10
CentOS 7, 64-bit 3.7, 3.8, 3.9, 3.10
macOS 10.15.x versions or higher 3.7, 3.8, 3.9, 3.10
Windows 10, 64-bit Pro, Enterprise or Education editions 3.7, 3.8, 3.9, 3.10
Windows Server 2016 or higher 3.7, 3.8, 3.9, 3.10

-----------------------------------------------------

💻 运行Notebooks

启动单个Notebook

如果你希望启动单个的notebook(如:Monodepth notebook),运行以下命令:

jupyter 201-vision-monodepth.ipynb

启动所有Notebooks

jupyter lab notebooks

在浏览器中,从Jupyter Lab侧边栏的文件浏览器中选择一个notebook文件,每个notebook文件都位于notebooks目录中的子目录中。

-----------------------------------------------------

🧹 清理

• 停止Jupyter Kernel

按 Ctrl-c 结束 Jupyter session,会弹出一个提示框 Shutdown this Jupyter server (y/[n])? 输入 y 并按 回车。

• 注销虚拟环境

注销虚拟环境:只需在激活了 openvino_env 的终端窗口中运行 deactivate 即可。

重新激活环境:在Linux上运行 source openvino_env/bin/activate 或者在Windows上运行 openvino_env\Scripts\activate 即可,然后输入 jupyter lab 或 jupyter notebook 即可重新运行notebooks。

• >删除虚拟环境 _(可选)_

直接删除 openvino_env 目录即可删除虚拟环境:

• Linux和macOS:
rm -rf openvino_env
• Windows:
rmdir /s openvino_env
•从Jupyter中移除openvino_env Kernel
jupyter kernelspec remove openvino_env

-----------------------------------------------------

⚠️ 故障排除

如果以下方法无法解决您的问题,欢迎创建一个discussion topicissue!

  • 运行 python check_install.py 可以帮助检查一些常见的安装问题,该脚本位于openvino_notebooks 目录中。 记得运行该脚本之前先激活 openvino_env 虚拟环境。
  • 如果出现 ImportError ,请检查是否安装了 Jupyter Kernel。如需手动设置kernel,从 Jupyter Lab 或 Jupyter Notebook 的_Kernel->Change Kernel_菜单中选择openvino_env内核。
  • 如果OpenVINO是全局安装的,不要在执行了setupvars.bat或setupvars.sh的终端中运行安装命令。
  • 对于Windows系统,我们建议使用_Command Prompt (cmd.exe),而不是_PowerShell。

-----------------------------------------------------

🧑‍💻 贡献者

使用 contributors-img制作。

-----------------------------------------------------