基于Tensorflow Lite的CIFAR10图像分类模型部署

本博客开设了”深度学习计算机视觉实战“专栏,有兴趣的朋友欢迎访问并分享给您的朋友。
欢迎关注公众号”计算机视觉与OpenCV“,本号可以获取一些学习资料,而且不定期会发出赠书活动。
欢迎加入QQ群”187042448“获取更多的软件编程、AI、机器学习、深度学习的资料。
欢迎加微信study428拉入微信群,暂时VI和VII群还可以扫码进群(CSDN图片没法调整大小,我就把三个图都拼到一起大家看看了。)

本文分享的内容来源于《深度学习计算机视觉实战》一书,该书由刘东研究员和肖铃合作完成,由电子工业出版社出版。
该书从算法导读到模型训练,到模型部署一站式搞定,书中案例注释详细,均已通过运行验证。该书包括4个部分:
第一部分(1~2章)深度学习和计算机视觉的基础和算法讲解;
第二部分(3~6章)传统图像处理算法的案例讲解;
第三部分(7-11章)计算机视觉方向的案例讲解;
第四部分(12~13章)Tensorflow Lite讲解(源码分析、模型优化、模型转换等)以及使用Tensorflow Lite在PC端和移动端的部署案例讲解。

本书可以为计算机视觉入门的读者和想要对模型进行工程部署的读者提供参考与帮助。京东链接:https://u.jd.com/rwk3HPT

本节分享的内容为Windows端的模型部署,如果读者朋友想要使用移动端和Linux端的模型部署,建议参考书中案例。

如下PPT的配套视频可以去这里观看:
https://www.bilibili.com/video/BV1yb4y1y7TR/
下面结合视频中使用的PPT,讲述一下Windows端的模型部署。
基于Tensorflow Lite的CIFAR10图像分类模型部署_第1张图片

内容主要包括以下四个方面:
基于Tensorflow Lite的CIFAR10图像分类模型部署_第2张图片

这是本书的图书展示,前面有介绍不做过多说明。
基于Tensorflow Lite的CIFAR10图像分类模型部署_第3张图片

模型部署之前,需要将模型转换为Tensorflow Lite推理框架可以读取的文件格式,即.tflite格式。
模型转换请参考文章:Tensorflow Lite模型部署之模型转换
基于Tensorflow Lite的CIFAR10图像分类模型部署_第4张图片

模型量化属于模型优化的一部分,其中量化感知训练是在模型训练过程中的量化,训练后量化是在模型训练完成后进行的量化。
基于Tensorflow Lite的CIFAR10图像分类模型部署_第5张图片

在模型部署的过程中,需要依赖Tensorflow Lite,在PC端是将其编译为二进制库文件进行链接,因为Tensorflow Lite在2.4版本之后才提供CMakeLists.txt编译脚本,所以使用CMake进行编译的过程中还有一些问题,本次的讲解使用的是版本2.6。
基于Tensorflow Lite的CIFAR10图像分类模型部署_第6张图片

下载了源码,编译生成项目工程文件。
基于Tensorflow Lite的CIFAR10图像分类模型部署_第7张图片

使用Visual Studio 2019打开工程进行编译。
基于Tensorflow Lite的CIFAR10图像分类模型部署_第8张图片

因为项目配置的问题,编译中还是有一些问题需要手动去处理。
基于Tensorflow Lite的CIFAR10图像分类模型部署_第9张图片
基于Tensorflow Lite的CIFAR10图像分类模型部署_第10张图片

处理完错误之后终于可以生成二进制库文件了,不过这里生成的是Debug版本的动态库,如果需要生成Release版本的,需要手动修改,并重新编译项目。
基于Tensorflow Lite的CIFAR10图像分类模型部署_第11张图片

右边图中的文件夹是部署CIFAR10图像分类的代码,模型的训练方法在书中有案例讲解,模型转换方法也有讲解,测试代码在书中有详细展示并注释,这里就是编译的脚本文件。
基于Tensorflow Lite的CIFAR10图像分类模型部署_第12张图片

如下是设置使用的头文件。
基于Tensorflow Lite的CIFAR10图像分类模型部署_第13张图片

使用CMake软件编译测试项目。
基于Tensorflow Lite的CIFAR10图像分类模型部署_第14张图片

代码错误处理如下:
基于Tensorflow Lite的CIFAR10图像分类模型部署_第15张图片

头文件不全导致代码中出现了变量未定义的问题。
基于Tensorflow Lite的CIFAR10图像分类模型部署_第16张图片

补充后编译运行,即可进行正确的推理。
基于Tensorflow Lite的CIFAR10图像分类模型部署_第17张图片

测试案例的代码可以在书中参考。

你可能感兴趣的:(深度学习计算机视觉实战,tensorflow,深度学习,人工智能,计算机视觉,机器学习)