接下来要讲一个小故事,内容有点冗余,仅做纪念,快速阅读可关注加粗字体。
注:TensorFlow2.0与1.0差距较大,网上大多是1.0相关代码和问题解答,对于2.0,小白上手颇难,所以为了更快地了解 TensorFlow 我最终还是决定学习 1.0 了。
1、故事是这样的,我今天随便捡起了一本书《TensorFlow技术解析与实战》,一早上开开心心的,看到40页的时候,让我运行手写数字识别的入门例子:
python tensorflow-1.1.0/tensorflow/examples/tutorials/mnist/mnist_with_summaries.py
于是我就很天真的打开cmd运行了,发现不行,就把“1.1.0”改成了我目前安装的最新版“2.3.1”,发现还是不行,找到了
C:\ProgramData\Anaconda3\Lib\site-packages 里面一看,我根本没有这个文件当然运行不起来,接下来我就开始了漫长的寻找 mnist_with_summaries.py 文件的旅程
2、我尝试在网上复制粘贴源文件,发现不行,因为文件夹里面是有调用关系的,光新建一个文件根本不行
3、然后我就发现 TensorFlow2.0 版本以上的根本没有 mnist_with_summaries.py 这个文件,examples里面的示例少得可怜
4、我通过查百度了解到 tensorflow==1.4 是目前最稳定的版本,而且肯定有 mnist_with_summaries.py 文件
于是我就去装 TensorFlow1.0,pip install tensorflow==1.4,结果告诉我现在只能安装 1.13以上,那就随便选一个最高可安装版本tensorflow1.15吧,安装之后发现还是没有 mnist_with_summaries.py 这个文件
5、于是我又重新回到了安装 tensorflow==1.4 的思路上来,在csdn资源上下载了现成的包,放到 C:\ProgramData\Anaconda3\Lib\site-packages 下,折腾了好久,终于确定是行不通的
6、去下载 tensorflow-1.4.0-cp36-cp36m-win_amd64.whl ,发现 tensorflow==1.4 只对应python3.6版本,没有对应我的python3.7的,强行安装了一波,发现不行,就又去找 python3.7可用的tensorflow版本,最低的是tensorflow1.13,安装了发现依旧没有 mnist_with_summaries.py 这个文件,于是我决定在anaconda上面再安装一个python3.6的环境,方法记录如下:
anaconda在已有python3.7的情况下安装python3.6:
conda create -n py36 python=3.6 anaconda
使用:conda activate py36
退出:conda deactivate
删除已有环境:conda remove --name python34 --all
查看:conda info -e
7、然后安装 tensorflow-1.4.0-cp36-cp36m-win_amd64.whl 发现还是不行啊,绝望的我各种尝试,然后发现,whl文件要放在Script文件夹下安装才能成功,在我电脑上的具体路径就是:C:\Users\xxx\.conda\envs\py36\Scripts, 用管理员身份打开anaconda prompt,运行:
conda activate py36
cd C:\Users\wenfeng\.conda\envs\py36\Scripts
pip install tensorflow-1.4.0-cp36-cp36m-win_amd64.whl
然后就成功安装了:
8、重新回到最开始,还是运行不了 mnist_with_summaries.py
报错:tensorflow.python.framework.errors_impl.NotFoundError: Failed to create a directory: /tmp\tensorflow; No such file or directory
后得大神相助:https://blog.csdn.net/made_in_china_too/article/details/80139579
具体就是单独把该文件中的内容改成这位大神提供的在wins下可运行的版本的完整代码,然后就运行无误啦!
cd c:/Users/wenfeng/.conda/envs/py36/lib/site-packages/tensorflow/examples/tutorials/mnist
python mnist_with_summaries.py
9、部分结果展示:(FutureWarning可忽略)
10、很开心完成了这一整个流程的操作,逼着我克服了不愿意换版本的懒癌,希望这篇文章对你有所帮助。