基于Tensorflow读取MNIST数据集时网络超时的解决方式


Posted in Python onJune 22, 2020

最近在学习TensorFlow,比较烦人的是使用tensorflow.examples.tutorials.mnist.input_data读取数据

from tensorflow.examples.tutorials.mnist import input_data

mnist = input_data.read_data_sets('/temp/mnist_data/')
X = mnist.test.images.reshape(-1, n_steps, n_inputs)
y = mnist.test.labels

基于Tensorflow读取MNIST数据集时网络超时的解决方式

时,经常出现网络连接错误

解决方法其实很简单,这里我们可以看一下input_data.py的源代码(这里截取关键部分)

def maybe_download(filename, work_directory):
 """Download the data from Yann's website, unless it's already here."""
 if not os.path.exists(work_directory):
 os.mkdir(work_directory)
 filepath = os.path.join(work_directory, filename)
 if not os.path.exists(filepath):
 filepath, _ = urllib.request.urlretrieve(SOURCE_URL + filename, filepath)
 statinfo = os.stat(filepath)
 print('Successfully downloaded', filename, statinfo.st_size, 'bytes.')
return filepath

可以看到,代码会先检查文件是否存在,如果不存在再进行下载,那么我是不是自己下载数据不就行了?

MNIST的数据集是从Yann LeCun教授的官网下载,下载完成之后修改一下我们读取数据的代码,加上我们下载的路径即可

from tensorflow.examples.tutorials.mnist import input_data
import os

data_path = os.path.join('.', 'temp', 'data')
mnist = input_data.read_data_sets(datapath)
X = mnist.test.images.reshape(-1, n_steps, n_inputs)
y = mnist.test.labels

测试一下

基于Tensorflow读取MNIST数据集时网络超时的解决方式

成功!

补充知识:在tensorflow的使用中,from tensorflow.examples.tutorials.mnist import input_data报错

最近在学习使用python的tensorflow的使用,使用编辑器为spyder,在输入以下代码时会报错:

from tensorflow.examples.tutorials.mnist import input_data

报错内容如下:

from tensorflow.python.autograph.lang.special_functions import stack
ImportError: cannot import name 'stack'

为了解决这个问题,在

File "K:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\autograph_init_.py"文件中直接把
from tensorflow.python.autograph.lang.special_functions import stack

这一行注释掉了,问题并没有解决。然后又把下面一行注释掉了:

from tensorflow.python.autograph.lang.special_functions import tensor_list

问题解决,但报了一大顿warning:

WARNING:tensorflow:From C:/Users/phmnku/.spyder-py3/tensorflow_prac/classification.py:4: read_data_sets (from tensorflow.contrib.learn.python.learn.datasets.mnist) is deprecated and will be removed in a future version.
Instructions for updating:
Please use alternatives such as official/mnist/dataset.py from tensorflow/models.
WARNING:tensorflow:From K:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\contrib\learn\python\learn\datasets\mnist.py:260: maybe_download (from tensorflow.contrib.learn.python.learn.datasets.base) is deprecated and will be removed in a future version.
Instructions for updating:
Please write your own downloading logic.
WARNING:tensorflow:From K:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\contrib\learn\python\learn\datasets\mnist.py:262: extract_images (from tensorflow.contrib.learn.python.learn.datasets.mnist) is deprecated and will be removed in a future version.
Instructions for updating:
Please use tf.data to implement this functionality.
Extracting MNIST_data\train-images-idx3-ubyte.gz
WARNING:tensorflow:From K:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\contrib\learn\python\learn\datasets\mnist.py:267: extract_labels (from tensorflow.contrib.learn.python.learn.datasets.mnist) is deprecated and will be removed in a future version.
Instructions for updating:
Please use tf.data to implement this functionality.
Extracting MNIST_data\train-labels-idx1-ubyte.gz
WARNING:tensorflow:From K:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\contrib\learn\python\learn\datasets\mnist.py:110: dense_to_one_hot (from tensorflow.contrib.learn.python.learn.datasets.mnist) is deprecated and will be removed in a future version.
Instructions for updating:
Please use tf.one_hot on tensors.
Extracting MNIST_data\t10k-images-idx3-ubyte.gz
Extracting MNIST_data\t10k-labels-idx1-ubyte.gz
WARNING:tensorflow:From K:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\contrib\learn\python\learn\datasets\mnist.py:290: DataSet.__init__ (from tensorflow.contrib.learn.python.learn.datasets.mnist) is deprecated and will be removed in a future version.
Instructions for updating:
Please use alternatives such as official/mnist/dataset.py from tensorflow/models.
WARNING:tensorflow:From K:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\util\tf_should_use.py:189: initialize_all_variables (from tensorflow.python.ops.variables) is deprecated and will be removed after 2017-03-02.
Instructions for updating:
Use `tf.global_variables_initializer` instead.

但是程序好歹能用了

以上这篇基于Tensorflow读取MNIST数据集时网络超时的解决方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python对于requests的封装方法详解
Jan 03 Python
python感知机实现代码
Jan 18 Python
numpy concatenate数组拼接方法示例介绍
May 27 Python
在python tkinter中Canvas实现进度条显示的方法
Jun 14 Python
python通过txt文件批量安装依赖包的实现步骤
Aug 13 Python
Python可变参数会自动填充前面的默认同名参数实例
Nov 18 Python
matplotlib绘制多个子图(subplot)的方法
Dec 03 Python
PyCharm Anaconda配置PyQt5开发环境及创建项目的教程详解
Mar 24 Python
Python3.7将普通图片(png)转换为SVG图片格式(网站logo图标)动起来
Apr 21 Python
python matplotlib工具栏源码探析二之添加、删除内置工具项的案例
Feb 25 Python
解决Jupyter-notebook不弹出默认浏览器的问题
Mar 30 Python
Python几种酷炫的进度条的方式
Apr 11 Python
在Mac中配置Python虚拟环境过程解析
Jun 22 #Python
tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this T
Jun 22 #Python
TensorFlow的环境配置与安装教程详解(win10+GeForce GTX1060+CUDA 9.0+cuDNN7.3+tensorflow-gpu 1.12.0+python3.5.5)
Jun 22 #Python
keras的load_model实现加载含有参数的自定义模型
Jun 22 #Python
python GUI模拟实现计算器
Jun 22 #Python
keras CNN卷积核可视化,热度图教程
Jun 22 #Python
python实现斗地主分牌洗牌
Jun 22 #Python
You might like
在任意字符集下正常显示网页的方法二(续)
2007/04/01 PHP
php单例模式实现(对象只被创建一次)
2012/12/05 PHP
(PHP实现)只使用++运算实现加法,减法,乘法,除法
2013/06/27 PHP
javascript语句中的CDATA标签的意义
2007/05/09 Javascript
JavaScript中Object和Function的关系小结
2009/09/26 Javascript
强大的jquery插件jqeuryUI做网页对话框效果!简单
2011/04/14 Javascript
javascript学习笔记(七) js函数介绍
2012/06/19 Javascript
JS实现网页Div层Clone拖拽效果
2015/09/26 Javascript
jQuery仅用3行代码实现的显示与隐藏功能完整实例
2015/10/08 Javascript
JS组件Bootstrap ContextMenu右键菜单使用方法
2016/04/17 Javascript
Javascript基础_嵌入图像的简单实现
2016/06/14 Javascript
深入理解javascript作用域第二篇之词法作用域和动态作用域
2016/07/24 Javascript
微信小程序 实现tabs选项卡效果实例代码
2016/10/31 Javascript
浅谈js中几种实用的跨域方法原理详解
2016/12/02 Javascript
详解layui中的树形关于取值传值问题
2018/01/16 Javascript
vue2.0 datepicker使用方法
2018/02/04 Javascript
Nuxt.js实现校验访问浏览器类型的中间件
2018/08/24 Javascript
微信小程序实现多选删除列表数据功能示例
2019/01/15 Javascript
详解Nodejs get获取远程服务器接口数据
2019/03/26 NodeJs
vue组件中watch props根据v-if动态判断并挂载DOM的问题
2019/05/12 Javascript
vue keep-alive 动态删除组件缓存的例子
2019/11/04 Javascript
JQuery实现折叠式菜单的详细代码
2020/06/03 jQuery
[01:43]倾听DOTA2英雄之声 魅惑魔女国服配音鉴赏
2013/06/06 DOTA
[01:11:02]Secret vs Newbee 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
python简单实现计算过期时间的方法
2015/06/09 Python
浅析Python中的for 循环
2016/06/09 Python
详解python的sorted函数对字典按key排序和按value排序
2018/08/10 Python
wxPython+Matplotlib绘制折线图表
2019/11/19 Python
python GUI库图形界面开发之PyQt5中QMainWindow, QWidget以及QDialog的区别和选择
2020/02/26 Python
python实现四人制扑克牌游戏
2020/04/22 Python
从零实现一个自定义html5播放器的示例代码
2017/08/01 HTML / CSS
计算机专业应届毕业生自荐信
2013/09/26 职场文书
学校校庆演讲稿
2014/05/22 职场文书
财务经理岗位职责范本
2015/04/08 职场文书
golang协程池模拟实现群发邮件功能
2021/05/02 Golang
Go语言读取txt文档的操作方法
2022/01/22 Golang