Code Monkey home page Code Monkey logo

openvino_notebooks's Introduction

English | 简体中文

📚 OpenVINO™ Notebooks

Apache License Version 2.0 CI CI

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.

📖 What's Inside

Notebooks with a binder logo 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.

Getting Started

Brief tutorials that demonstrate how to use OpenVINO's Python API for inference.

Notebook Description Preview
001-hello-world
Binder
Classify an image with OpenVINO
002-openvino-api
Binder
Learn the OpenVINO Python API
003-hello-segmentation
Binder
Semantic segmentation with OpenVINO
004-hello-detection
Binder
Text detection with OpenVINO

Convert & Optimize

Tutorials that explain how to optimize and quantize models with OpenVINO tools.

Notebook Description Preview
101-tensorflow-to-openvino
Binder
Convert TensorFlow models to OpenVINO IR
102-pytorch-onnx-to-openvino Convert PyTorch models to OpenVINO IR
103-paddle-onnx-to-openvino
Binder
Convert PaddlePaddle models to OpenVINO IR
104-model-tools
Binder
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
Binder
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)

Model Demos

Demos that demonstrate inference on a particular model.

Notebook Description Preview
201-vision-monodepth
Binder
Monocular depth estimation with images and video
202-vision-superresolution-image
Binder
Upscale raw images with a super resolution model
202-vision-superresolution-video
Binder
Turn 360p into 1080p video using a super resolution model
205-vision-background-removal
Binder
Remove and replace the background in an image using salient object detection
206-vision-paddlegan-anime
Binder
Turn an image into anime using a GAN
207-vision-paddlegan-superresolution
Binder
Upscale small images with superresolution using a PaddleGAN model
208-optical-character-recognition
Annotate text on images using text recognition resnet
209-handwritten-ocr
Binder
OCR for handwritten simplified Chinese and Japanese handwritten_simplified_chinese_test
的人不一了是他有为在责新中任自之我们
210-ct-scan-live-inference
Binder
Show live inference on segmentation of CT-scan data
211-speech-to-text
Binder
Run inference on speech-to-text recognition model
212-onnx-style-transfer
Binder
Transform images to five different styles with neural style transfer

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.

Notebook Description Preview
401-object-detection-webcam Object detection with a webcam or video file
402-pose-estimation-webcam Human pose estimation with a webcam or video file

⚙️ System Requirements

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.9 is not supported yet, but it will be soon.

Supported Operating System Python Version (64-bit)
Ubuntu 18.04 LTS, 64-bit 3.6, 3.7, 3.8
Ubuntu 20.04 LTS, 64-bit 3.6, 3.7, 3.8
Red Hat Enterprise Linux 8, 64-bit 3.6, 3.8
CentOS 7, 64-bit 3.6, 3.7, 3.8
macOS 10.15.x versions 3.6, 3.7, 3.8
Windows 10, 64-bit Pro, Enterprise or Education editions 3.6, 3.7, 3.8
Windows Server 2016 or higher 3.6, 3.7, 3.8

📝 Installation Guide

OpenVINO Notebooks require Python and Git. For Python 3.8, C++ is also required. Select a guide for your operating system or environment:

Windows 10 Ubuntu macOS Red Hat CentOS Azure ML Docker

Or, if you have already installed Python, Git and C++, please follow the steps below.

Step 1: Create and Activate openvino_env Environment

Linux and macOS Commands:

python3 -m venv openvino_env
source openvino_env/bin/activate

Windows Commands:

python -m venv openvino_env
openvino_env\Scripts\activate

Step 2: Clone the Repository

Note: Using the --depth=1 option for git clone reduces download size.

git clone --depth=1 https://github.com/openvinotoolkit/openvino_notebooks.git
cd openvino_notebooks

Step 3: Install the Notebooks Requirements

Upgrade pip to the latest version and install the requirements. Install the openvino_env kernel to create a Jupyter kernel for this virtual environment.

python -m pip install --upgrade pip
pip install -r requirements.txt
python -m ipykernel install --user --name openvino_env

💻 Run the Notebooks

To Launch a Single Notebook

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

To Launch all Notebooks

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.

🧹 Cleaning Up

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

⚠️ Troubleshooting

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 the openvino_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.

* Other names and brands may be claimed as the property of others.

openvino_notebooks's People

Contributors

adrianboguszewski avatar alexeyhorkin avatar alexkoff88 avatar dkurt avatar dongseop-kim avatar helena-intel avatar jacob27 avatar karolmajek avatar kshpv avatar ljaljushkin avatar maximproshin avatar negvet avatar openvino-dev-contest avatar raymondlo84 avatar ryanloney avatar snyk-bot avatar xaenalt avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.