主要学习对OpenVINO的使用
来自课程:中国大学生MOOC:机器视觉与边缘计算 04-4.3
训练步骤
(一)任务目标
(二)系统设计
(三)模型选择
(四)模型优化
1.将h5文件转换为pb格式
from keras.models import load_model
from keras import backend as K
import tensorflow as tf
#获得h5模型
model = load_model('raw_model/judge1.h5')
def freeze_session(session, keep_var_names=None, output_names=None, clear_devices=True):
graph = session.graph
with graph.as_default():
freeze_var_names = list(set(v.op.name for v in tf.global_variables()).difference(keep_var_names or []))
output_names = output_names or []
output_names += [v.op.name for v in tf.global_variables()]
input_graph_def = graph.as_graph_def()
if clear_devices:
for node in input_graph_def.node:
node.device = ""
frozen_graph = tf.graph_util.convert_variables_to_constants(
session, input_graph_def, output_names, freeze_var_names)
return frozen_graph
frozen_graph = freeze_session(K.get_session(), output_names=[out.op.name for out in model.outputs])
# Save 保存输出的pb模型
tf.train.write_graph(frozen_graph, "pb_model", "license_detect.pb", as_text=False)
2.利用OpenVINO工具对pb文件进行模型优化
输入命令
#输入模型 设置batch值为1 输出文件夹
python mo_tf.py --input_model license_detect.pb --batch 1 --output_dir I:\ir_model
输出结果
得到的文件
(五)模型部署——license_detection.py
1.导入OpenVINO核心组件
import cv2
import os
import numpy as np
from argparse import ArgumentParser, SUPPRESS
import logging as log
import sys
from openvino.inference_engine import IENetwork, IECore
2.主函数入口及参数定义
3.模型加载
4.视频采集与处理
(六)模型训练结果
1.配置运行环境
(1)导入openvino环境
参考:https://blog.csdn.net/Einstellung/article/details/105106406
找到对应版本的openvino移入python项目环境。
对应版本的openvino地址
python项目环境目录:
2.运行license_detection.py
(1)运行遇到的问题及解决过程
自我感觉还是没有找到根本问题,但是现在能做到的是能运行项目并得到结果。
- 报错:
File "C:\Program Files (x86)\Intel\openvino_2021.1.110\python\python3.6\openvino\inference_engine\__init__.py", line 1, in <module> from .ie_api import * ImportError: DLL load failed: 找不到指定的模块。
对这个感觉到疑惑的地方是,前面导入openvino环境时,是把对应版本openvino文件夹移到了项目环境下,那这个引入包的路径应该是项目环境下的那个openvino路径啊。 - 按照网上查找的方法配置环境变量(以下两种方法都试了),但是没有作用
永久配置openvino环境变量
https://blog.csdn.net/u013688268/article/details/114107123
添加单个环境变量
C:\Program Files (x86)\Intel\openvino_2021.1.110\deployment_tools\inference_engine\bin\intel64\Release
- (其实最后还有一种猜想和项目python环境有关,但是太麻烦了就没有试了)最后在cmd命令行模式中用python运行成功了
(2)运行结果
检测出车牌的图片