|
1 |
| -import numpy as np |
2 |
| - |
3 |
| - |
4 |
| -class TubeMaskingGenerator: |
5 |
| - def __init__(self, input_size, mask_ratio): |
6 |
| - self.frames, self.height, self.width = input_size |
7 |
| - self.num_patches_per_frame = self.height * self.width |
8 |
| - self.total_patches = self.frames * self.num_patches_per_frame |
9 |
| - self.num_masks_per_frame = int(mask_ratio * self.num_patches_per_frame) |
10 |
| - self.total_masks = self.frames * self.num_masks_per_frame |
11 |
| - |
12 |
| - def __repr__(self): |
13 |
| - repr_str = "Maks: total patches {}, mask patches {}".format( |
14 |
| - self.total_patches, self.total_masks |
15 |
| - ) |
16 |
| - return repr_str |
17 |
| - |
18 |
| - def __call__(self): |
19 |
| - mask_per_frame = np.hstack( |
20 |
| - [ |
21 |
| - np.zeros(self.num_patches_per_frame - self.num_masks_per_frame), |
22 |
| - np.ones(self.num_masks_per_frame), |
23 |
| - ] |
24 |
| - ) |
25 |
| - np.random.shuffle(mask_per_frame) |
26 |
| - mask = np.tile(mask_per_frame, (self.frames, 1)).flatten() |
27 |
| - return mask |
| 1 | +import numpy as np |
| 2 | + |
| 3 | + |
| 4 | +class TubeMaskingGenerator: |
| 5 | + def __init__(self, input_size, mask_ratio): |
| 6 | + self.frames, self.height, self.width = input_size |
| 7 | + self.num_patches_per_frame = self.height * self.width |
| 8 | + self.total_patches = self.frames * self.num_patches_per_frame |
| 9 | + self.num_masks_per_frame = int(mask_ratio * self.num_patches_per_frame) |
| 10 | + self.total_masks = self.frames * self.num_masks_per_frame |
| 11 | + |
| 12 | + def __repr__(self): |
| 13 | + repr_str = "Maks: total patches {}, mask patches {}".format( |
| 14 | + self.total_patches, self.total_masks |
| 15 | + ) |
| 16 | + return repr_str |
| 17 | + |
| 18 | + def __call__(self): |
| 19 | + mask_per_frame = np.hstack( |
| 20 | + [ |
| 21 | + np.zeros(self.num_patches_per_frame - self.num_masks_per_frame), |
| 22 | + np.ones(self.num_masks_per_frame), |
| 23 | + ] |
| 24 | + ) |
| 25 | + np.random.shuffle(mask_per_frame) |
| 26 | + mask = np.tile(mask_per_frame, (self.frames, 1)).flatten() |
| 27 | + return mask |
0 commit comments