Повторное использование данных во временной сверточной сети на основе скользящего окна - PullRequest
0 голосов
/ 17 апреля 2020

Я обрабатываю 8-канальные данные EMG с 1D сверточными фильтрами по времени, регрессирую их углы соединения. Мои тренировочные данные состоят из 200 соток выборки windows данных ЭМГ (т.е. 8х200 значений) для каждого целевого угла соединения. Когда обучение завершено в одном окне, в следующем окне будет только один пример в будущем. Это означает, что значения 8x199 совпадают с последним окном. Поскольку я работаю дома и у меня под рукой только ноутбук с 16 ГБ ОЗУ, я борюсь с памятью, так как хотел бы добавить больше обучающих данных и различных каналов.

Есть ли способ повторно использовать тренировочные данные без явного сохранения отдельного windows в памяти? т.е. просто иметь одну копию записей и дать сети на тренинге windows так, как нужно во время обучения? Было бы предпочтительнее решение на основе Keras, так как я уже проделал всю работу с использованием этой библиотеки.

1 Ответ

0 голосов
/ 28 апреля 2020

Отвечая на мой вопрос на случай, если кому-то это понадобится, решение в Keras / tf.keras заключалось в использовании генератора данных. Так как исходный набор данных мог быть загружен в память без проблем, я сделал предварительное чтение всех файлов, а затем отобрал из него windows с помощью объекта генератора данных.

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