FerroPanda
@FerroPanda

Как последовательно передавать данные из вектора для обучения нейронной сети?

Есть данные в виде одномерного массива из произвольного количества элементов типа float.
Нейронная сеть имеет 10 входных нейронов. Данные для обучения должны подаваться последовательно по 10 значений из массива. Сначала с 1 по 10 элемент, потом со 2 по 11, потом с 3 по 12 и т.д. Без перемешивания.
Можно, конечно, нарезать двумерный массив с соответствующими данными и подавать строчками, но это не рационально, если начальные данные измеряются гигабайтами.
Какие есть варианты реализации данной задачи?

P.S. НС будет на Pytorch
  • Вопрос задан
  • 70 просмотров
Решения вопроса 1
@AlexSku
не буду отвечать из-за модератора
В Pytorch для этого используются Dataset и Dataloader. (пример для картинок)
Метод __get_item__ будет выдавать порции.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@rPman
Гигабайты в виде одномерного массива в памяти?
Если оно в памяти то какие проблемы, пишешь что то типа mas[pos:pos+size] и получаешь подмассив
это сработает и с numpy массивами

если в файле, то вычисляешь позицию нужного элемента, делаешь туда file.seek и читаешь (чтобы легко было вычислять позицию, пиши фиксированными блоками на строку, дополняя пробелами ну или бинарными форматами)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы