1. 下载所需文件
下载路径
image.png首先将需要的文件下载下来,放到一个文件夹中,这里我的路径是E:\vgg
image.png
这是需要的文件,第一个是数据集,第二个文件夹包含了模型代码以及训练集和少量测试集。
2. 在 pycharm 中打开项目
image.png点击 open,打开我们刚才在 E 盘建立的文件夹 vgg,如图
image.png3. 为项目设置 python 编译器
File --> settings -->
image.png选择 project interpreter
image.png这里的 location 需要填一个空的文件夹
Base interpreter 选择 Python35,因为只有 Python35 才搭建了 tensorflow 框架
4. 调试代码
1. train.py
首先运行 train.py,如图
image.png一运行就开始报错,开始我们的修 bug 之路吧
image.png原来是 print 输出函数格式有问题,将其改为print() 就可以了
再次运行,又报错了
image.png来看看报了什么错误
导包失败,说是没有 tensorflow 这个包,对症下药,那就导包咯
image.png点击 install package tensorflow
image.png稍等片刻
image.png导包成功
再次运行,有 warning 产生,如图
image.png
中文意思是 提示你 tensorflow.python.ops.nn_ops 中的softmax_cross_entropy_with_logits方法已弃用,并将在以后的版本中删除 更新说明:TensorFlow未来的主要版本将在默认情况下允许梯度值流入到后向传播标签输入。具体请参阅官方的 tf.nn.softmax_cross_entropy_with_logits_v2。所以就是说当前这个方法可行但以后更新框架版本时,该方法会取消掉。并不影响当前框架下的运用。
不影响使用,暂时就先不管它了
再次运行,还有错
image.png还是 print 函数问题,,VGG16.py 文件中还有几个类似的错误,就不一一截图了
再修改完所有的 print 函数之后,再次运行 train.py,错误如下
image.png说是找不到 vgg16.npy 文件
image.png发现这里面确实没有 vgg16.npy 文件,于是上网下载一个,放入 train.py 所在的文件夹中
image.png再次运行 train.py
image.png第一个警告刚刚说了不用管,看看第二个错误
Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
大概意思是:你的CPU支持AVX扩展,但是你安装的TensorFlow版本无法编译使用。
解决方法:
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
再次运行,让我们来看看运行结果
image.png训练完成之后就开始测试
2. test.py
首次运行 test.py
image.png熟悉的错误,不用多说了
修改 print 函数之后再次运行
image.png
导包错误,没有 opencv 的包,老方法,选择第二个
image.png导包成功之后再次运行
image.png根据 restore 这个函数,我猜测这个函数是想把训练模型存储起来以便下次调用,我也不知道怎么改,因此就将代码注释掉了。
注释saver.restore(sess, './model/model.ckpt-9999')
注释之后的运行结果
image.png换个数据集跑一跑
image.pngFinish.
网友评论