演示tensorflow图像识别案例。
参考文档:https://blog.csdn.net/shadown1ght/article/details/78571187
作者:李继武
安装python3.5环境
如果环境中已有Python3可跳过;
1. 下载Python3安装包
wget https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tar.xz
![b252c4e7b463dcb71852f059efaf2e11.png](https://i-blog.csdnimg.cn/blog_migrate/8f9eae6e709aed159500e11582b6aa43.jpeg)
2. 解压,编译及安装
tar xvf Python-3.5.0.tar.xz./configuremake && make install
3. 验证安装
![54b4000ea2cf6e303e7e283b86cbc934.png](https://i-blog.csdnimg.cn/blog_migrate/13e0c55d5b956f9235e19f36bf5e3ce2.jpeg)
安装tensorflow模块
1. 升级pip模块
下载pip-18.1安装包
wget https://files.pythonhosted.org/packages/c2/d7/90f34cb0d83a6c5631cf71dfe64cc1054598c843a92b400e55675cc2ac37/pip-18.1-py2.py3-none-any.whl
安装
pip3 install pip-18.1-py2.py3-none-any.whl
2. 安装tensorflow
pip3 install tensorflow
![e4a53ef0e624a84f56fb727ee428823f.png](https://i-blog.csdnimg.cn/blog_migrate/10b8f84dd60133e001b10282f50b67c2.jpeg)
3. 验证安装
![79858558847f2a487cdbfc4d4006ba1c.png](https://i-blog.csdnimg.cn/blog_migrate/9bc600d9173cfc51be9d5d74b3abce00.jpeg)
导入数据
1. 创建工作目录
mkdir -p /data/tf_demo
2. 将数据集上传到该目录下
![8ab1d6238fe04bbdbc1b843950f82a15.png](https://i-blog.csdnimg.cn/blog_migrate/0046a3d3669c1333605110583340ccf0.jpeg)
3. 编写代码
省份简称训练+识别代码(保存文件名为train-license-province.py):
![a385646e3d235482be9a6f0e35725b64.png](https://i-blog.csdnimg.cn/blog_migrate/40046b4226669d56d48cbffeccbcf015.jpeg)
![744a30fe4cbefbed553008e41d8fe28f.png](https://i-blog.csdnimg.cn/blog_migrate/4b72a62f02eee90296f8cfb0d30fd06d.jpeg)
![c6359c6a174dfe773c0b198d2f7a5010.png](https://i-blog.csdnimg.cn/blog_migrate/aece95e3602ecf91ec719bdc0bbb1c4a.jpeg)
![279e5b7abef29c95742de66240e8d4d3.png](https://i-blog.csdnimg.cn/blog_migrate/2ca27bf8828922226bc383c2b7453f5b.jpeg)
![050675ffff7aab7d8542d2b6c5472e74.png](https://i-blog.csdnimg.cn/blog_migrate/4e8d683b32cfee35ab51afb9bff6fe2b.jpeg)
![d380cd10d4b7f534afdd83913ad26ad0.png](https://i-blog.csdnimg.cn/blog_migrate/ad8b10396db49532a54e9aeb8dfedb28.jpeg)
![805680ccbd81b70166ab87076eb9cf29.png](https://i-blog.csdnimg.cn/blog_migrate/c059f3c25dd8963c53a83a80133388b8.jpeg)
城市代号训练+识别代码(保存文件名为train-license-letters.py):
![020087cb524fde3ffbeafe3ffe48b129.png](https://i-blog.csdnimg.cn/blog_migrate/fc7e924023682285eb57b47284a4c2f3.jpeg)
![70b3e6e6f1060b09a40d9bacf5dc37b1.png](https://i-blog.csdnimg.cn/blog_migrate/3d150b488167ddb456cae8745bc563d1.jpeg)
![625c39aa69a7877fe97465162e7613bb.png](https://i-blog.csdnimg.cn/blog_migrate/51f80bb47e7ea7a08c1f151c7ea7cf2b.jpeg)
![cc5c98d91f9f89f657012b0f7b6d8aed.png](https://i-blog.csdnimg.cn/blog_migrate/79b609eae157504e93f360f386d4a2d1.jpeg)
![b7ff8c300775cd5adcca2a519a1ab868.png](https://i-blog.csdnimg.cn/blog_migrate/6df90ae3681cc58b23db2fc239233c62.jpeg)
![f7d9e8ef85f1ef4b71da4ad57c8fc5b2.png](https://i-blog.csdnimg.cn/blog_migrate/dacfdba6a86ae3c7221a7d236043187d.jpeg)
![78c5798c0ef39325340b0f08c5b15b75.png](https://i-blog.csdnimg.cn/blog_migrate/8978aa95bf2ee2d876e595bef4b6f979.jpeg)
车牌编号训练+识别代码(保存文件名为train-license-digits.py):
![acbdfde661f01ef4f72d23044e979b48.png](https://i-blog.csdnimg.cn/blog_migrate/264de7b7bf81d1f29e62c6054eb9050f.jpeg)
![e4e8a9196bb4b4b7e94b25a3b528ee31.png](https://i-blog.csdnimg.cn/blog_migrate/9a02c688731f9cf525f93be8364488a3.jpeg)
![fa422b31537778470d2a9cccb04e53df.png](https://i-blog.csdnimg.cn/blog_migrate/1f66b73afa95798fba41ef1473840a55.jpeg)
![73a3f403c5630e72f95eb8e9bcee68c4.png](https://i-blog.csdnimg.cn/blog_migrate/e9abad5c4ebbb3d5f5be63b2cf715aae.jpeg)
![66c554288c3b0c6a3b4ab178c177c8c1.png](https://i-blog.csdnimg.cn/blog_migrate/313684b1bd700e74f0e1221ea728f97f.jpeg)
![2c86021e10d6ad9ddb7d1ed519fffed7.png](https://i-blog.csdnimg.cn/blog_migrate/eb56a095eb6c317d41371686840a890e.jpeg)
![c09c5cdfa982afb4befd3341fd2aa510.png](https://i-blog.csdnimg.cn/blog_migrate/43e972eccfc76ac151a7176f28093d8b.jpeg)
4. 训练
保存好上面三个python脚本后,我们首先进行省份简称训练。
python3 train-license-province.py train
![75d6bf5a3c8c2cd92afa54e15cb29e6b.png](https://i-blog.csdnimg.cn/blog_migrate/31585914a4fd866eb6e56482ab44b18d.jpeg)
然后进行省份简称识别,在命令行输入执行如下命令:
python3 train-license-province.py predict
![600fb4941ef61eac573af33e42826757.png](https://i-blog.csdnimg.cn/blog_migrate/50e42851c60435e5b7c174e0637b3010.jpeg)
执行城市代号训练(相当于训练26个字母):
python3 train-license-letters.py train
![5edde9f484c34c8b1c7e17134a8e78f5.png](https://i-blog.csdnimg.cn/blog_migrate/ab4b82426a44f270d8a964d121737cc1.jpeg)
识别城市代号:
python3 train-license-letters.py predict
![15478e53e0476305315e458f4503f33d.png](https://i-blog.csdnimg.cn/blog_migrate/2ad6addf2fecab5ac4043ed44310a0b4.jpeg)
执行车牌编号训练(相当于训练24个字母+10个数字,我国交通法规规定车牌编号中不包含字母I和O):
python3 train-license-digits.py train
![e06526ee048c1165242ab62fdffa3767.png](https://i-blog.csdnimg.cn/blog_migrate/ff8b7ed910bd3c113a3de487118c7fc0.jpeg)
识别车牌编号:
python3 train-license-digits.py predict
![ce05813736abd9a5ae2027b1f95f0c0f.png](https://i-blog.csdnimg.cn/blog_migrate/5a6f7195e580419431daffbd3a292267.jpeg)
与下方的测试图片对比,识别成功:
![9aaa9c036e8829feb4d7f4e1cae41af8.png](https://i-blog.csdnimg.cn/blog_migrate/35ef00c6056e735074eac228dece9d21.jpeg)