Tensorflow项目实战-利用CNN实现简单的旅游景点识别

完整源代码请见我的github地址:https://github.com/starmoon0309/Tourist_attraction_identification

本机环境

Win10 + python3.6 + pycharm + tensorflow-gpu 1.3.0 


下面简单介绍一下整个流程:

首先,从网站上批量下载景点的图片。我选用4个景点,分别是泰山,大雁塔,兵马俑,颐和园。一共下载了共计804张图片(有点少) 

调用create_record.py进行图片处理,生成Attractions_train.tfrecords。这里主要是将图片转换为64×64像素的图片。在这一步中我出现了如下的问题()
1.运行时报错 NewRandomAccessFile failed to Create/Open
解决方法:文件夹没有创建出来,所以将文件夹在运行的位置创建出来就好了
2.运行时报错 InvalidArgumentError (see above for traceback): Input to reshape is a tensor with xx values, but the requested shape has xx
解决方法:在create_record.py中的img = Image.open(img_path)后加上了“.convert("RGB")”,强制都转成RGB格式,就好了(困扰了我很久)
3.特别注意,文件的路径上不要有中文名!!!忘了报的错是什么了

运行train.py,需要注意的是train_dir和logs_train_dir需要改成本机的目录。大约训练8~10分钟左右,可以在/save目录下得到训练好的模型,如图所示:

Tensorflow项目实战-利用CNN实现简单的旅游景点识别

 

-调用test.py,进行测试。用于测试的是在百度图片上随便找的一张,命名为1.jpg,同样,文件里的相关目录也需要更改。需要注意的是,当程序弹出图片后,需关掉,才继续向下运行。。。

Tensorflow项目实战-利用CNN实现简单的旅游景点识别

运行gui.py文件,弹出对话框,选择待测试的图片即可。 

Tensorflow项目实战-利用CNN实现简单的旅游景点识别
(这里有一个小小的问题,在程序运行出结果后仍会报错,如下所示,有知道原因的可以在评论里告知一下~)

Tensorflow项目实战-利用CNN实现简单的旅游景点识别