ubuntu下keras的mnist数据集无法下载的解决办法(免费)
#废话可不看---------mnist作为keras的内置数据集由于网络问题很难完成下载。我参考了许多资料,大多数的解决办法或许有效但是写的很复杂,作为刚入门的菜鸟来说很难理解。为此,我记录下来自己的解决办法,与大家一同分享。关于linux和keras我仅仅是刚入门,很多地方都不懂,错误之处请大家批评指正。但是方法是有效可行的!
我的系统是ubuntu18.04.4,使用anaconda创建的虚拟环境,在虚拟环境内安装了keras,如果没有使用虚拟环境的道友会在安装路径上与本文不一致。
首先下载mnist数据集链接: https://pan.baidu.com/s/13DarxnQjGDhcpDt3uZ5Vig 密码: 745n(臭不要脸的有些人还收钱)我把他放在了/home/username/anaconda3/envs/keras_yyj/lib/python3.6/site-packages/keras/datasets/mnist.npz 下,其实放在哪里都可以。
keras作为内置数据集,在其安装目录下datasets中存在一个mnist.py的文件,这个文件规定了这个数据集的获取方法。虚拟环境下的路径为/home/username/anaconda3/envs/keras_yyj/lib/python3.6/site-packages/keras/datasets . 大家找不到路径可以直接搜索mnist.py,可以直接找到!
"""MNIST handwritten digits dataset.
"""
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
from ..utils.data_utils import get_file
import numpy as np
def load_data(path='./mnist.npz'):
"""Loads the MNIST dataset.
# Arguments
path: path where to cache the dataset locally
(relative to ~/.keras/datasets).
# Returns
Tuple of Numpy arrays: `(x_train, y_train), (x_test, y_test)`.
"""
path = get_file(path,
origin='https://s3.amazonaws.com/img-datasets/mnist.npz',
file_hash='8a61469f7ea1b51cbae51d4f78837e45')
with np.load(path, allow_pickle=True) as f:
x_train, y_train = f['x_train'], f['y_train']
x_test, y_test = f['x_test'], f['y_test']
return (x_train, y_train), (x_test, y_test)
打开文件,找到def load_data(path=’./mnist.npz’): 括号内的地址就是mnist.npz的数据集的默认位置,我们将其修改为mnist数据集存放的地点即上文中的/home/username/anaconda3/envs/keras_yyj/lib/python3.6/site-packages/keras/datasets ,保存文件,数据集手工导入成功!!