当我加载“路透社”数据集时,出现错误
我尝试使用一些:
np_load_old = np.load
np.load = lambda *a,**k: np_load_old(*a, allow_pickle=True, **k)
(train_data, train_labels), (test_data, test_labels) = reuters.load_data(num_words=10000)
np.load = np_load_old
最初是:
from keras.datasets import reuters
import numpy as np
(train_data, train_labels), (test_data, test_labels) = reuters.load_data(num_words=10000)
TypeError:()获得了多个关键字参数值 'allow_pickle'
完整追溯:
TypeError Traceback (most recent call last)
<ipython-input-11-8669b9ae66ea> in <module>()
1 from keras.datasets import reuters
----> 2 (train_data, train_labels), (test_data, test_labels) = reuters.load_data(num_words=10000)
3
4
2 frames
<ipython-input-2-8333ca7e6c7f> in <lambda>(*a, **k)
4
5 np_load_old = np.load
----> 6 np.load = lambda *a,**k: np_load_old(*a, allow_pickle=True, **k)
7 (train_data, train_labels), (test_data, test_labels) = imdb.load_data(num_words=10000)
> 8 np.load = np_load_old
TypeError: <lambda>() got multiple values for keyword argument 'allow_pickle'
答案 0 :(得分:0)
所以我花了一些时间才弄清楚,但是我终于解决了。
因为我们的问题是np.load
的默认值,所以我们只需要更改它们(至少暂时)。
因此在使用numpy之前,您只需将以下行添加到代码中即可:
np.load.__defaults__=(None, True, True, 'ASCII')
这会将allow_pickle
更改为True
。
然后在完成工作后将其修复
np.load.__defaults__=(None, False, True, 'ASCII')
干杯!
答案 1 :(得分:0)
Refer this solution。这对我有用。
我通过删除**k
中的old()
解决了这个问题。这是因为**k
包含allow_pickle
。所以我的命令行从这里改变了:
np.load = lambda *a,**k: old(*a,allow_pickle=True,**k)
对此:
np.load = lambda *a,**k: old(*a,allow_pickle=True)
如果在执行更正的命令行之前已在**k
中用old()
运行了命令,请记住要重新启动运行时。