Задать вопрос
FerroPanda
@FerroPanda

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

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

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

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

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

Похожие вопросы