Невозможно извлечь выходные данные предпоследнего слоя преобразователя зрения с помощью pytorch.Python

Программы на Python
Anonymous
Невозможно извлечь выходные данные предпоследнего слоя преобразователя зрения с помощью pytorch.

Сообщение Anonymous »

У меня есть следующая модель, которую я настроил с помощью собственного набора данных, обученного с помощью DataParallel:
model = timm.create_model('vit_base_patch16_224', pretrained=False)
model.head = nn.Sequential(nn.Linear(768, 512),nn.ReLU(),nn.BatchNorm1d(512),nn.Dropout(p=0.2),nn.Linear(512, 141))
checkpoint = torch.load('vit_b_16v3.pth')
checkpoint = {k.partition('module.')[2]: v for k, v in checkpoint.items()}
# Load parameters
model.load_state_dict(checkpoint)

Однако я понятия не имею, как получить выходные данные предпоследнего слоя такого преобразователя зрения. Я попробовал этот урок, но он не работает. Я только хочу ввести изображение и иметь вектор 512-D, описывающий его. С Tensorflow это сделать проще простого, но в Pytorch у меня возникают трудности.
Мои последние слои выглядят следующим образом:
(norm): LayerNorm((768,), eps=1e-06, elementwise_affine=True)
(fc_norm): Identity()
(head_drop): Dropout(p=0.0, inplace=False)
(head): Sequential(
(0): Linear(in_features=768, out_features=512, bias=True)
(1): ReLU()
(2): BatchNorm1d(512, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)
(3): Dropout(p=0.2, inplace=False)
(4): Linear(in_features=512, out_features=141, bias=True)
)
)


Подробнее здесь: https://stackoverflow.com/questions/786 ... th-pytorch

Вернуться в «Python»