目录
1.环境搭建
安装Anaconda
如何使用Jupyter Notebook
安装TensorFlow
安装OpenCV
2.图像二分类代码测试
创建数据集
模型训练
模型测试
使用tensorboard
3.可能出现的问题
模型拟合得不好
随机测试结果有问题
本教程的系统:Windows10,其他系统兼容性未知。
需安装:Python 3.5.2 :: Anaconda 4.2.0 (64-bit),
TensorFlow 1.13.1 ,OpenCV 4.0.1
资料下载链接:(包括安装包、代码、数据集等)
链接:https://pan.baidu.com/s/1Fjlr3DUovYotOhZUlDwYiA
提取码:veqi
右键点击以管理员方式运行Anaconda的安装包。
一直点击默认按键进入下一步。
勾选两个框添加环境变量和安装对应版本的Python。
然后点击install安装,等待一段时间(时间较长,耐心等待!)
安装完成后,就可以打开jupyter,点击屏幕左下角Windows按钮,找到如下图所示位置点击打开Jupyter Notebook。
默认浏览器中显示如下:
当前是默认路径下的文件内容,一般是C:\Users\Administrator,或是C:\Users\Administrator\Documents,这个路径可以进行更改,更改方式:
打开命令提示符输入:
jupyter notebook --generate-config
在如下路径下找到生成的jupyter_notebook_config.py文件,使用编辑工具打开,如:记事本
使用Ctrl+F查找“NotebookApp.notebook_dir”,去掉前面的符号‘#’,单引号中更改为自己想要更改的路径,如下图,更改后按下Ctrl+S保存即可。
更改路径可能出现打开jupyter命令行后闪退的情况,出现这种情况建议不对默认路径进行更改,重新运行一次jupyter notebook --generate-config命令即可正常运行。或是另寻它法解决闪退问题,这里不做赘述。本教程之后会继续使用默认路径。
打开jupyter的home页面,选择右上角如图所示位置,点击python[default]新建一个文件。
弹出新窗口后在编辑框中输入代码:
print('hello world!')
光标停留在该cell中,按shift+Enter键运行。或在菜单栏中选择"Cell->Run Cells"。
如果没有报错,则表示能正常运行!
在编辑框中输入:
import tensorflow as tf
发现报错,这是因为没有安装TensorFlow模块。
管理员方式打开命令提示符,在命令行中输入
pip install tensorflow
按下回车键等待安装。
安装完成后重新测试,没有出现报错。
在jupyter上测试:
在命令行中测试:
打开命令提示符输入:
pip install opencv-python
输入测试代码,按下shift+enter键运行该Cell后显示如下图:
如果没有报错,则表示OpenCV安装完成!
将上面所提供的链接中的代码下载下来放到jupyter的默认路径下
这里只对训练集进行制作。不使用测试集对模型进行测试,直接选择一些图像导入模型进行测试,显示测试结果,使之看起来更加直观。
将下载的训练集压缩包train_data和代码图像二分类.ipynb放到jupyter的默认路径下,将train_data解压到当前目录,如下图所示。
使用jupyter打开并运行制作数据集的代码Create_TFRecord.ipynb
运行完毕后train_data文件夹下会生成一个后缀为tfrecords的文件,如果已经有则覆盖原来的文件,该文件中存放的就是“ball”文件夹和“others”文件夹中的图片打上标签后的数据流,会在训练模型时用到。“output”文件夹中存放的是从前面两个文件夹中随机抽取的一些图片,用于进行模型测试。
打开并运行代码图像二分类.ipynb
可能会运行较长的一段时间,电脑的CPU占用会变得很高,这个时候操作电脑会比较卡顿,可以先耐心等待。
模型训练结果:
模型保存位置如下图所示:
随机选择样本测试:
使用“output”文件夹中的图片进行测试,这里面的图片是从训练集中随机挑选的,也可以自行使用其他BMP格式的24*24分辨率的图片进行测试。
代码图像二分类.ipynb运行完毕后会发现在jupyter的默认目录下多出了一个名为logs的文件夹,如下图所示,该文件夹下存放的文件可以使用tensorboard.exe打开,让模型可视化。
打开命令提示符,输入命令:
cd C:\Program Files\Anaconda3\Scripts
跳转到tensorboard.exe的目录下,然后输入命令:
tensorboard.exe --logdir=C:\Users\Administrator\Documents\logs
点击回车后会发现出现一个网址,复制该地址,使用浏览器打开,推荐使用Firefox,使用Google浏览器可能会出现无法打开的情况。
然后可以发现模型长这样~
为什么长这样呢?
模型的结构名称在代码中的对应位置:(这些名称可以自己随意更改)
模型在训练完成后,可能出现准确率不是很高的情况,这时可以尝试重新生成一次数据集或者重新运行一次读取训练集的代码块再进行训练。代码块在这里:
测试结果可能会出现全部为0或是全部为一的情况,解决办法:关闭jupyter的命令行和浏览器中的所以jupyter页面,重新打开jupyter并运行代码图像二分类.ipynb。如果只有个别图片出现类别判断错误属于正常现象。
像这样: