本地加载MNIST数据集的各种坑

参考了以下网址
本地加载MNIST数据集
但是很多坑要自己趟一遍才知道。

尝试

按照参考网址,先下载数据集的npz文件到需要修改的函数的路径
~/keras/keras/datasets/mnist.py
把加载的代码

path = get_file(path, origin='https://s3.amazonaws.com/img-datasets/mnist.npz')
f = np.load(path)

替换为

f=np.load('./mnist.npz')

验证

写一个脚本如下

#!/usr/bin/env python
# coding: utf-8
import keras
keras.__version__
from keras.datasets import mnist
(train_images, train_labels), (test_images, test_labels) = mnist.load_data()
print('load mnist data over\n')

命名为TS_keras.py存在/home/myname/Documents/test下面
在终端执行python /home/myname/Documents/test/TS_keras.py
发现还是从亚马逊上下载,于是怀疑我修改的代码没有执行,所以按照终端的打印去搜索真正的代码位置。

搜索代码位置

根据终端打印的内容“Using TensorFlow backend.”
在硬盘里搜索,命令如下

find -name "*.py" | xargs grep 'Using TensorFlow backend.'

结果如下

myname@mydesktop:~$ find -name "*.py" | xargs grep 'Using TensorFlow backend.' 
./keras/keras/backend/load_backend.py:    sys.stderr.write('Using TensorFlow backend.\n')
./keras/build/lib.linux-x86_64-2.7/keras/backend/load_backend.py:    sys.stderr.write('Using TensorFlow backend.\n')
./anaconda2/lib/python2.7/site-packages/keras/backend/__init__.py:    sys.stderr.write('Using TensorFlow backend.\n')
find: ‘./.cache/dconf’: 权限不够

然后在上述路径的每个py文件中加入不一样的打印,终于找到我真正的keras目录是
/home/myname/anaconda2/lib/python2.7/site-packages/keras/backend

重新在上述路径按照前文方法修改加载函数,果然ok了,原来一切就是路径问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值