首次运行 tensorflow 项目之 vgg 网络

首次运行 tensorflow 项目之 vgg 网络

1. 下载所需文件

下载路径
在这里插入图片描述
首先将需要的文件下载下来,放到一个文件夹中,这里我的路径是E:\vgg
文件夹路径
这是需要的文件,第一个是数据集,第二个文件夹包含了模型代码以及训练集和少量测试集。

2. 在 pycharm 中打开项目

在这里插入图片描述

点击 open,打开我们刚才在 E 盘建立的文件夹 vgg,如图

在这里插入图片描述

3. 为项目设置 python 编译器

File --> settings -->
在这里插入图片描述
选择 project interpreter
在这里插入图片描述
这里的 location 需要填一个空的文件夹
Base interpreter 选择 Python35,因为只有 Python35 才搭建了 tensorflow 框架

4. 调试代码

1. train.py

首先运行 train.py,如图
在这里插入图片描述
一运行就开始报错,开始我们的修 bug 之路吧
在这里插入图片描述
原来是 print 输出函数格式有问题,将其改为print() 就可以了
再次运行,又报错了
在这里插入图片描述
来看看报了什么错误
导包失败,说是没有 tensorflow 这个包,对症下药,那就导包咯
在这里插入图片描述
点击 install package tensorflow
在这里插入图片描述
稍等片刻
在这里插入图片描述
导包成功
再次运行,有 warning 产生,如图
在这里插入图片描述
中文意思是 提示你 tensorflow.python.ops.nn_ops 中的softmax_cross_entropy_with_logits方法已弃用,并将在以后的版本中删除 更新说明:TensorFlow未来的主要版本将在默认情况下允许梯度值流入到后向传播标签输入。具体请参阅官方的 tf.nn.softmax_cross_entropy_with_logits_v2。所以就是说当前这个方法可行但以后更新框架版本时,该方法会取消掉。并不影响当前框架下的运用。

不影响使用,暂时就先不管它了
再次运行,还有错
在这里插入图片描述
还是 print 函数问题,,VGG16.py 文件中还有几个类似的错误,就不一一截图了
再修改完所有的 print 函数之后,再次运行 train.py,错误如下
在这里插入图片描述
说是找不到 vgg16.npy 文件
在这里插入图片描述
发现这里面确实没有 vgg16.npy 文件,于是上网下载一个,放入 train.py 所在的文件夹中
在这里插入图片描述
再次运行 train.py
在这里插入图片描述
第一个警告刚刚说了不用管,看看第二个错误
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’

再次运行,让我们来看看运行结果
在这里插入图片描述

训练完成之后就开始测试

2. test.py

首次运行 test.py
在这里插入图片描述
熟悉的错误,不用多说了

修改 print 函数之后再次运行
在这里插入图片描述

导包错误,没有 opencv 的包,老方法,选择第二个
在这里插入图片描述
导包成功之后再次运行
在这里插入图片描述
根据 restore 这个函数,我猜测这个函数是想把训练模型存储起来以便下次调用,我也不知道怎么改,因此就将代码注释掉了。
#saver.restore(sess, ‘./model/model.ckpt-9999’)

注释之后的运行结果
在这里插入图片描述
换个数据集跑一跑
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42970026/article/details/82878742