2017-09-10 2 views
0

저는 keras를 사용하여 간단한 신경망을 구축하고 있습니다.ValueError : float()에 대한 리터럴이 잘못되었습니다. Keras

교육 데이터의 각 요소는 100 차원이며 텍스트 파일에서 요소의 레이블을 읽습니다. 학습 데이터에 모델 맞추기 위해 number_text

:

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

레이블은이 구조를 가지고 문자열

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

입력 한 중 하나가 유효한 float 번호가 아닌 문자를 가진 것으로 보입니다. –

답변

0

먼저 각 클래스에 고유 한 이름을 지정하십시오. 나는 클래스 라벨에 number을 얻지 못하기 때문에 이것을 말합니다. (각 클래스에 동일하지 않은 경우 text을 유지하기 위해 str.split()을 사용하십시오). 그런 다음 문자열 레이블을 인코딩해야합니다. 예를 들어 레이블의 원타임 인코딩은 this post을 참조하십시오.

+0

문자열 레이블을 인코딩하면 효과적입니다. – Ren91

관련 문제