2017-09-10 6 views
0

ケラスを使用した簡単なニューラルネットワークを構築しています。ValueError:float()のリテラルが無効です。ケラス

トレーニングデータの各要素は100次元で、テキストファイルから要素のラベルを読み取っています。

f = open('maleE', "rt") 
labelsTrain = [line.rstrip() for line in f.readlines()] 
f.close() 

ラベルは、この構造を持つ文字列です:学習データにモデルに合うようにnumber_text

model.fit(train, labelsTrain, epochs= 20000, batch_size= 1350) 

そして、私は次のエラーを取得:

File "DNN.py", line 112, in <module> 
    model.fit(train, labelsTrain, epochs=20000, batch_size=1350) 
    File "/Users/renzo/PyEnvironments/tensorKeras/lib/python2.7/site-packages/keras/models.py", line 867, in fit 
    initial_epoch=initial_epoch) 
    File "/Users/renzo/PyEnvironments/tensorKeras/lib/python2.7/site-packages/keras/engine/training.py", line 1598, in fit 
    validation_steps=validation_steps) 
    File "/Users/renzo/PyEnvironments/tensorKeras/lib/python2.7/site-packages/keras/engine/training.py", line 1183, in _fit_loop 
    outs = f(ins_batch) 
    File "/Users/renzo/PyEnvironments/tensorKeras/lib/python2.7/site-packages/keras/backend/tensorflow_backend.py", line 2273, in __call__ 
    **self.session_kwargs) 
    File "/Users/renzo/PyEnvironments/tensorKeras/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 889, in run 
    run_metadata_ptr) 
    File "/Users/renzo/PyEnvironments/tensorKeras/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 1087, in _run 
    np_val = np.asarray(subfeed_val, dtype=subfeed_dtype) 
    File "/Users/renzo/PyEnvironments/tensorKeras/lib/python2.7/site-packages/numpy/core/numeric.py", line 531, in asarray 
    return array(a, dtype, copy=False, order=order) 
ValueError: invalid literal for float(): 225_sokode 

ラベルは、378個のラベルのリストからの要素279です。

+0

あなたの入力の1つに、有効な浮動小数点数ではない文字があるようです。 –

答えて

0

まず、各クラスに固有の名前を指定します。クラスラベルにnumberが含まれていないため、これを言う(各クラスで同じでない場合は、textをそのまま使用するにはstr.split()を使用してください)。次に、文字列ラベルをエンコードする必要があります。たとえば、ラベルのワンホットエンコードの場合はthis postを参照してください。

+0

私のために文字列ラベルをエンコードしました。 – Ren91

関連する問題