Python:如何保存培训数据集

Python:如何保存培训数据集,python,Python,我有训练数据集,它们是xtrain、ytrain、xtest和ytest。它们都是numpy阵列。我想将它们一起保存到一个文件中,这样我就可以像在keras for mnist.load_data中那样将它们加载到工作区中: (xtrain, ytrain), (xtest, ytest) = mnist.load_data(filepath) 在python中,有没有办法将我的训练数据集保存到这样一个文件中?或者还有其他方法可以保存它们吗?您只需使用numpy.save即可 np.save(

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

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

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

您只需使用numpy.save即可

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

或者以人类可读的格式


np.savetxt('xtrain.txt',xtrain)
您有许多选项:


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

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)

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

我发现hickle是一种非常好的方法,可以将它们一起保存到dict中:

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

查一下pickle模块,你能做个测试吗?。我是python的初学者。谢谢Pickle允许您将任何对象转储到.dat文件并重新加载到文件中。注意,可能有更好的方法来实现这一点,因此请检查答案。我的培训数据集非常大。我想在内存中更经济地保存它们,我不打算保存模型,只保存以后重用的训练数据。这里有一个特别的地方,就是把它们一起保存到一个文件中。这没关系,我提到这一点是为了让你们知道库在使用什么。您可以以一种结构良好的方式将培训和测试数据保存到单个hdf5文件中。我尝试使用h5py将它们保存到元组中,这会产生错误消息:TypeError:Object dtype dtype('O')没有本地hdf5等效项。可能它不支持元组格式。您对一起构建数据有什么建议吗(xtrain和xtest在维度上不一样)。谢谢