Я пытаюсь создать файл трассировки. Связанная часть кода здесь:
def center_crop(self, layer, target_size):
_, _, layer_height, layer_width = layer.size()
diff_y = (layer_height - target_size[0]) // 2
diff_x = (layer_width - target_size[1]) // 2
return layer[:, :, diff_y:(diff_y + target_size[0]), diff_x:(diff_x + target_size[1])]
def forward(self, x, bridge):
up = self.up(x)
crop1 = self.center_crop(bridge, up.shape[2:])
out = torch.cat([up, crop1], 1)
out = self.conv_block(out)
Выдает предупреждение в этой строке:
return layer[:, :, diff_y:(diff_y + target_size[0]), diff_x:(diff_x + target_size[1])]
Затем я загрузил этот файл трассировки в C ++ и сделал прогноз для тестового изображения. Затем я сравнил результат с выводом в python. Я заметил, что результаты очень разные. Я предполагаю, что причина кроется в этом предупреждении.