Если я понимаю ваш вопрос, у вас есть 130 3-мерных изображений, которые вам нужно вставить в 3D Con vNet. Я предполагаю, что ваши партии, если бы N был одинаковым для всех ваших данных, были бы тензорами формы (batch_size, channel, N, H, W), и ваша проблема в том, что ваш N варьируется между различными выборками данных.
Итак, есть две проблемы. Во-первых, существует проблема, связанная с тем, что вашей модели требуется обрабатывать данные с различными значениями N. Во-вторых, существует проблема, связанная с реализацией пакетных данных различной длины.
Обе проблемы возникают в моделях классификации видео. Во-первых, я не думаю, что есть способ обойти необходимость интерполировать КУДА-ТО в вашей модели (если вы не готовы дополнить / вырезать / сэмплировать) - если вы делаете какой-либо вид задачи классификации, вам в значительной степени нужен слой постоянного размера в вашей главе классификации. Однако интерполяция не произошла в самом начале. Например, если для входного тензора размера (batch, 3, 20, 256, 256) ваша сеть объединяется до (batch, 1024, 4, 1, 1), то вы можете выполнить адаптивный пул (например, https://pytorch.org/docs/stable/nn.html#torch .nn.AdaptiveAvgPool3d ) непосредственно перед выводом, чтобы уменьшить выборку всего большего до этого размера перед прогнозированием.
Другой вариант - это заполнение и / или усечение и / или повторная выборка изображений, так что что все ваши данные имеют одинаковую длину. Для видео иногда люди дополняют, зацикливая кадры, или вы можете заполнить нулями. То, что действительно, зависит от того, представляет ли ваша ось длины время или что-то еще.
Для второй проблемы, пакетной обработки: если вы знакомы с конвейером данных / конвейером данных pytorch, вам нужно написать собственный collate_fn, который берет список выходных данных вашего объекта набора данных и складывает их вместе в пакетный тензор. В этой функции вы можете решить, дополнять или усекать или что-то еще, чтобы в итоге получить тензор правильной формы. Тогда разные пакеты могут иметь разные значения N. Простой пример реализации этого конвейера приведен здесь: https://github.com/yunjey/pytorch-tutorial/blob/master/tutorials/03-advanced/image_captioning/data_loader.py
Что-то еще, что может помочь при пакетировании, - это поместить ваши данные в сегменты в зависимости от их N измерение. Таким образом, вы сможете избежать большого количества ненужных отступов.