我正在使用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。
答案 0 :(得分:0)
首先,为每个类选择一个唯一的名称。我这样说是因为我没有得到类标签中number
的内容(如果每个类都不相同,请使用str.split()
来保留text
)。然后你应该编码你的字符串标签。例如,请参阅this post了解标签的单热编码。