Get Started OpenVINO
类别: AI OpenVINO 标签: Install venv目录
OpenVINO
Open Visual Inference and Neural network Optimization
OpenVINO 安装
Development
pip 安装
安装 OpenVINO 开发工具
python -m venv openvino_env
- Linux
source openvino_env/bin/activate
- Windows
openvino_env\Scripts\activate.bat
python -m pip install --upgrade pip
pip install openvino-dev[onnx,pytorch,kaldi,mxnet,caffe,tensorflow2]==2022.1.0 -i https://mirrors.aliyun.com/pypi/simple/
源代码编译安装(没有成功)👹
Build OpenVINO™ Inference Engine
mkdir openvinotoolkit && cd openvinotoolkit
git clone -b 2022.1.0 https://github.com/openvinotoolkit/openvino.git
git clone https://github.com/openvinotoolkit/open_model_zoo.git
cd openvino
sudo ./install_build_dependencies.sh
sudo ./scripts/install_dependencies/install_NEO_OCL_driver.sh -y --no_numa
sudo ./scripts/install_dependencies/install_openvino_dependencies.sh -y -c=python
cmake --install . --prefix /opt/intel/openvino
Runtime
OpenVINO 开发包下的组件
Model Optimizer
- mo 训练的模型导入、转换和优化为 OpenVINO 可用的格式(IR)。
Benchmark Tool
- benchmark_app 允许您在同步和异步模式下估计受支持设备上的深度学习模型推理性能。
Accuracy Checker 和 Annotation Converter
- accuracy_check 深度学习准确性验证工具,可用于收集针对常用数据集的准确性指标。该工具的主要优点是配置的灵活性和一组支持的数据集、预处理、后处理和指标。
- convert_annotation 用于准备数据集以使用 accuracy_check 进行评估。
Post-Training Optimization Tool
- pot 训练后优化工具允许您使用高级功能(如量化和低精度优化)优化训练的模型,而无需重新训练或微调模型。还可以通过 API 进行优化。
Open Model Zoo tools
- omz_downloader 用于访问预训练深度学习公共模型和英特尔训练模型的集合。
- omz_converter 使用模型优化器将存储在原始深度学习框架格式中的 Open Model Zoo 模型转换为 OpenVINO 中间表示 (IR)。
- omz_quantizer 用于使用训练后优化工具(Post-Training Optimization Tool)将 IR 格式的全精度模型自动量化为低精度版本。
- omz_info_dumper 用于将有关模型的信息转储为机器可读格式。
- omz_data_downloader 数据集下载器
验证安装
$ python -c "from openvino.inference_engine import IECore; print('Inference Engine Available Devices: ', IECore().available_devices)"
Inference Engine Available Devices: ['CPU', 'GPU']
查询 OpenVINO Runtime 设备及指标
Hello Query Device Python Sample
$ cd <openvino_dir>
$ python samples/python/hello_query_device/hello_query_device.py
[ INFO ] Available devices:
[ INFO ] CPU :
[ INFO ] SUPPORTED_PROPERTIES:
[ INFO ] AVAILABLE_DEVICES:
[ INFO ] RANGE_FOR_ASYNC_INFER_REQUESTS: 1, 1, 1
[ INFO ] RANGE_FOR_STREAMS: 1, 12
[ INFO ] FULL_DEVICE_NAME: Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz
[ INFO ] OPTIMIZATION_CAPABILITIES: FP32, FP16, INT8, BIN, EXPORT_IMPORT
[ INFO ] CACHE_DIR:
[ INFO ] NUM_STREAMS: 1
[ INFO ] AFFINITY: UNSUPPORTED TYPE
[ INFO ] INFERENCE_NUM_THREADS: 0
[ INFO ] PERF_COUNT: False
[ INFO ] INFERENCE_PRECISION_HINT: UNSUPPORTED TYPE
[ INFO ] PERFORMANCE_HINT: UNSUPPORTED TYPE
[ INFO ] PERFORMANCE_HINT_NUM_REQUESTS: 0
[ INFO ]
[ INFO ] GPU :
[ INFO ] SUPPORTED_PROPERTIES:
[ INFO ] AVAILABLE_DEVICES: 0
[ INFO ] RANGE_FOR_ASYNC_INFER_REQUESTS: 1, 2, 1
[ INFO ] RANGE_FOR_STREAMS: 1, 2
[ INFO ] OPTIMAL_BATCH_SIZE: 1
[ INFO ] MAX_BATCH_SIZE: 1
[ INFO ] FULL_DEVICE_NAME: Intel(R) UHD Graphics 630 (iGPU)
[ INFO ] DEVICE_TYPE: UNSUPPORTED TYPE
[ INFO ] DEVICE_GOPS: UNSUPPORTED TYPE
[ INFO ] OPTIMIZATION_CAPABILITIES: FP32, BIN, FP16
[ INFO ] GPU_DEVICE_TOTAL_MEM_SIZE: UNSUPPORTED TYPE
[ INFO ] GPU_UARCH_VERSION: unknown
[ INFO ] GPU_EXECUTION_UNITS_COUNT: 24
[ INFO ] GPU_MEMORY_STATISTICS: UNSUPPORTED TYPE
[ INFO ] PERF_COUNT: False
[ INFO ] MODEL_PRIORITY: UNSUPPORTED TYPE
[ INFO ] GPU_HOST_TASK_PRIORITY: UNSUPPORTED TYPE
[ INFO ] GPU_QUEUE_PRIORITY: UNSUPPORTED TYPE
[ INFO ] GPU_QUEUE_THROTTLE: UNSUPPORTED TYPE
[ INFO ] GPU_ENABLE_LOOP_UNROLLING: True
[ INFO ] CACHE_DIR:
[ INFO ] PERFORMANCE_HINT: UNSUPPORTED TYPE
[ INFO ] COMPILATION_NUM_THREADS: 12
[ INFO ] NUM_STREAMS: 1
[ INFO ] PERFORMANCE_HINT_NUM_REQUESTS: 0
[ INFO ] DEVICE_ID: 0
[ INFO ]
模型
下载所有模型
omz_downloader --all
转换所有下载的模型到 IR 格式
omz_converter --all
模型查看
netron 可以查看各种深度学习和机器学习框架训练出来的模型。
安装 netron
pip install netron
查看网络
通过设置 --host 0.0.0.0
,局域网内的其它主机也可以通过 http://ip:8080 访问。
netron public/alexnet/FP16/alexnet.xml --host 0.0.0.0
Web 应用 netron
通过页面的下载可以安装本地程序。
Samples
图像分类
异步推理 Image Classification Async Python Sample
同步推理 Hello Classification Python Sample
Image 和 Video 文件 download.01.org
下载预训练模型
omz_downloader --name alexnet
转换模型,如果模型非 IR 或 ONNX 格式就需要转换。
omz_converter --name alexnet
下载图片
wget https://pamsdailydish.com/wp-content/uploads/2015/04/Bunch-Bananas-1.jpg -O banana.jpg
异步模型推理
$ python samples/python/classification_sample_async/classification_sample_async.py -m public/alexnet/FP16/alexnet.xml -i banana.jpg -d CPU
[ INFO ] Creating OpenVINO Runtime Core
[ INFO ] Reading the model: public/alexnet/FP16/alexnet.xml
[ INFO ] Loading the model to the plugin
[ INFO ] Starting inference in asynchronous mode
[ INFO ] Image path: banana.jpg
[ INFO ] Top 10 results:
[ INFO ] class_id probability
[ INFO ] --------------------
[ INFO ] 954 0.9999748
[ INFO ] 666 0.0000086
[ INFO ] 953 0.0000053
[ INFO ] 939 0.0000025
[ INFO ] 951 0.0000020
[ INFO ] 945 0.0000017
[ INFO ] 941 0.0000016
[ INFO ] 940 0.0000009
[ INFO ] 943 0.0000005
[ INFO ] 950 0.0000002
[ INFO ]
[ INFO ] This sample is an API example, for any performance measurements please use the dedicated benchmark_app tool
同步模型推理
$ python samples/python/hello_classification/hello_classification.py public/alexnet/FP16/alexnet.xml banana.jpg CPU
图像识别
Hello Reshape SSD Python Sample
下载预训练模型
omz_downloader --name mobilenet-ssd
转换模型,如果模型非 IR 或 ONNX 格式就需要转换。
omz_converter --name mobilenet-ssd
模型推理
$ python samples/python/hello_reshape_ssd/hello_reshape_ssd.py public/mobilenet-ssd/FP16/mobilenet-ssd.xml banana.jpg CPU
[ INFO ] Creating OpenVINO Runtime Core
[ INFO ] Reading the model: public/mobilenet-ssd/FP16/mobilenet-ssd.xml
[ INFO ] Reshaping the model to the height and width of the input image
[ INFO ] Loading the model to the plugin
[ INFO ] Starting inference in synchronous mode
[ INFO ] Found: class_id = 3, confidence = 0.69, coords = (139, 16), (418, 319)
[ INFO ] Image out.bmp was created!
使用源码动态创建模型(不需要 XML 文件)
$ python samples/python/model_creation_sample/model_creation_sample.py samples/python/model_creation_sample/lenet.bin CPU
[ INFO ] Creating OpenVINO Runtime Core
[ INFO ] Loading the model using ngraph function with weights from samples/python/model_creation_sample/lenet.bin
[ INFO ] Loading the model to the plugin
[ INFO ] Starting inference in synchronous mode
[ INFO ] Top 1 results:
[ INFO ] Image 0
[ INFO ]
[ INFO ] classid probability label
[ INFO ] -------------------------
[ INFO ] 0 1.0000000 0
[ INFO ]
[ INFO ] Image 1
[ INFO ]
......
[ INFO ] Image 9
[ INFO ]
[ INFO ] classid probability label
[ INFO ] -------------------------
[ INFO ] 9 1.0000000 9
工具套件插件
计算机视觉注释工具
这个基于 Web 的工具可在训练模型之前帮助注释视频和图像。
数据集管理框架
使用此插件可以构建、转换和分析数据集。
深度学习流媒体播放器
考虑使用此分析框架,以使用英特尔发行版 OpenVINO 工具套件创建和部署复杂的媒体分析管道。
神经网络压缩框架
使用此基于 PyTorch 的框架进行量化感知训练。
OpenVINO™ 模型服务器
该可扩展推理服务器用于服务通过英特尔® 发行版 OpenVINO™ 工具套件优化的模型。
OpenVINO™ 安全附加组件
支持采用基于内核的虚拟机 (KVM) 和 Docker* 容器进行安全封装和灵活部署。与 OpenVINO 模型服务器兼容。
训练扩展
访问可训练的深度学习模型,使用自定义数据进行训练。
开发文档
- 英特尔® 发行版 OpenVINO™ 工具套件
- Get Started
- Get Started with Sample and Demo Applications
- Open Model Zoo Demos
- OpenVINO Notebooks Documentation
- OpenVINO 课程
- 英特尔® 边缘人工智能开发者认证