Python 3.x 如何将.pkl.gz文件从计算机导入python程序

Python 3.x 如何将.pkl.gz文件从计算机导入python程序,python-3.x,tensorflow,tflearn,Python 3.x,Tensorflow,Tflearn,我有我自己的数据集,我想训练我的模型。我已经成功创建了.pk.gz文件,但我不知道如何将它们导入到我的模型中 我正在使用Windows10、python 3.5.2和tensor flow以及tflearn和sublime text 3来编写代码 我用于创建pickle文件的代码: from numpy import genfromtxt import gzip import _pickle as cPickle #data = sio.loadmat('C:/DeepLearning_li

我有我自己的数据集,我想训练我的模型。我已经成功创建了.pk.gz文件,但我不知道如何将它们导入到我的模型中

我正在使用Windows10、python 3.5.2和tensor flow以及tflearn和sublime text 3来编写代码

我用于创建pickle文件的代码:

from numpy import genfromtxt

import gzip
import _pickle as cPickle

#data = sio.loadmat('C:/DeepLearning_lib/Theano/Data/test_x.mat')

train_set_x = genfromtxt('C:/Users/Jay/Desktop/MachineLearning/dataset/NSL-KDD Processed/Kdd_Train_41.csv', delimiter=',')

train_set_y = genfromtxt('C:/Users/Jay/Desktop/MachineLearning/dataset/NSL-KDD Processed/NSL_TrainLabels_mat4.csv', delimiter=',')

valid_set_x = genfromtxt('C:/Users/Jay/Desktop/MachineLearning/dataset/NSL-KDD Processed/Kdd_Valid_41.csv', delimiter=',')

valid_set_y = genfromtxt('C:/Users/Jay/Desktop/MachineLearning/dataset/NSL-KDD Processed/NSL_ValidLabels_int2.csv', delimiter=',')

test_set_x = genfromtxt('C:/Users/Jay/Desktop/MachineLearning/dataset/NSL-KDD Processed/Kdd_Test_41.csv', delimiter=',')

test_set_y = genfromtxt('C:/Users/Jay/Desktop/MachineLearning/dataset/NSL-KDD Processed/NSL_TestLabels_mat5.csv', delimiter=',')



train_set = test_set_x
train_set_labels= test_set_y

valid_set = valid_set_x
valid_set_labels= valid_set_y

test_set = train_set_x
test_set_labels= train_set_y


f = gzip.open('C:/Users/Jay/Desktop/Data/train_set.pkl.gz','wb')
cPickle.dump(train_set, f, protocol=2)

f.close()

f = gzip.open('C:/Users/Jay/Desktop/Data/train_set_labels.pkl.gz','wb')
cPickle.dump(train_set_labels, f, protocol=2)

f.close()

f = gzip.open('C:/Users/Jay/Desktop/Data/valid_set_labels.pkl.gz','wb')
cPickle.dump(valid_set_labels, f, protocol=2)

f.close()
f = gzip.open('C:/Users/Jay/Desktop/Data/test_set_labels.pkl.gz','wb')
cPickle.dump(test_set_labels, f, protocol=2)

f.close()
f = gzip.open('C:/Users/Jay/Desktop/Data/valid_set.pkl.gz','wb')
cPickle.dump(valid_set, f, protocol=2)

f.close()
f = gzip.open('C:/Users/Jay/Desktop/Data/test_set.pkl.gz','wb')
cPickle.dump(test_set, f, protocol=2)

f.close()
错误:使用“rb”时

'OSError: [Errno 9] peek() on write-only GzipFile object'

以下代码应重建列车组:


你能展示一下你用来创建这些文件的代码,并告诉我们它们包含什么样的数据吗?如果.pkl表示您使用Python模块使用pickle.dump进行编写,则应该能够使用pickle.load检索对象。import gzip import _pickleas cPickle f=gzip.open'C:/Users/Jay/Desktop/Data/train\u set.pkl.gz','wb'cPickle.loadtrain\u set printrain\u set f.关闭其不导入错误:[错误号9]peek on write only GzipFile对象收到此错误!哎呀,我从中复制了“wb”,但没有考虑它的含义:。更改为“rb”,现在它应该可以工作了。我在文档中将它更改为rb…没有效果,但是错误应该是不同的,对吗?“f不再是只写…”萨沙补充道。请查收
with gzip.open('C:/Users/Jay/Desktop/Data/train_set.pkl.gz', 'rb') as f:
  train_set = cPickle.load(f)