| 129 | return out, pool1_idx, pool1.size(), pool2_idx, pool2.size(), pool3_idx, pool3.size() |
| 130 | |
| 131 | def forward_multiple(self, x): |
| 132 | out = self.conv0(x) |
| 133 | |
| 134 | out = self.pad1_1(out) |
| 135 | out = self.conv1_1(out) |
| 136 | out = self.relu1_1(out) |
| 137 | |
| 138 | if self.level < 2: return out |
| 139 | |
| 140 | out1 = out |
| 141 | |
| 142 | out = self.pad1_2(out) |
| 143 | out = self.conv1_2(out) |
| 144 | pool1 = self.relu1_2(out) |
| 145 | |
| 146 | out, pool1_idx = self.maxpool1(pool1) |
| 147 | |
| 148 | out = self.pad2_1(out) |
| 149 | out = self.conv2_1(out) |
| 150 | out = self.relu2_1(out) |
| 151 | |
| 152 | if self.level < 3: return out, out1 |
| 153 | |
| 154 | out2 = out |
| 155 | |
| 156 | out = self.pad2_2(out) |
| 157 | out = self.conv2_2(out) |
| 158 | pool2 = self.relu2_2(out) |
| 159 | |
| 160 | out, pool2_idx = self.maxpool2(pool2) |
| 161 | |
| 162 | out = self.pad3_1(out) |
| 163 | out = self.conv3_1(out) |
| 164 | out = self.relu3_1(out) |
| 165 | |
| 166 | if self.level < 4: return out, out2, out1 |
| 167 | |
| 168 | out3 = out |
| 169 | |
| 170 | out = self.pad3_2(out) |
| 171 | out = self.conv3_2(out) |
| 172 | out = self.relu3_2(out) |
| 173 | |
| 174 | out = self.pad3_3(out) |
| 175 | out = self.conv3_3(out) |
| 176 | out = self.relu3_3(out) |
| 177 | |
| 178 | out = self.pad3_4(out) |
| 179 | out = self.conv3_4(out) |
| 180 | pool3 = self.relu3_4(out) |
| 181 | out, pool3_idx = self.maxpool3(pool3) |
| 182 | |
| 183 | out = self.pad4_1(out) |
| 184 | out = self.conv4_1(out) |
| 185 | out = self.relu4_1(out) |
| 186 | |
| 187 | return out, out3, out2, out1 |
| 188 | |