#python #list #numpy #pytorch
#python #Список #numpy #pytorch
Вопрос:
У меня есть предварительно обученная сеть сегментации, которая принимает (batch_size,5,224,224)
тензор и выводит (batch_size,224,224)
вектор признаков, скажем batch_features
, первоначально тензор Torch, но может быть преобразован в массив numpy.
Существует несколько способов сбора тензора torch.
Вариант А : Использовать список
val_features = []
val_features.extend(list(batch_features)
*** Вариант B : Использовать массив numpy*
val_features = np.empty()
val_features = [*val_features, *batch_features]
В конце я хочу перебрать все эти массивы и выполнить некоторую постобработку. Какой формат данных будет работать лучше всего в этом случае?
Комментарии:
1. оба должны работать нормально, если вы просто хотите выполнить итерацию с явным циклом … однако циклы в python медленные, поэтому было бы неплохо избежать их и использовать уже существующие операции с массивами. Для этого было бы лучше использовать массивы numpy, но сначала проверьте, возможно ли то, что вы хотите сделать, при манипуляциях / операциях с тензором numpy
2. почему вы не используете batch_features.cpu().numpy()?