|
20 | 20 | "RandomVerticalFlip", "RandomResizedCrop", "RandomSizedCrop", "FiveCrop", "TenCrop", "LinearTransformation",
|
21 | 21 | "ColorJitter", "RandomRotation", "Grayscale", "RandomGrayscale"]
|
22 | 22 |
|
| 23 | +_pil_interpolation_to_str = { |
| 24 | + Image.NEAREST: 'PIL.Image.NEAREST', |
| 25 | + Image.BILINEAR: 'PIL.Image.BILINEAR', |
| 26 | + Image.BICUBIC: 'PIL.Image.BICUBIC', |
| 27 | + Image.LANCZOS: 'PIL.Image.LANCZOS', |
| 28 | +} |
| 29 | + |
23 | 30 |
|
24 | 31 | class Compose(object):
|
25 | 32 | """Composes several transforms together.
|
@@ -103,7 +110,11 @@ def __call__(self, pic):
|
103 | 110 | return F.to_pil_image(pic, self.mode)
|
104 | 111 |
|
105 | 112 | def __repr__(self):
|
106 |
| - return self.__class__.__name__ + '({0})'.format(self.mode) |
| 113 | + format_string = self.__class__.__name__ + '(' |
| 114 | + if self.mode is not None: |
| 115 | + format_string += 'mode={0}'.format(self.mode) |
| 116 | + format_string += ')' |
| 117 | + return format_string |
107 | 118 |
|
108 | 119 |
|
109 | 120 | class Normalize(object):
|
@@ -164,7 +175,8 @@ def __call__(self, img):
|
164 | 175 | return F.resize(img, self.size, self.interpolation)
|
165 | 176 |
|
166 | 177 | def __repr__(self):
|
167 |
| - return self.__class__.__name__ + '(size={0})'.format(self.size) |
| 178 | + interpolate_str = _pil_interpolation_to_str[self.interpolation] |
| 179 | + return self.__class__.__name__ + '(size={0}, interpolation={1})'.format(self.size, interpolate_str) |
168 | 180 |
|
169 | 181 |
|
170 | 182 | class Scale(Resize):
|
@@ -240,7 +252,7 @@ def __call__(self, img):
|
240 | 252 | return F.pad(img, self.padding, self.fill)
|
241 | 253 |
|
242 | 254 | def __repr__(self):
|
243 |
| - return self.__class__.__name__ + '(padding={0})'.format(self.padding) |
| 255 | + return self.__class__.__name__ + '(padding={0}, fill={1})'.format(self.padding, self.fill) |
244 | 256 |
|
245 | 257 |
|
246 | 258 | class Lambda(object):
|
@@ -388,7 +400,7 @@ def __call__(self, img):
|
388 | 400 | return F.crop(img, i, j, h, w)
|
389 | 401 |
|
390 | 402 | def __repr__(self):
|
391 |
| - return self.__class__.__name__ + '(size={0})'.format(self.size) |
| 403 | + return self.__class__.__name__ + '(size={0}, padding={1})'.format(self.size, self.padding) |
392 | 404 |
|
393 | 405 |
|
394 | 406 | class RandomHorizontalFlip(object):
|
@@ -511,7 +523,12 @@ def __call__(self, img):
|
511 | 523 | return F.resized_crop(img, i, j, h, w, self.size, self.interpolation)
|
512 | 524 |
|
513 | 525 | def __repr__(self):
|
514 |
| - return self.__class__.__name__ + '(size={0})'.format(self.size) |
| 526 | + interpolate_str = _pil_interpolation_to_str[self.interpolation] |
| 527 | + format_string = self.__class__.__name__ + '(size={0}'.format(self.size) |
| 528 | + format_string += ', scale={0}'.format(round(self.scale, 4)) |
| 529 | + format_string += ', ratio={0}'.format(round(self.ratio, 4)) |
| 530 | + format_string += ', interpolation={0})'.format(interpolate_str) |
| 531 | + return format_string |
515 | 532 |
|
516 | 533 |
|
517 | 534 | class RandomSizedCrop(RandomResizedCrop):
|
@@ -603,7 +620,7 @@ def __call__(self, img):
|
603 | 620 | return F.ten_crop(img, self.size, self.vertical_flip)
|
604 | 621 |
|
605 | 622 | def __repr__(self):
|
606 |
| - return self.__class__.__name__ + '(size={0})'.format(self.size) |
| 623 | + return self.__class__.__name__ + '(size={0}, vertical_flip={1})'.format(self.size, self.vertical_flip) |
607 | 624 |
|
608 | 625 |
|
609 | 626 | class LinearTransformation(object):
|
@@ -716,7 +733,12 @@ def __call__(self, img):
|
716 | 733 | return transform(img)
|
717 | 734 |
|
718 | 735 | def __repr__(self):
|
719 |
| - return self.__class__.__name__ + '()' |
| 736 | + format_string = self.__class__.__name__ + '(' |
| 737 | + format_string += 'brightness={0}'.format(self.brightness) |
| 738 | + format_string += ', contrast={0}'.format(self.contrast) |
| 739 | + format_string += ', saturation={0}'.format(self.saturation) |
| 740 | + format_string += ', hue={0})'.format(self.hue) |
| 741 | + return format_string |
720 | 742 |
|
721 | 743 |
|
722 | 744 | class RandomRotation(object):
|
@@ -777,7 +799,13 @@ def __call__(self, img):
|
777 | 799 | return F.rotate(img, angle, self.resample, self.expand, self.center)
|
778 | 800 |
|
779 | 801 | def __repr__(self):
|
780 |
| - return self.__class__.__name__ + '(degrees={0})'.format(self.degrees) |
| 802 | + format_string = self.__class__.__name__ + '(degrees={0}'.format(self.degrees) |
| 803 | + format_string += ', resample={0}'.format(self.resample) |
| 804 | + format_string += ', expand={0}'.format(self.expand) |
| 805 | + if self.center is not None: |
| 806 | + format_string += ', center={0}'.format(self.center) |
| 807 | + format_string += ')' |
| 808 | + return format_string |
781 | 809 |
|
782 | 810 |
|
783 | 811 | class Grayscale(object):
|
@@ -807,7 +835,7 @@ def __call__(self, img):
|
807 | 835 | return F.to_grayscale(img, num_output_channels=self.num_output_channels)
|
808 | 836 |
|
809 | 837 | def __repr__(self):
|
810 |
| - return self.__class__.__name__ + '()' |
| 838 | + return self.__class__.__name__ + '(num_output_channels={0})'.format(self.num_output_channels) |
811 | 839 |
|
812 | 840 |
|
813 | 841 | class RandomGrayscale(object):
|
@@ -841,4 +869,4 @@ def __call__(self, img):
|
841 | 869 | return img
|
842 | 870 |
|
843 | 871 | def __repr__(self):
|
844 |
| - return self.__class__.__name__ + '()' |
| 872 | + return self.__class__.__name__ + '(p={0})'.format(self.p) |
0 commit comments