| 116 | |
| 117 | |
| 118 | class Joiner(nn.Sequential): |
| 119 | def __init__(self, backbone, position_embedding): |
| 120 | super().__init__(backbone, position_embedding) |
| 121 | |
| 122 | def forward(self, tensor_list: NestedTensor): |
| 123 | xs = self[0](tensor_list) |
| 124 | out: List[NestedTensor] = [] |
| 125 | pos = [] |
| 126 | for name, x in xs.items(): |
| 127 | out.append(x) |
| 128 | |
| 129 | pos.append(self[1](x).to(x.tensors.dtype)) |
| 130 | |
| 131 | return out, pos |
| 132 | |
| 133 | |
| 134 | def build_backbone(args): |