Python:如何保存训练数据集

时间:2017-06-09 21:32:40

标签: python

我有训练数据集,即xtrain,ytrain,xtest和ytest。它们都是numpy数组。我想将它们一起保存到一个文件中,这样我就可以像在mnist.load_data中的keras一样将它们加载到工作区中:

(xtrain, ytrain), (xtest, ytest) = mnist.load_data(filepath)

在python中,有没有办法将我的训练数据集保存到这样一个文件中?或者还有其他任何欣赏方法来保存它们吗?

4 个答案:

答案 0 :(得分:2)

您有多种选择:

Keras提供了将模型保存到hdf5的选项。另外,请注意,在这三者中,它是唯一可互操作的格式。

答案 1 :(得分:1)

您只需使用numpy.save

即可

np.save('xtrain.npy', xtrain)

或以人类可读的格式

np.savetxt('xtrain.txt', xtrain)

答案 2 :(得分:1)

Pickle是一个很好的方式:

import pickle as pkl

#to save it
with open("train.pkl", "w") as f:
    pkl.dump([train_x, train_y], f)

#to load it
with open("train.pkl", "r") as f:
    train_x, train_y = pkl.load(f)

如果您的数据集很大,我建议您查看hdf5,如@Lukasz Tracewski所述。

答案 3 :(得分:0)

我发现hickle是一种非常好的方法,可以将它们全部保存在一个字典中:

import hickle as hkl
data = {'xtrain': xtrain, 'xtest': xtest,'ytrain': ytrain,'ytest':ytest}
hkl.dump(data,'data.hkl')