ValueError: invalid literal for float() Keras

ValueError: invalid literal for float() Keras

我正在使用 keras 构建一个简单的神经网络。

训练数据的每个元素都有 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。

首先,为每个 classes 选择一个唯一的名称。我这样说是因为我不明白你的 class 标签中的 number 是什么(如果每个 class 都不相同,请使用 str.split() to just keep the text). Then you should encode your string labels. For example, see this post 进行单热编码标签数量。