TracerWarning: преобразование тензора в индекс Python может привести к неправильной трассировке - PullRequest
0 голосов
/ 11 апреля 2019

Я пытаюсь создать файл трассировки. Связанная часть кода здесь:

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. Я заметил, что результаты очень разные. Я предполагаю, что причина кроется в этом предупреждении.

...