问题说明:
使用如下语句加载imdb集的时候
(x_train, y_train), (x_test, y_test) =
imdb.load_data(path='imdb.npz', num_words=10000)
会报ValueError: Object arrays cannot be loaded when allow_pickle=False
,意思就是要将allow_pickle
设置为,true
,但是imdb.load_data
又不支持修改这个参数。网上的方法大部分是回退numpy的版本到1.16.2,但是不想回退¯\_(ツ)_/¯
开宗明义--解决办法:来自于点此
将上面的语句修改为:
# save np.load
# 将原np.load先保存一下
np_load_old = np.load
# modify the default parameters of np.load
# 修改of np.load为 原np.load指定allow_pickle=True
np.load = lambda *a, **k: np_load_old(*a, allow_pickle=True, **k)
# 执行加载语句 此时语句内部使用的np.load就是指定allow_pickle=True的np.load了
(x_train, y_train), (x_test, y_test) = imdb.load_data(path='imdb.npz', num_words=10000)
# restore np.load for future normal usage
# 为了之后再次使用将np.load置回原np.load
np.load = np_load_old
网友评论