TENSORFLOW首次实践
学习tensorflow的提前准备
在学习使用tensorflow之前磕了半天的神经网络基础,然后开始首次实践手写板功能
tensorflow的安装
在cmd 中 用python语言安装即可
pip install tensorflow
注:tensorflow的运行前提是numpy库的存在,记得更新numpy库
我们可以尝试运行一下
eg:
>>>import tensorflow as tf
>>>hello = tf.constant('hello,tensorflow')
>>>sess = tf.Session()
>>>print(sess.run(hello))
hello,tensorflow
当没有报错时,说明我们tensorflow安装成功
tensorboard
tensorboard是一个可以让我们在训练网络的过程中通过仪表盘看到网络目前状态的表现情况的组件
在下载tensorflow时会一同打包下载
启动tensorboard需要在tensorflow环境下
#启动
tensorboard --logdir=(logs) 括号内为logs目录所在路径
MNIST数据集下载
MNIST是网上著名的公开数据集之一。官方网站在http://yann.lecun.com/exdb/mnist/
我们从上面下载这4个数据文件
train-images-idx3-ubyte.gz: training set images (9912422 bytes)
train-labels-idx1-ubyte.gz: training set labels (28881 bytes)
t10k-images-idx3-ubyte.gz: test set images (1648877 bytes)
t10k-labels-idx1-ubyte.gz: test set labels (4542 bytes)
使用tensorflow完成实验
我们首先从tensorflow 的官方 github 上 clone一哈
地址在https://github.com/tensorflow/tensorflow
不得不说真的多,我克隆下来就用了半天
我们所用的文件目录在 tensorflow/tensorflow/examples/tutorials/mnist/中
将这个minst文件夹放在一个名为tensorflow的文件夹内,因为在fully_connected_feed.py文件中261行以及268行的两个目录索引为tensorflow/mnist/input_data和tensorflow/mnist/logs/fully_connected_feed。上一个表示训练数据集存放位置,所以我们从MNIST上下载的四个压缩包都放在input_date目录下,第二个是训练后生成的logs 所在位置,后面使用tensorboard的时候的logs目录即为此。
第一个错误:Tensorflow-tensorflow.python.framework.errors_impl.NotFoundError: Failed to create a directory: /tmp\tensorflow
抱着希望运行一哈,然后一大串warning之后一个报错。
tensorflow.python.framework.errors_impl.NotFoundError: Failed to create a directory: /tmp\tensorflow
这里大概意思就是代码中写的路径文件夹为/tmp
,然而无法找到
这里我们把代码中的/tmp
中的/
改成其他,比如..
或者.
问题代码出现在260行和267行
第二个错误:Tensorflow-<urlopen error [WinError 10060]
再次执行后继续报错
urllib.error.URLError: <urlopen error [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。>
这就是我之前没把数据集放在指定的tensorflow/mnist/logs/fully_connected_feed目录下然后报的错误,放进去之后我的fully_connected_feed.py文件成功运行。
将训练完毕后的情况用tensorboard展现出来
终于完成训练了,然后我们希望将它展现出来
tensorboard 报错OSError: [Errno 22] Invalid argument
这里我僵硬了半天,百度谷歌一波之后告诉我是tensorboard没在tensorflow环境下运行
- 解决方法一
执行以下代码:
activate tensorflow
我之前又手贱安了anaconda这个没用几次的软件,导致环境不同。然后这个代码自动在anaconda里执行,然后报错,我一气之下就把它给删了
然后再运行。直接告诉我指令不存在。。。想必问题定不出在此处
- 解决方法二
修改manager.py 文件
按如下方式修改:
完成后执行,成功,破费!
输入http://localhost:6006即可查看训练中的各种指标数据。在训练过程中的变化情况