Моя цель состоит в том, чтобы обучить 3d ConvNet некоторым видеоданным, входная форма для ConvNet составляет = (FrameHeight, FrameWidth, None, NrOfChannels) , где None представляет количество кадров в последовательности, которое может бытьслучайным образом для каждой партии.
Проблема возникает при генерации> 1 пакета обучающих данных.У меня есть мой генератор пакетов, который возвращает n пакетов для fit_generator (), проблема в том, что каждый пакет имеет форму: (FrameHeight, FrameWidth, None, NrOfChannels) , где None is random (в некоторой степени), и поэтому, если я хочу сгенерировать 4 пакета со случайным числом кадров, произойдет сбой, так как список пакетов с каждой партией, имеющей различное количество кадров, не может быть преобразован в массив numpyНапример:
Шаг 1 - Создайте n пакетов (n = 4) и добавьте их в список пакетов, которые будут возвращены с помощью оператора yield
batches = []
B1: (200, 150, 35, 3) batches.append (B1)
B2: (200, 150, 45, 3) batches.append (B2)
B3: (200, 150, 30, 3) batches.append (B3)
B4: (200, 150, 31, 3) batches.append (B4)
Шаг 2 - Вернуть созданную последовательность
yield np.array (партии)
Очевидно, что шаг 2 завершится неудачей, так как np.array () не сможет преобразовать thсписок партий с каждой партией разной формы для массива.Любые предложения, как с этим бороться?
С уважением,