English | 简体中文
A collection of ready-to-run Jupyter notebooks for learning and experimenting with the OpenVINO™ Toolkit. The notebooks provide an introduction to OpenVINO basics and teach developers how to leverage our API for optimized deep learning inference.
Important Note: The main branch of this repository was updated to the latest pre-release of 2022.1, for stable LTS go to 2021.4 branch
📖 Table of Contents
OpenVINO Notebooks require Python and Git. Select a guide for your operating system or environment:
Windows | Ubuntu | macOS | Red Hat | CentOS | Azure ML | Docker |
---|
Here you will fine a collection of notebooks categorized into four classes, select the one is more related with your need or test all if you want. Good Luck!
💻 First steps
Brief tutorials that demonstrate how to use OpenVINO's Python API for inference.
001-hello-world |
002-openvino-api |
003-hello-segmentation |
004-hello-detection |
---|---|---|---|
Classify an image with OpenVINO | Learn the OpenVINO Python API | Semantic segmentation with OpenVINO | Text detection with OpenVINO |
⌚ Convert & Optimize
Tutorials that explain how to optimize and quantize models with OpenVINO tools.
101-tensorflow-to-openvino |
102-pytorch-onnx-to-openvino | 103-paddle-onnx-to-openvino |
104-model-tools |
---|---|---|---|
Convert TensorFlow models to OpenVINO IR | Convert PyTorch models to OpenVINO IR | Convert PaddlePaddle models to OpenVINO IR | Download, convert and benchmark models from Open Model Zoo |
More amazing notebooks here! Please take a look of the complete list.
Notebook | Description |
---|---|
101-tensorflow-to-openvino |
Convert TensorFlow models to OpenVINO IR |
102-pytorch-onnx-to-openvino | Convert PyTorch models to OpenVINO IR |
103-paddle-onnx-to-openvino |
Convert PaddlePaddle models to OpenVINO IR |
104-model-tools |
Download, convert and benchmark models from Open Model Zoo |
105-language-quantize-bert | Optimize and quantize a pre-trained BERT model |
110-ct-segmentation-quantize |
Quantize a kidney segmentation model and show live inference |
111-detection-quantization |
Quantize an object detection model |
112-pytorch-post-training-quantization-nncf | Use Neural Network Compression Framework (NNCF) to quantize PyTorch model in post-training mode (without model fine-tuning) |
113-image-classification-quantization | Quantize mobilenet image classification |
🎯 Model Demos
Demos that demonstrate inference on a particular model.
210-ct-scan-live-inference |
211-speech-to-text |
213-question-answering |
208-optical-character-recognition |
209-handwritten-ocr |
---|---|---|---|---|
Show live inference on segmentation of CT-scan data | Run inference on speech-to-text recognition model | Answer your questions basing on a context | Annotate text on images using text recognition resnet | OCR for handwritten simplified Chinese and Japanese |
的人不一了是他有为在责新中任自之我们 |
More amazing notebooks here! Please take a look of the complete list.
Notebook | Description | Preview |
---|---|---|
201-vision-monodepth |
Monocular depth estimation with images and video | |
202-vision-superresolution-image |
Upscale raw images with a super resolution model | → |
202-vision-superresolution-video |
Turn 360p into 1080p video using a super resolution model | → |
205-vision-background-removal |
Remove and replace the background in an image using salient object detection | |
206-vision-paddlegan-anime |
Turn an image into anime using a GAN | → |
207-vision-paddlegan-superresolution |
Upscale small images with superresolution using a PaddleGAN model | |
208-optical-character-recognition |
Annotate text on images using text recognition resnet | |
209-handwritten-ocr |
OCR for handwritten simplified Chinese and Japanese | 的人不一了是他有为在责新中任自之我们 |
210-ct-scan-live-inference |
Show live inference on segmentation of CT-scan data | |
211-speech-to-text |
Run inference on speech-to-text recognition model | |
212-onnx-style-transfer |
Transform images to five different styles with neural style transfer | → |
213-question-answering |
Answer your questions basing on a context |
🏃 Model Training
Tutorials that include code to train neural networks.
Notebook | Description | Preview |
---|---|---|
301-tensorflow-training-openvino | Train a flower classification model from TensorFlow, then convert to OpenVINO IR | |
301-tensorflow-training-openvino-pot | Use Post-training Optimization Tool (POT) to quantize the flowers model | |
302-pytorch-quantization-aware-training | Use Neural Network Compression Framework (NNCF) to quantize PyTorch model | |
305-tensorflow-quantization-aware-training | Use Neural Network Compression Framework (NNCF) to quantize TensorFlow model |
📺 Live Demos
Live inference demos that run on a webcam or video files.
401-object-detection-webcam |
402-pose-estimation-webcam |
403-action-recognition-webcam |
---|---|---|
Object detection with a webcam or video file | Human pose estimation with a webcam or video file | Human action recognition with a webcam or video file |
If you have some problems please check the troubleshooting section or the FAQ section
Notebooks with a button can be run without installing anything. Binder is a free online service with limited resources. For the best performance, please follow the Installation Guide and run the notebooks locally.
You will have a lot of fun with this section:
Vision-monodepth | CT-scan-live-inference | Object-detection-webcam | Pose-estimation-webcam | Action-recognition-webcam |
---|---|---|---|---|
The notebooks run almost anywhere — your laptop, a cloud VM, or even a Docker container. The table below lists the supported operating systems and Python versions. Note: Python 3.10 is not supported yet.
Supported Operating System | Python Version (64-bit) |
---|---|
Ubuntu 18.04 LTS, 64-bit | 3.6, 3.7, 3.8, 3.9 |
Ubuntu 20.04 LTS, 64-bit | 3.6, 3.7, 3.8, 3.9 |
Red Hat Enterprise Linux 8, 64-bit | 3.6, 3.8, 3.9 |
CentOS 7, 64-bit | 3.6, 3.7, 3.8, 3.9 |
macOS 10.15.x versions | 3.6, 3.7, 3.8, 3.9 |
Windows 10, 64-bit Pro, Enterprise or Education editions | 3.6, 3.7, 3.8, 3.9 |
Windows Server 2016 or higher | 3.6, 3.7, 3.8, 3.9 |
If you wish to launch only one notebook, like the Monodepth notebook, run the command below.
jupyter notebook notebooks/201-vision-monodepth/201-vision-monodepth.ipynb
jupyter lab notebooks
In your browser, select a notebook from the file browser in Jupyter Lab using the left sidebar. Each tutorial is located in a subdirectory within the notebooks
directory.
Shut Down Jupyter Kernel
To end your Jupyter session, press Ctrl-c
. This will prompt you to Shutdown this Jupyter server (y/[n])?
enter y
and hit Enter
.
Deactivate Virtual Environment
To deactivate your virtualenv, simply run deactivate
from the terminal window where you activated openvino_env
. This will deactivate your environment.
To reactivate your environment, run source openvino_env/bin/activate
on Linux or openvino_env\Scripts\activate
on Windows, then type jupyter lab
or jupyter notebook
to launch the notebooks again.
Delete Virtual Environment _(Optional)_
To remove your virtual environment, simply delete the openvino_env
directory:
On Linux and macOS:
rm -rf openvino_env
On Windows:
rmdir /s openvino_env
Remove openvino_env Kernel from Jupyter
jupyter kernelspec remove openvino_env
If these tips do not solve your problem, please open a discussion topic or create an issue!
- To check some common installation problems, run
python check_install.py
. This script is located in the openvino_notebooks directory. Please run it after activating theopenvino_env
virtual environment. - If you get an
ImportError
, doublecheck that you installed the Jupyter kernel. If necessary, choose the openvino_env kernel from the Kernel->Change Kernel menu) in Jupyter Lab or Jupyter Notebook - If OpenVINO is installed globally, do not run installation commands in a terminal where setupvars.bat or setupvars.sh are sourced.
- For Windows installation, we recommend using Command Prompt (cmd.exe), not PowerShell.
Made with contributors-img.
- Which devices does OpenVINO support?
- What is the first CPU generation you support with OpenVINO?
- Are there any success stories about deploying real-world solutions with OpenVINO?
* Other names and brands may be claimed as the property of others.