2017-03-17 6 views
0

내 모델을 교육 할 내 데이터 세트가 있습니다. .pk.gz 파일을 성공적으로 만들었지 만 모델로 가져 오는 방법을 모르겠습니다.내 컴퓨터에서 .pkl.gz 파일을 파이썬 프로그램으로 가져 오는 방법

Windows 10, python 3.5.2와 텐서 흐름 및 tflearn 및 숭고한 텍스트 3을 사용하여 코드를 작성하고 있습니다.

내가 피클 파일을 만드는 데 사용되는 코드 :

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() 

오류 : 다음 코드는 재구성해야

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

수 파일을 만드는 데 사용한 코드를 보여주고 포함 된 데이터의 종류를 알려주십시오. '.pkl'이'pickle.dump()'를 사용하여 파이썬 ['pickle'] (https://docs.python.org/2/library/pickle.html) 모듈을 사용했다는 것을 의미한다면, 'pickle.load()'를 사용하여 객체를 검색한다. – mrry

+0

'수입 GZIP 수입 _pickle gzip.open = F의 cPickle 등 ('C : /Users/Jay/Desktop/Data/train_set.pkl.gz ','WB ') cPickle.load (train_set) 인쇄 (DOE : –

답변

0

'RB'를 사용 할 때 train_set :

with gzip.open('C:/Users/Jay/Desktop/Data/train_set.pkl.gz', 'rb') as f: 
    train_set = cPickle.load(f) 
+0

OSError : 쓰기 전용 GzipFile 객체에 [Errno 9] peek()이 오류를 받았습니다! –

+0

죄송합니다. [귀하의 의견]에서 "wb"를 (http://stackoverflow.com/questions/42859435/how-would-i-import-pkl-gz-file-from-my-computer-into- a-python-program/42860527? noredirect = 1 # comment72825802_42859435). ''rb ''로 바뀌었고 이제는 제대로 작동 할 것입니다. – mrry

+0

설명서에서 rb로 변경했습니다 ... 효과가 없습니다 –