Exemple #1
0
    def forward(self, input: Tensor) -> Generator[pop, Tensor, Tensor]:  # type: ignore
        skipped_input = yield pop('skip')

        skip_shape = skipped_input.shape[2:]
        input_shape = input.shape[2:]

        if input_shape != skip_shape:
            pad = [d2 - d1 for d1, d2 in zip(input_shape, skip_shape)]
            pad = sum([[0, p] for p in pad[::-1]], [])
            input = F.pad(input, pad=pad)

        output = torch.cat((input, skipped_input), dim=1)
        return output
Exemple #2
0
 def forward(self, input: Tensor) -> Tensor:  # type: ignore
     identity = yield pop('identity')
     if self.downsample is not None:
         identity = self.downsample(identity)
     return input + identity
 def forward(self, input):
     foo = yield pop('foo')
     return foo
 def forward(self, input):
     yield pop('foo')
Exemple #5
0
 def forward(self, input):
     skip = yield pop('skip')
     return input + skip
Exemple #6
0
 def forward(self, input):
     bar = yield pop('bar')
     return input + bar
Exemple #7
0
 def forward(self, input):
     none = yield pop('none')
     assert none is None
     return input
Exemple #8
0
 def forward(self, input):
     skip_1to3 = yield pop('1to3')
     output = self.conv(input) + skip_1to3
     return output
Exemple #9
0
 def forward(self, input):
     identity = yield pop('identity')
     out = input
     if self.stride == 1:
         out = input + self.shortcut(identity)
     return out
Exemple #10
0
 def forward(self, input: torch.Tensor):
     skip = yield pop("skip")
     if skip is not None:
         input = torch.cat([input, skip], dim=1)
     return input
Exemple #11
0
 def forward(self, input):
     identity = yield pop('identity')
     return input + self.shortcut(identity)