Pytorch1.4 GCNv2slam을 실행할 때 수정해야 할 부분

8272 단어 필기
1 .GCNextractor를 컴파일합니다.h99행:
std::shared_ptr<torch::jit::script::Module> module;

다음으로 변경:
 torch::jit::script::Module module;

GCNextractor.cc 270행:
auto output = module->forward(inputs).toTuple();

다음으로 변경:
auto output = module.forward(inputs).toTuple();

2. GCN 모드 실행: 오픈 소스 프로젝트에서 패키지된 gcn2320x240.pt모델 파일pytorch버전 1.0.1;1.4 버전에서 함수 torch.grid_sampler () 는 1.0.1에 비해 매개 변수가 하나 더 있습니다. 구체적으로는 다음과 같습니다.
따라서 런타임 시 오류 메시지가 표시됩니다.
aten::grid_sampler(Tensor input, Tensor grid, int interpolation_mode, int padding_mode, bool align_corners) -> (Tensor):
Argument align_corners not provided.

The original call is:
at code/gcn.py:67:22
_25 = torch.slice(vu, 0, 0, 9223372036854775807, 1)
_26 = torch.select(_25, 1, 0)
_27 = torch.slice(vu, 0, 0, 9223372036854775807, 1)
_28 = torch.select(_27, 1, 1)
_29 = torch.to(_26, dtype=4, layout=0, device=torch.device("cuda:0"), non_blocking=False, copy=False)
_30 = torch.to(_28, dtype=4, layout=0, device=torch.device("cuda:0"), non_blocking=False, copy=False)
_31 = torch.unsqueeze(torch.index(CONSTANTS.c1, [_29, _30]), 1)
ref_points = torch.cat([_24, _31], 1)
grid = torch.view(ref_points, [1, 1, -1, 2])
_32 = torch.squeeze(torch.grid_sampler(input, grid, 0, 0))
~~~~~~~~~~~~~~~~~~ <--- HERE
desc_1 = torch.t(_32)
desc_2 = torch.to(torch.gt(desc_1, 0), 6, False, False)
_33 = ops.prim.NumToTensor(torch.size(desc_2, 0))
desc_3 = torch.view(desc_2, [int(_33), 32, 8])
desc_4 = torch.mul(desc_3, CONSTANTS.c2)
desc = torch.sum(desc_4, [2], False)
_34 = (_17, torch.to(desc, 0, False, False))
return _34`

작성자가 권중 파일을 공개하지 않았기 때문에pytorch 1.0.1로 돌아가지 않고pytorch 1을 사용하려고 합니다.4 실행하려면 다음과 같은 수정이 필요합니다. 압축 도구 소프트웨어로 gcn2 열기320x240.pt(압축을 풀지 않음),'/gcn/code/'에서'gcn.py', 오류 보고가 있는 줄로 지정합니다. (67 줄)
_32 = torch.squeeze(torch.grid_sampler(input, grid, 0, 0))
~~~~~~~~~~~~~~~~~~ <--- HERE

마지막으로 "True"매개변수를 새로 추가합니다.
_32 = torch.squeeze(torch.grid_sampler(input, grid, 0, 0, True))

보존하다.다음은 원본 경고 메시지입니다.
if align_corners is None:
        warnings.warn("Default grid_sample and affine_grid behavior has changed "
                      "to align_corners=False since 1.3.0. Please specify "
                      "align_corners=True if the old behavior is desired. "
                      "See the documentation of grid_sample for details.")
        align_corners = False

영어 찌꺼기, 내가 짐작하는 True를 첨가하면 통할 수 있어...

좋은 웹페이지 즐겨찾기