Python - Чтение нескольких CSV для Keras LSTM - PullRequest
0 голосов
/ 26 февраля 2019

Я пытаюсь реализовать сеть LSTM с использованием Keras, но у меня возникают проблемы с вводом данных.Мой набор данных представлен в виде нескольких файлов CSV (все файлы имеют одинаковые размеры 68x250, каждая запись содержит 2 значения).Есть около 200 файлов CSV, между различными классами. Предварительный просмотр одного из CSV

Как мне принять эти несколько CSV в качестве входных данных?

Ответы [ 2 ]

0 голосов
/ 26 февраля 2019

Недавно я сделал нечто подобное, поскольку Педро сказал, что вы должны использовать fit_generator и написать свой собственный генератор.

Вот пример генератора:

def generator(files):
    print('start generator')
    while 1:        
        print('loop generator')
        for file in files:
            try:                 
                df = pd.read_csv(file)
                batches = int(np.ceil(len(df)/batch_size))      
                for i in range(0, batches):                                   
                    yield pad_batch(df[i*batch_size:min(len(df), i*batch_size+batch_size)])

            except EOFError:
                print("error" + file) 

Где вы проходите списокимени файла для генератора, и он перебирает файлы и возвращает содержимое в пакетном режиме.load_data в моем случае это функция, которая читает csvs в пандах и выполняет некоторую предварительную обработку.pad_batch выполняет заполнение для LSTM.

Использование:

model.fit_generator(
      generator=generator(trainingFiles),   
      steps_per_epoch=steps,
      epochs=num_epochs,
      validation_data=[x_test, y_test],
      verbose=1)
0 голосов
/ 26 февраля 2019

Определите класс, который реализует интерфейс, определенный в: https://keras.io/utils/#sequence

и используйте метод model.fit_generator.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...