From 1bccf71cf4eec335001b50a8fbc0c991d0e6d13a Mon Sep 17 00:00:00 2001 From: Gustaf Rydholm Date: Wed, 4 Aug 2021 22:15:36 +0200 Subject: Add conv attention, up and downsampling to vqvae module --- text_recognizer/networks/vqvae/resize.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 text_recognizer/networks/vqvae/resize.py (limited to 'text_recognizer/networks/vqvae/resize.py') diff --git a/text_recognizer/networks/vqvae/resize.py b/text_recognizer/networks/vqvae/resize.py new file mode 100644 index 0000000..769d089 --- /dev/null +++ b/text_recognizer/networks/vqvae/resize.py @@ -0,0 +1,19 @@ +"""Up and down-sample with linear interpolation.""" +from torch import nn, Tensor +import torch.nn.functional as F + + +class Upsample(nn.Module): + """Upsamples by a factor 2.""" + + def forward(self, x: Tensor) -> Tensor: + """Applies upsampling.""" + return F.interpolate(x, scale_factor=2, mode="nearest") + + +class Downsample(nn.Module): + """Downsampling by a factor 2.""" + + def forward(self, x: Tensor) -> Tensor: + """Applies downsampling.""" + return F.avg_pool2d(x, kernel_size=2, stride=2) -- cgit v1.2.3-70-g09d2