Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def pooling(X):
- pool = nn.MaxPool2d(2, 2, return_indices=True)
- unpool = nn.MaxUnpool2d(2, 2)
- all_indices = []
- all_outputs = []
- # Encoder
- self.all_outputs.append(X.shape)
- X, indices = pool(X)
- self.all_indices.append(indices)
- self.all_outputs.append(X.shape)
- X, indices = pool(X)
- self.all_indices.append(indices)
- self.all_outputs.append(X.shape)
- X, indices = pool(X)
- self.all_indices.append(indices)
- self.all_outputs.append(X.shape)
- X, indices = pool(X)
- self.all_indices.append(indices)
- #self.all_outputs.append(X.shape)
- # Decoder
- X = self.unpool(X, self.all_indices[-1], output_size=self.all_outputs[-1])
- X = self.unpool(X, self.all_indices[-2], output_size=self.all_outputs[-2])
- X = self.unpool(X, self.all_indices[-3], output_size=self.all_outputs[-3])
- X = self.unpool(X, self.all_indices[-4], output_size=self.all_outputs[-4])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement