Обучение модели Keras с несколькими файлами CSV в нескольких папках на Python

#python #csv #keras #conv-neural-network

#python #csv #keras #conv-нейронная сеть

Вопрос:

У меня есть восемь папок с 1300 файлами CSV (3 * 50) в каждой папке, каждая папка представляет собой метку, но я понятия не имею, как ввести мои данные в обучающую модель. Все еще новичок в CNN.

Доступ к части моего файла CSV можно получить по этой ссылке.

Комментарии:

1. Я должен попросить вас быть более ясным, описать ваш формат данных? Все ли CSV во всех папках составляют целый набор данных? Если это так, то вам следует использовать pandas и собирать свои данные «вручную».

2. Все файлы имеют 50 строк и 3 столбца, что означает, что они имеют одинаковый размер, и во всех папках одинаковое количество файлов, все это составляет весь мой набор данных, а данные в моих файлах представляют собой изменения по трем осям за секунду, я пробовал pandas, но у меня все еще возникают проблемы с данными, отличными от изображений.

Ответ №1:

При использовании Keras вы можете использовать tf.data.Dataset пакет, который поможет вам добиться желаемого.

Пример

Вот пример кода, который я взял из одного из своих проектов:

 # matching a glob pattern!
dataset_pro_raw = tf.data.Dataset.list_files([f"./aclImdb/{name}/pos/*.txt"], shuffle=True)
dataset_pro_i = dataset_pro_raw.interleave(
        lambda file: tf.data.TextLineDataset(file),
        # how many files should be processed concurently
        cycle_length = 20,
        # number of threads to increase the performance
        num_parallel_calls = 10
    )
  

Сначала мы создаем список файлов с помощью tf.data.Dataset.list_files() , также обратите внимание, что порядок файлов уже там перетасован. Затем с помощью dataset_pro_raw.interleave() мы перебираем набор файлов и считываем содержимое файлов с помощью tf.data.TextLineDataset() .

Таким образом, вы можете очень хорошо загружать данные из нескольких файлов .txt или любого источника данных. В начале использования это довольно неуклюже, но у него есть очень хорошие преимущества. В настоящее время я использую только tf.data.Dataset для генерации обучающих данных.

Для получения дополнительной информации о tf.data.Dataset вы можете проверить эту ссылку

Комментарии:

1. она хорошо выглядит с одной папкой, но я не знаю, как с ее помощью добраться до других папок и разделить ее на разные ярлыки