Набор данных: у меня есть несколько файлов .csv с формой (количество сэмплов, 60 200), где количество сэмплов может варьироваться.
Модель LSTM: у меня есть модель LSTM, принимающая ввод формы (60 200)
Я пытаюсь сделать генератор данных для извлечения данных из этих файлов .csv и передачи в LSTM.
Но я получаю сообщение об ошибке значения: ни одно из значений не поддерживается.
Я получаю трехмерные массивы формы (размер партии 60 200). В чем может быть возможная ошибка
Я вызываю функцию следующим образом:
model.fit_generator(gen_train,steps_per_epoch=739, validation_data=(gen_val), validation_steps=44,epochs=50)
, где 739 - это число файлов .csv для моих данных обучения, а 44 - это число .csv для данных проверки.
Код для генератора данных выглядит следующим образом:
занимает время имен входных файлов, метка. Каждый файл имеет разные нет. образцов, поэтому я добавляю оставшиеся образцы <32 предыдущего файла с новым на каждой итерации. </h1>
def data_gen(time,label):
print("in data generator")
batch_size = 32
temp_time=np.empty((0,60,200))
temp_label=np.empty((0,1))
while True:
for j in range(len(time)):
time_arr=np.loadtxt(time[j])
time_arr=time_arr.reshape(-1,60,200)
label_arr=np.loadtxt(label[j])
label_arr=label_arr.reshape((-1,1))
temp_time=np.vstack((temp_time,time_arr))
temp_label=np.vstack((temp_label,label_arr))
l=len(temp_time)
i=0
while(l>32):
yield (temp_time[i:i+32], temp_label[i:i+32])
i=i+32
l=l-32
temp_time=temp_time[i:i+l]
temp_label=temp_label[i:i+l]