(self, kernel_size)
| 124 | class GaussianBlur(object): |
| 125 | """blur a single image on CPU""" |
| 126 | def __init__(self, kernel_size): |
| 127 | radias = kernel_size // 2 |
| 128 | kernel_size = radias * 2 + 1 |
| 129 | self.blur_h = nn.Conv2d(3, 3, kernel_size=(kernel_size, 1), |
| 130 | stride=1, padding=0, bias=False, groups=3) |
| 131 | self.blur_v = nn.Conv2d(3, 3, kernel_size=(1, kernel_size), |
| 132 | stride=1, padding=0, bias=False, groups=3) |
| 133 | self.k = kernel_size |
| 134 | self.r = radias |
| 135 | |
| 136 | self.blur = nn.Sequential( |
| 137 | nn.ReflectionPad2d(radias), |
| 138 | self.blur_h, |
| 139 | self.blur_v |
| 140 | ) |
| 141 | |
| 142 | self.pil_to_tensor = transforms.ToTensor() |
| 143 | self.tensor_to_pil = transforms.ToPILImage() |
| 144 | |
| 145 | def __call__(self, img): |
| 146 | img = self.pil_to_tensor(img).unsqueeze(0) |
nothing calls this directly
no outgoing calls
no test coverage detected