H5模型需要转换成pb文件
[kerash5模型转tensorflowpb文件传送门] github 搜索 keras-to-tensorflow
转换成功后可以利用如下图
运行参考命令:python C:\Intel\computer_vision_sdk_2018.5.456\deployment_tools\model_optimizer/mo_tf.py --input_model 1.pb --date_type FP16
不清楚可以运行此文件 -h选项查看所有输入的可能
生成的xml文件和bin文件就是我们下面部署在计算棒上需要的文件啦!
代码传送门:[调用模型文件进行推理的实例] github搜索NCS2_resnet50_infer_dem
这里上部分代码:
#下面是调用及初始化
index_void = 2 # Define index_void Back Ground
plugin = IEPlugin(device='MYRIAD')
net = IENetwork.from_ir(model='model.xml', weights='model.bin')
exec_net = plugin.load(network=net)
assert len(net.inputs.keys()) == 1
assert len(net.outputs) == 1
input_blob = next(iter(net.inputs)) # input_blob = 'input'
out_blob = next(iter(net.outputs)) # out_blob = 'output/BiasAdd'
#图片初始化函数
def pre_process_image(img_path):
# Model input format
n, c, h, w = [1, 3, 224, 224]
image = Image.open(img_path)
processedImg = image.resize((h, w), resample=Image.BILINEAR)
# Normalize to keep data between 0 - 1
processedImg = (np.array(processedImg) - 0) / 255.0
# Change data layout from HWC to CHW
processedImg = processedImg.transpose((2, 0, 1))
processingImg = processedImg.reshape((n, c, h, w))
return image, processingImg, img_path
#推理部分
def infer1():
image, processedImg, imagePath = pre_process_image(img_path)
infer_result = exec_net.infer(inputs={input_blob: processedImg})
print(infer_result)
另外,我们处理图片时候,经常会连续处理,计算棒可能直接运行会存在一些逻辑问题,问题也被解决,方法由别人提供,可私下交流。
以上内容均已经测试过,不希望有人再像本人采同样的坑了。
在这里要感谢一直帮助自己在此学习方面的几位不知名网友(都是亲爱的学长) 谢谢你们,让我体会到作为小白的尴尬,和想成长的渴望。
PS:仰望星空,脚踏实地!