keras.datasets.imdb无法download的问题的解决方案
(2019-01-27 23:11:29)
标签:
杂谈it |
分类: 深度学习 |
用keras中的数据集imdb进行简单文本分类时会出现imdb.npz数据集无法下载的情况,或者随后的imdb_word_index.json无法下载的情况,这是由于网络的问题,可能国内的防火墙有时对直接从这些数据库网站下载进行了屏蔽。
为了解决这一问题,可以先把这两个数据集下载下来,下载地址:
链接:https://pan.baidu.com/s/1jcAZiGy0zeo9VjUKBDLZHA
提取码:3aka
在用imdb.load_data()和imdb.imdb.get_word_index()时添加绝对路径,例如,
imdb.npz
和imdb_word_index.json在的绝对路径为E:\\ML\\TextClassification,那么可以分别用下面两个语句加载
(train_data, train_labels), (test_data,
test_labels)=imdb.load_data(path="E:/ML/TextClassification/imdb.npz",
num_words=10000)
word_index=imdb.get_word_index(path="E:/ML/TextClassification/imdb_word_index.json")
细读imdb这个module
(https://github.com/tensorflow/tensorflow/blob/r1.12/tensorflow/python/keras/datasets/imdb.py)可以发现imdb的load_data与get_word_index都调用了get_file()这个函数来加载数据,而通过看get_file()这个函数的说明(https://www.tensorflow.org/api_docs/python/tf/keras/utils/get_file),
tf.keras.utils.get_file(
)
load_data 和
get_word_index中的path都对应着get_file中的fname,而origin对应着网络的下载的地址,load_data与get_word_index中都用的'https://storage.googleapis.com/tensorflow/tf-keras-datasets/'这个地址。
默认情况下,origin地址中的数据都会下载到~/.keras/datasets/filename这个文件夹,这个是path路径默认的指定路径,其中~是home主目录,windows下一般是C:\\用户\\用户名\\, keras前面的'.'表keras这个文件夹是隐藏文件夹,所以要查看这个文件夹的话需要设置文件夹的隐藏可见,然后再找。如果path指定了绝对路径,例如我们上面所指定的E盘的路径,那么origin的数据会下载到path指定的绝对路径中。之所以先把数据集下载下来然后添加path的绝对路径有效,是因为当get_file发现path所指定的路径中已经有了数据集的话就不会再从origin的地址下载。
后一篇:《百年孤独》

加载中…