2017-06-26 16 views
-3

私はlstmを使用してマルチクラスのラベルをコンパイルすると、ラベル入力としてy_trainを使用します。私はto_categoricalを使用していますが、MemoryErrorを持っています

以下のコード:

y_train = yuantrain['LOCF'] 
labels = to_categorical(np.array(y_train),286) 

エラーコードヒント:以下

Traceback (most recent call last): 
File "<ipython-input-55-4ae3f21f520f>", line 1, in <module> 
labels = to_categorical(np.array(y_train)) 
File "C:\ProgramData\Anaconda2\lib\site-packages\keras\utils\np_utils.py", 
line 24, in to_categorical 

categorical = np.zeros((n, num_classes)) 

MemoryError 

y_train(5)である:私は試してみる

In [65]: 
y_train[0:5] 
Out[65]: 
0 620245 
1  282 
2 500004 
3 620193 
4  60119 
Name: LOCF, dtype: int64 

# biao qian chu li 
# 处理标签为二进制,以及思考二进制的解码 
labels = yuantrain["LOCF"].drop_duplicates() 
#labels is the y_train's unique label 
num_labels = len(labels) # (all of the unique labels) 
one_hot = np.zeros((num_labels, num_labels), int) 
np.fill_diagonal(one_hot, 1) 
label_dict = dict(zip(labels, one_hot)) 
y_train = yuantrain['LOCF'] 
y_train = y_train.apply(lambda y: label_dict[y]) 

しかし、私は自分のために解読しなければならないことは容易ではないと感じています。

私は私のワンホットな方法を使用する場合、kerasにも以下のようなエラーがあります:

Train... 
ERROR (theano.gof.opt): SeqOptimizer apply     <theano.tensor.opt.FusionOptimizer object at 0x000000000D87B0F0> 
ERROR (theano.gof.opt): Traceback: 
ERROR (theano.gof.opt): Traceback (most recent call last): 
File "C:\ProgramData\Anaconda2\lib\site-packages\theano\gof\opt.py", line 235, in apply 
sub_prof = optimizer.optimize(fgraph) 
File "C:\ProgramData\Anaconda2\lib\site-packages\theano\gof\opt.py", line 87, in optimize 
ret = self.apply(fgraph, *args, **kwargs) 
File "C:\ProgramData\Anaconda2\lib\site-packages\theano\tensor\opt.py", line 7289, in apply 
new_outputs = self.optimizer(node) 
File "C:\ProgramData\Anaconda2\lib\site-packages\theano\tensor\opt.py", line 7122, in local_fuse 
tv = gof.op.get_test_value(ii) 
File "C:\ProgramData\Anaconda2\lib\site-packages\theano\gof\op.py", line 987, in get_test_value 
return PureOp._get_test_value(v_var) 
File "C:\ProgramData\Anaconda2\lib\site-packages\theano\gof\op.py", line 580, in _get_test_value 
detailed_err_msg = utils.get_variable_trace_string(v) 
File "C:\ProgramData\Anaconda2\lib\site-packages\theano\gof\utils.py", line 134, in get_variable_trace_string 
return sio.getvalue() 
File "C:\ProgramData\Anaconda2\lib\StringIO.py", line 271, in getvalue 
self.buf += ''.join(self.buflist) 
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe8 in position 27: ordinal not in range(128) 
ERROR (theano.gof.opt): SeqOptimizer apply <theano.tensor.opt.FusionOptimizer object at 0x000000000D87B0F0> 
ERROR (theano.gof.opt): Traceback: 
ERROR (theano.gof.opt): Traceback (most recent call last): 
File "C:\ProgramData\Anaconda2\lib\site-packages\theano\gof\opt.py", line 235, in apply 
sub_prof = optimizer.optimize(fgraph) 
File "C:\ProgramData\Anaconda2\lib\site-packages\theano\gof\opt.py", line 87, in optimize 
ret = self.apply(fgraph, *args, **kwargs) 
File "C:\ProgramData\Anaconda2\lib\site-packages\theano\tensor\opt.py", line 7289, in apply 
new_outputs = self.optimizer(node) 
File "C:\ProgramData\Anaconda2\lib\site-packages\theano\tensor\opt.py", line 7122, in local_fuse 
tv = gof.op.get_test_value(ii) 
File "C:\ProgramData\Anaconda2\lib\site-packages\theano\gof\op.py", line 987, in get_test_value 
return PureOp._get_test_value(v_var) 
File "C:\ProgramData\Anaconda2\lib\site-packages\theano\gof\op.py", line 580, in _get_test_value 
detailed_err_msg = utils.get_variable_trace_string(v) 
File "C:\ProgramData\Anaconda2\lib\site-packages\theano\gof\utils.py", line 134, in get_variable_trace_string 
return sio.getvalue() 
File "C:\ProgramData\Anaconda2\lib\StringIO.py", line 271, in getvalue 
self.buf += ''.join(self.buflist) 
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe8 in position 27: ordinal not in range(128) 
Train on 100000 samples, validate on 77963 samples 
Epoch 1/5 
Traceback (most recent call last): 
File "<ipython-input-67-5ce4b6739b03>", line 1, in <module> 
runfile('E:/XIAMENproject/Prediction_Guo/count.py', wdir='E:/XIAMENproject/Prediction_Guo') 
File "C:\ProgramData\Anaconda2\lib\site-packages\spyder\utils\site\sitecustomize.py", line 866, in runfile 
execfile(filename, namespace) 
File "C:\ProgramData\Anaconda2\lib\site-packages\spyder\utils\site\sitecustomize.py", line 87, in execfile 
exec(compile(scripttext, filename, 'exec'), glob, loc) 
File "E:/XIAMENproject/Prediction_Guo/count.py", line 150, in <module> 
validation_data=(x_val, y_val)) 
File "C:\ProgramData\Anaconda2\lib\site-packages\keras\models.py", line 870, in fit 
initial_epoch=initial_epoch) 
File "C:\ProgramData\Anaconda2\lib\site-packages\keras\engine\training.py", line 1507, in fit 
initial_epoch=initial_epoch) 
File "C:\ProgramData\Anaconda2\lib\site-packages\keras\engine\training.py", line 1156, in _fit_loop 
outs = f(ins_batch) 
File "C:\ProgramData\Anaconda2\lib\site-packages\keras\backend\theano_backend.py", line 1196, in __call__ 
return self.function(*inputs) 
File "C:\ProgramData\Anaconda2\lib\site-packages\theano\compile\function_module.py", line 805, in __call__ 
self.maker.inputs[i].variable) 
File "C:\ProgramData\Anaconda2\lib\site-packages\theano\gof\utils.py", line 134, in get_variable_trace_string 
return sio.getvalue() 
File "C:\ProgramData\Anaconda2\lib\StringIO.py", line 271, in getvalue 
self.buf += ''.join(self.buflist) 
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe8 in position 27: ordinal not in range(128) 
+1

ようこそ。 [How to Ask](http://stackoverflow.com/help/how-to-ask)を読んで[最小限で完全であり、かつ検証可能な例]を提供してください(https://stackoverflow.com/help/mcve ) –

+1

あなたは試しに何をしているのか、何が問題なのか、そして何を試しているのかをコミュニティに伝えてください。また、あなたの投稿(コードスニペット)をフォーマットしてください。そして、あなたの問題を理解するために必要なすべての情報を私たちに与えてください。 n、num_classesなどとは何ですか? –

答えて

0

私は連続IDにタグIDをリセットし、その後to_categoricalを使用しています。

+0

問題を解決する前に、611000011であるyが範囲外です – guozilei

関連する問題