From 0bd673b73ce3228f78f75e9900204d03ef628246 Mon Sep 17 00:00:00 2001 From: Ren Pang Date: Mon, 19 Sep 2022 15:00:20 -0400 Subject: [PATCH 01/27] init commit --- .../prototype/transforms/_auto_augment.py | 108 ++++++++++++++++++ 1 file changed, 108 insertions(+) diff --git a/torchvision/prototype/transforms/_auto_augment.py b/torchvision/prototype/transforms/_auto_augment.py index ed39529b5b8..b5891a9ced4 100644 --- a/torchvision/prototype/transforms/_auto_augment.py +++ b/torchvision/prototype/transforms/_auto_augment.py @@ -533,3 +533,111 @@ def forward(self, *inputs: Any) -> Any: mix = F.to_image_pil(mix) return self._put_into_sample(sample, id, mix) + + +class _AutoAugmentDetectionBase(_AutoAugmentBase): + @staticmethod + def _transform_image_in_bboxes( + fn: Callable[..., torch.Tensor], fn_kwrgs: dict, image: torch.Tensor, bboxes: torch.Tensor + ): + new_img = image.clone() + for bbox in bboxes: + bbox_img = new_img[..., bbox[1] : bbox[3], bbox[0] : bbox[2]] + out_bbox_img = fn(bbox_img, **fn_kwrgs) + new_img[..., bbox[1] : bbox[3], bbox[0] : bbox[2]] = out_bbox_img + return new_img + + def _extract_image( + self, + sample: Any, + unsupported_types: Tuple[Type, ...] = (features.Mask), + ) -> List[Tuple[int, Union[PIL.Image.Image, torch.Tensor, features.Image, features.BoundingBox]]]: + sample_flat, _ = tree_flatten(sample) + images = [] + for id, inpt in enumerate(sample_flat): + if _isinstance(inpt, (features.Image, PIL.Image.Image, features.is_simple_tensor)): + images.append((id, inpt)) + elif _isinstance(inpt, features.BoundingBox): + images.append((id, inpt)) + elif isinstance(inpt, unsupported_types): + raise TypeError(f"Inputs of type {type(inpt).__name__} are not supported by {type(self).__name__}()") + + if not images: + raise TypeError("Found no image in the sample.") + if len(images) > 2: + raise TypeError( + f"Auto augment transformations are only properly defined for a single image and its bboxes, but found {len(images)}." + ) + return images + + def _apply_image_transform( + self, + image: Any, + bboxes: features.BoundingBox, + transform_id: str, + magnitude: float, + interpolation: InterpolationMode, + fill: Union[int, float, Sequence[int], Sequence[float]], + ) -> Tuple[Any, features.BoundingBox]: + # TODO: SolarizeAdd, Cutout, BBox_Cutout, Flip_Only_BBoxes, Cutout_Only_BBoxes + + if transform_id.endswith("_Only_BBoxes"): + transform_id = transform_id[:-12] + fn_kwargs = dict(transform_id=transform_id, magnitude=magnitude, interpolation=interpolation, fill=fill) + image = self._transform_image_in_bboxes(super()._apply_image_transform, fn_kwargs, image, bboxes) + elif transform_id.endswith("_BBox"): + transform_id = transform_id[:-5] + image = super()._apply_image_transform(image, transform_id, magnitude, interpolation, fill) + format = features.BoundingBoxFormat.XYXY # TODO + image_size = image # TODO + + if transform_id == "Rotate": + bboxes = F.rotate_bounding_box(bboxes, format, image_size, angle=magnitude) + elif transform_id == "TranslateX": + bboxes = F.affine_bounding_box( + bboxes, + format, + image_size, + angle=0.0, + translate=[int(magnitude), 0], + scale=1.0, + shear=[0.0, 0.0], + ) + elif transform_id == "TranslateY": + bboxes = F.affine_bounding_box( + bboxes, + format, + image_size, + angle=0.0, + translate=[0, int(magnitude)], + scale=1.0, + shear=[0.0, 0.0], + ) + elif transform_id == "ShearX": + bboxes = F.affine_bounding_box( + bboxes, + format, + image_size, + angle=0.0, + translate=[0, 0], + scale=1.0, + shear=[math.degrees(math.atan(magnitude)), 0.0], + center=[0, 0], + ) + elif transform_id == "ShearY": + bboxes = F.affine_bounding_box( + bboxes, + format, + image_size, + angle=0.0, + translate=[0, 0], + scale=1.0, + shear=[0.0, math.degrees(math.atan(magnitude))], + center=[0, 0], + ) + elif transform_id == "BBox_Cutout": + raise NotImplementedError() + else: + image = super()._apply_image_transform(image, transform_id, magnitude, interpolation, fill) + + return image, bboxes From e29e44440da0745d91338554ebb242213b4b12b3 Mon Sep 17 00:00:00 2001 From: Ren Pang Date: Mon, 19 Sep 2022 15:04:04 -0400 Subject: [PATCH 02/27] a small update --- torchvision/prototype/transforms/_auto_augment.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/torchvision/prototype/transforms/_auto_augment.py b/torchvision/prototype/transforms/_auto_augment.py index b5891a9ced4..857d9168c2f 100644 --- a/torchvision/prototype/transforms/_auto_augment.py +++ b/torchvision/prototype/transforms/_auto_augment.py @@ -589,7 +589,7 @@ def _apply_image_transform( transform_id = transform_id[:-5] image = super()._apply_image_transform(image, transform_id, magnitude, interpolation, fill) format = features.BoundingBoxFormat.XYXY # TODO - image_size = image # TODO + image_size = image.shape[-2:] # TODO if transform_id == "Rotate": bboxes = F.rotate_bounding_box(bboxes, format, image_size, angle=magnitude) From 08f5d12eff89515d9ae3ecc789d2f8ae1dc406e8 Mon Sep 17 00:00:00 2001 From: Ren Pang Date: Mon, 19 Sep 2022 15:21:11 -0400 Subject: [PATCH 03/27] update --- .../prototype/transforms/_auto_augment.py | 34 +++++++++---------- 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/torchvision/prototype/transforms/_auto_augment.py b/torchvision/prototype/transforms/_auto_augment.py index 857d9168c2f..ff76f0e1899 100644 --- a/torchvision/prototype/transforms/_auto_augment.py +++ b/torchvision/prototype/transforms/_auto_augment.py @@ -588,26 +588,24 @@ def _apply_image_transform( elif transform_id.endswith("_BBox"): transform_id = transform_id[:-5] image = super()._apply_image_transform(image, transform_id, magnitude, interpolation, fill) - format = features.BoundingBoxFormat.XYXY # TODO - image_size = image.shape[-2:] # TODO if transform_id == "Rotate": - bboxes = F.rotate_bounding_box(bboxes, format, image_size, angle=magnitude) + bboxes.data = F.rotate_bounding_box(bboxes.data, bboxes.format, bboxes.image_size, angle=magnitude) elif transform_id == "TranslateX": - bboxes = F.affine_bounding_box( - bboxes, - format, - image_size, + bboxes.data = F.affine_bounding_box( + bboxes.data, + bboxes.format, + bboxes.image_size, angle=0.0, translate=[int(magnitude), 0], scale=1.0, shear=[0.0, 0.0], ) elif transform_id == "TranslateY": - bboxes = F.affine_bounding_box( - bboxes, - format, - image_size, + bboxes.data = F.affine_bounding_box( + bboxes.data, + bboxes.format, + bboxes.image_size, angle=0.0, translate=[0, int(magnitude)], scale=1.0, @@ -615,9 +613,9 @@ def _apply_image_transform( ) elif transform_id == "ShearX": bboxes = F.affine_bounding_box( - bboxes, - format, - image_size, + bboxes.data, + bboxes.format, + bboxes.image_size, angle=0.0, translate=[0, 0], scale=1.0, @@ -625,10 +623,10 @@ def _apply_image_transform( center=[0, 0], ) elif transform_id == "ShearY": - bboxes = F.affine_bounding_box( - bboxes, - format, - image_size, + bboxes.data = F.affine_bounding_box( + bboxes.data, + bboxes.format, + bboxes.image_size, angle=0.0, translate=[0, 0], scale=1.0, From 779c1a67e7f22817cc913b7eeab62c5d5f2ada9a Mon Sep 17 00:00:00 2001 From: Ren Pang Date: Mon, 19 Sep 2022 15:35:41 -0400 Subject: [PATCH 04/27] fix type checking issues --- torchvision/_C.pyd | Bin 0 -> 537600 bytes torchvision/image.pyd | Bin 0 -> 130048 bytes .../prototype/transforms/_auto_augment.py | 18 +++++++++--------- 3 files changed, 9 insertions(+), 9 deletions(-) create mode 100644 torchvision/_C.pyd create mode 100644 torchvision/image.pyd diff --git a/torchvision/_C.pyd b/torchvision/_C.pyd new file mode 100644 index 0000000000000000000000000000000000000000..5d8967e74aaa82314b8ccd1e385f513155a4c675 GIT binary patch literal 537600 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

EDJkdr-!BCL#-YbhYvM+ z=nWsLijGs-o-I<`r!@s^Xw3)?O2xwSjHCyyb!6z`V ztq)$1moI*rk-OuEjT-D**eI)E>A5dRF*1$*VPpPt zmleJknMOZqFXpD13orJxX}(eT;reF&!s~<5XA9;I-%~fuhvgehW14c)JoAx)s`+W& zy|8XH%}0)?8~WlunfpE{L1ztpD#N;4@Cd#xS3mLye%40jd|E&%GekW$atK zQw1C4t(1$c!4Ht%en5mvQ$NCvOn1M)GK!3p>_B$HNNK$C@1Iw*($b7E55l%WJ7ovw z5v?2(f{N$N-?DmsFM5jJn$@pnqtJdrR6+M7R3#FY@a7qs6CN#89?tom>o` z|240QZT(^_+l!wG8ibbQBo*bD6g}c*}@BMp$NqX`M?ILdcj@vyL#?4(N z1k7Ws?2?UFs($$=8K~*WpD{i8%Qi2_Smk2{cGG3=K`OZMyFlpOx(hrR}d(*V+V|p|ICYb2hT6m>zQ%i{TZWp3NUS0 z<&2TvSH>q9XXjB@kYrf5=8ci%0LJP6sQ`HX^aq2RLZ#k95?)5;pi)l%Pb!#8HqE3VWX6ZAj!tw*6)&iwLC zhASF&1vzx^>7UX;XMr3vGWIZ2YfzL$5?71W_8eLuF-j6D``4CLYvHbU*#gP7X!Fc8jnKC7zE6=M@|%jhX2Zc|D7 zMU3_JpX5p0xh(Hpu)>*kXd8ydVaVYEJ|o>k3J7nYKOs4!2av;4$tbivw$cwX0=AG? zD3S}BIwPP*!i<0oB+Ll7nR04tCdY1(Fhl9Dk=n>c$_;iV3HzEpYhTl6d!x_V*YsKY z+Ey)%ti8q8isZ}RDTqV$9gIatD|mZ2B&6$~HX)y!77^0(GLDei(wMtSE2Wr_zI}xz zulzZt+X(42Bc#{b?Dtc!QYj+}%Si?2QGLS^j*vFcpWs$9I**!65{k1Y1rFn{q_Pp5 z|Bt=5fs4Az{>KMll+o~EWJ2DB#)WS<4q!AkH*O3)u&(k~VQ!$;o8g7IN#2PJy)cGkOBVsj zxDS#N=0*$Ka1>WfgKk@K*q7A_>U{03=u`0`}AN>DwiK^}|7RP*@+ zU}Bj&iJixJX-t1Qg_2{&TaF$EiVHPvN3r}^*A`s+;(=hi_B+~mol5#|(OsT}r*2-8HElfzbuupAMV!(q!s81H)de59x- zp9sqrcqJS*g~EK5;11$)c{UDYPgxaq7(Kj zyzAJgG~2l0&@t`PAUnKYtn~5ww=m&VJWbx9_ z8-5l){NSll@FCXW1s~tAnTYF78pM5t9^;__ksFG27zM3?V8n(Znhre1{sV zeq$Z2Qqk>)AgFFXJdU}0qja?j4~Eb=J>o}Fk=rc$V==1 zvV>6bUV|)NxZJ|_2U*aIlvJ6*%;XufJ`7?JUsw$6Gw!BH{YDR2hMQp-s^s!@2H2wU z-vHtww0;dl9e1jJ=j}hso6?tc z-a@T3vQ39CXwv#UeK}^Xhq}U# ze}nh#s!=Vp0Fk5i?o#pI1Hw=c`qqSEus=*lfKy3cPMkl7u84TR8rn6(yaTkJ)d<0$ z^SDHFYBcv+%Mey3KnQ8-Wg2)Zr5BW!zzZ#;$F0=f9X^c5nHN^U3PKF2AU}acdo$lz z3777YO87w)6&q`i@)>AvO9_^oH_J*8`&C>6=5Cd^UtYt4GFo-MrmsjQ6GA(xByZZV zA}dCf5szkujix5@lZAr6K`kDu%_y>Fv>8R=hVY}iH8-znd6NoCWHC3X+Kn?+{qZK1 ztiP?Vi>d%eyy(Vvwn4&xA@i{yA$8mVFH4p;s1PkTsD`QU!_FeyaN!nx&;6-WUX#MD zzMBNW!fhg%EN}6^36t-?`n{3W*wE7V_eR@L!Mv~x%RY;=mY2K37S&^3h+K_Vi|W4! zOL%U0LKFi#Tex3lBPEoJ>gM-GGqB(y@(6uz^aQ@bH1|%DNK@)jd>*d7WuhOOrFNKL zfI@#tkgX61;3=}WM=-&TWTkR z>^E+yMepxmIv|+I#>cYeeNFUYY6D2o{toFK?eF;6eJr^Xu4y1unNo=iw4P(ILlAZy z%$=CoDm^-dnpnh^&U4R2Dv`RVA}cJFK?)VEecp(Kp`E*9!xF9yB@Er_GLaLSTRP^> z-Fs+rCT~#H?MCX>Fhw%AbY_GTRa-hMpASO~ZRz|p99M1W%$B%)Y}52N@zplXC1J=> z+cdjF46}T<8}=~dsBN0ZdLh5Za_Du}jMqdA+gWNPTyKjO>Sxt=e`5Xfdd)X4c`H^v z$r#g+nUzGhemzkRnO(>8&P=yDNt3;{)%7rNp&8gTJ^xkmyn+|F`ni9KaV3G(uKO{O zz8`~tH;ubjeHEy z@eUNFwaow7$>;yC65D=c*Z#QH%byE zBFo1dED2inz R&yYAiMy8CpKaa=`*YMgX87vQ9wUs6^20eo)Qw=jTuy_FeG+>1NsP_J*o zl3?8jyw%!M_R6N~%f8pRY8Vxe%sjS*W>dX)jgQ30vV~z>!5EH6jETs~q%oW@z{|b3 z|C1!oJ3hzL%yDzM7-e=6XUki<;m{kU*y{-&UaI>E@Zx+Do|<=P)mr?dbafq`uc!`f z!U;*@$Z4DX?DD1z``OMl8TORTVQ=i90bGiTtMI!oglfm~ciXlCEHmQ$lI>)BA)lj( z3t!?!x=hYz3&Mfk@8CfKBoTz9Wb$<)c_N%(;sTZ2E|T9NlKVON9z=qD=$r+)+Z#Jr zs0Tr6Ob2uFYhLNJtzuHiiqtWJ)M!Dfj7i;VlA4d?po#fL**wx(r{<#{`10u*jUu6l zfS`%=i?CE2ErpX769*;f4kq5oB-(hciDM=7(!&+oSW7VyW;Ny8Szb1N0cAs97Z^6k zVxe|+HWFsxYwK!Pw`-IrV@PyZj*9v>$gGx@W_^>OL~VFC4T+!tJQmj= zhYWqYOpwP3)`b#a^%)7eD1Z`RhI2e6@Ld@bk;R>%6n;*zUZrp%e`JRg{UY+n38iS_ z6nCo>$m1_a!D5PuslrqSC1c5?Qkn9(%1#3|wF$oAafK>R5$<(_Uk+KRUg&7Pst*_1 z@r~Fmci~v?9r(d42^1%F3VmRLR0ELQqz8GYl&PQRWCMlsd_=8 z$et2ewOpqjCi-XS2nrWsz8w0g=u%N=vF$2Bczy?rM@Mh6u1+C|{$LBlP@j{cspg|y zD5@w9eG_m98_3U@xy4lbmV>HR9se$ODNW0voVm~3cHe762( z*2p)r^}ShmN=o002c4o+sQ;cDX zF_I$QGT!KniAJT+jHG^y*-v8jBg}r$nCWrZzRZMdpEEAg`}Y_;^-14oVm*WkQcmX> zN;1d3xa`I(UtC(YZ*WDn{w@TOt$&?05@;ljZ2k4Dk?o)@3XmoWkc5C<1%O1I_@9Za z_Q#aLpvi2qD?hgXys|%4;iRf8eH*RRm1p~I3}#gWgPMYU@=jW9Ll=LP=aLg*>=mhu zjVi-Zb7yAtV85)5Jn(S=MB8D%;jII73Q$A9#R%xM->?q>1<6_CC5mCc;bVl%OU|JX z!s)i(@EJmIeh;;haLGMbc}D-&4guJGFJO5s)B6R~}2B(O^d1W81x$i+{!PKPkjieVHBh!BQiwEop@q`vZDTG#HKfha|Sq|8z z9R*&pl1B^cjw&E(%$WWBZOE`0DE*k-G@x9lYyvno3zHavohfN`ad6gcwQwj|iS^THX3|1e7nc4h}W(LQEg_$9=|ALtz zL4=!{%-|*x(mn5Ddk7CMc*vAPnDMlSRL*?`;NW)ZU^Fi}m>42puYBMT^?q`kL<2Z+ zG@t~71&lzh+$3fo7&o+S7G8utFTEJEJSDvtpFAwR7%BLV7Vuxl4L6dRYoD z7%ZVHylDo41J-G{$lr-;ytQu94>E~} z`OPiQ_cgzHvMF+YlZk}iHovg~Ct`kc2?bEs>%_hk${szx*##lX1Y&+ONF~S%CSF7d zqUSdchEn)>wz8W7WENJDB65CH5=tTFHxH{6$m2ES_s#R0bYPqFn{|r4qF`bj{FHA# z-ur|1JI`+%OfYPI^Wn23S_nXsRgd z#fqw&-<&{1iEq3|1@TABZ)}v_oZkeYXMp7VCWat2zd86E0X-n&$M>cH%=yh82Eykz z9uWP{&2Jice$y!DH;p{MY3zG`(@4{UMlru>r1?!_ujxTL<~N{-`3)%Y{00;;lWFX8 zegjO*Z-B}38(?C7)A%2p-^c>+{HAd*<~O|y@L!qVG)B*F8hg!e1WNe)M&SIX=QoX! zGm})FMnukU8Y5>Vea&y8sDvgik@K4Bao!H}L*w<~O&mGv_xG4uCJ8ZS|)#zxm`z8YzY5H(%pULPTDMyQ^^T&{JxDb6F_) zL6LkC9Gvq}$>sd!1(Dps$%l#LSOj+>xtiaMhF{Kac7p|Ewuea-C{o8*C^XS6NIeY) z>)D7DQ>DlMLQ>`V&3syWc2ZC4Bws$Sm6EU5Du2`lPBYVpnBd&i(ANZ~{m){8^ZS8f z1E&ZHdrxpY5xXnNz=@cz+&}?x_Hj1~A3ec205Qn~ex9z3Pzf;kxSkS3PjH$;Da3T8 zhXQ04$s$GM1n1sRiU!VOi%Nk!K1F`tJi*BawwU0cIlQLWE5iLP@XHC#WAJ|G3C?9q zP)%^qSo*Ie$$}P7aO#Z@Ao=e+!NHx)yw?(dmPF5R9)Cg-7Bie$;~qhIemiz>+F5TR zHimld;QTV0YCgV?QB-+`Q)gU6L@_m~4<@!i{yf9MCIUig@eTnI5K|n8?<4`y6bJU= zIOv_2;`oD!M=?NC9N3pHSt8v4V0Zq`0L9ed-Y8HA&2IEIv48VEH=D_E_=-1cWNWtm za@NRKvh+828|Q88UVPIA4z@g|B|F9aIq7=VkT26mW*zfox}K5n<;d}0+Sj&Wb-r0{ z+hiPzh`~eBM-Dy)-=zjwcPtTzBLZ2_=5y`1oj) zc+Gb$E;6Pyz`49PgRX~8y_IKns4a6^ik2sSF*W;S-eq|iBHd|*^?8g`}Ww<&8q33 z4!QHPZPtYF^q6ntMr^yhj)l&FjAPOW;pB?NP{P4x%Cz`C_grw&RP4EI0!qxkf6wKA zSqN$#^1mztbMEoKD}>N|19!bd?Wf>TGgz@~+D~~^?x!67kC_c~n(^9^%?2LM5N3mL z{tIS<3g6crN*C{;aJS>~L~WvYcoT)<U(uvy_4k4eOhQM_Z zhcfldc+DF~!2O(H-=5N~=~q*LBbb=Y`F6;FRDAz~0Gwmv&kZoP%EF@=%lV!S29V-6 zAi?4I-i3t$T3NpI_N=kZ?o`}^W!!fTo%1#{eNj9OpvG=-C#v)6izqFhSKnLqiB`P; z!vlJ91GymQ( z|2#SqvM$+!c0mtI;PZ)=eDg&OzUu2bNR2+hm_}a^;<_LDdXU)3M6s5>PP=REIIkN_ zyq|~)K5t|Cn?cJFai55|#c2|KKuZ_g;N#ge8UQW-h`s`%ldJU2mZn=X@O6nciXIaJ zA$*mDy1^qJhj49zpM--;{c-N@m51=LR+@!R%XPg)dD|W^XyW$SA88DUdEbXfjM>(& zKIh1H;XwaZ(`<`~@Bz@8Fd~;CHHh4gWSI9VA_ycR*9ao3n8-;)gwMD#k#j)==TxoC zO3BAer8z)U<|-%rv^ zj{GH&plgb8K6K;0& zzA6#eZXZ%v3onItQg}T8%p%H>wjGC9J2-KQtDR1)Avb(6<+J&~3ic}?40)V3nM#3M z6y)(=l)HQu`1*f5I`zFnmWFEN0xNaKy{^u$d5loY+jb!?sLZ%5n~k{OE1g}F^8T8Rj< zQYhc;GN=?m_Ghw^uO<07>4iD@k)HjTK@^lic=;q#2M!s=^FhNLp(cE}-{}v^S$qlZ zvw)wziTfE8mvoFO9Y#-G@}Gbp)W0hUE;hbg4!C}}$U$HhD6YlGw~#c|bb3FOqLz3DKQF^iw*u+DHH3rX#~E3qGSVC^Zz1bM zd-Qw&8N~99*ja~hv0UPp573GdVBd|XKJ3?{zd=_sFFA?&8^>hxEb{V?+KIGoopYkJ zY!%6V4%tmIE79~Anyy3j(d~Wm2jbLr{sB0MEXuHN^rw4`!S;$j5+j(|*(+k$hokW` z?Tu~5(EI7+H`1dz^Ktf@C;@cP(?La4=zPt0PqGIY8YkdU3LJs+Q$Rfh#Mf~E%q8BK zM81i)e9GCkqt6Q_j`=;wNuQ9ArO!>u(q}p}eQrvYzBDyUUzn!hL<8PD(lq^s92gFq zW}PagT19-!P}8-%U}6GtA!hPOI63yl0nj#0?~f2?Iy-6U`T#(wy2}D51rzUNxDFSt z%@_Rh?ShyeLrUrKdc3h^D89cQNzDE$e0fl^e=lFR4+LMogiQY>zPf++@8;{L%#yr_ z652g06NU%}Q%EJn!IZf;n6eNrpqVF8UR0 z9S+*(RN<$t99VGci-fx-Pq+<~8sSac{p(h2`HKGD)tNyWPp^)m&%*aA8Tz5>?5Yg? zX`B<`TRr%-0W7=z6=ISri%pvT+XPkzj6$|jINGEi>(##{NxIs2{p=9|v@@_8fXhDl ztxq%TQ(@+4Noq00V+)=}GRxTC&3+2EPu}{eeQF!#@7c9{-(-oaGHCyKZ~#;J_&}C@ z#3vcLxWnFMFAlowHv}{E$9o`OS_Ju6EQ!p&2WmY}^IeULQnMS7b;3^${?lSP0MGCb z;lX&U$lkaz9wo_af_&(2z(zopikic@d8Dx8)T(%f_ICEi8QI+evQqgO_VYiaW3sI- zkBD%2$Xt~p`~!qz*(4zq|1Soin?A?+)30VhzHdOjJ6)BZ-9F%e%YM##U1#8ws!=tC z7P(W}AtvKC_)(y9Izw^5ie;o|G`DO1GhZM z8!algx|d{*?Y7_T>rd*jS8IMB4|IKDNw8Q-&%x_pXK7=%+wZy+kw&{l7;Wg->=k>h z@O%AdY2MCGe3a7DHH5wb9tedp9syccKb%gF?SO99;X{BmTJs0iEPV@&1lx>plaaLg z#(L5QbbLTS4~_0t%cw3$cCuL0SfZ&YA&wlUkb_>=rN89TTlJ?6=!^b_?(2kW%=_T$ z;Ha%=Q3Y9gSzYB@_Mh*>NJ+1xNc-9?8mL3ydRd!1-#+RsR_r=Lg099kLoBWM|00;k zPsh##NR@}J$GJuYU3AiWJQAQi`KcwiAk&l`sF|C#*Iw>BC(S1N}1)G&@Z#O)0!Q-#dpP*IE^3lXXx!2zQL7X7X8vm-dVL!c+HQW zqV`#u{q}8|z6r$~W`B@EUII*WIxvJ7k-8QYwRnx*#g_3oYWa?f{XP5 zslj?{`pD)CY+uCgMtOeBGSBq-aUMB*vSFkbp_IuvMx*czSq{p(I!5Rz(!!R^Byo)Fd{0d~}s$ugW*i7b3i|r-@ z3FCW@2Au55&)lPN-giyr$Tu|ad!2M;#qz^!r4u#prn9p3TYEA`Zh=Ye!94xcMd_Hf z8-Kontz1da59?MEGYx$+UAyLOwo?B*)>XCaG;}@l@4-(tzGLGNNS0pM5t!VAVkY+7 zCk7fAJNWK5#~gRU3o@NFi}?C7G0vhf62@7n7-M14WT_KE3_k!2b9tp7Ki4(j=Z1Rx z%&f)FTn~Q!Qi81DKATUK6B?i4&Pz+@;b5&X@S4M6R|x;N#%rsO{@&xY3s&|$UOR!p z#dz%#sFXQgJ0t)xUONaNYP{A=@p8QO68pt?Z7cjo7_aq<|5wLr86U~<+C}jE(D7R1 zcN(uX_Bj&6pe}s8*7)t?wZq;4ePYqjV~?*+7U)-zsx3e{Wp!&Hoc9J+D?5N_E^oa+U~x`YGLCq zP2a-n*_Wa*6UTZwkcuhncdAt^iKf-t|9N~wL z*M21ikl4oq&w~y8~P!jt+yN*0$`}KDivblcfkgaFj4;-@P@{r913D8&rL$*CWbJ+0; zylTjHCDzJlY3x5UWXpbohHR6sFo$gat?}ByxbHn)Tdwy#UYkwfV!Za#8tMS$`dX#{ z#CRwqo|9`xuHv00=7%c_uI=xv!B-do;5S}jnH~pTZX#Yg4fgR2^0PH zggLyLwv`?o5UXjEanZsE9Pq^+~JrU!oRzFJY;n7qUMpnV# z9lb_Y)r0TsV;$^NavcnN@?QT?>PN?BA8{RQ zEf1=?vCbz4Rh1Ry*kB2~YEbprIseH)RnHC@RQ0=*235H4G`sprM|SlDywP_hPIG;f zm+6}jpV>O04PyzqsI(o=U~Inwy$9@3?DwaJg~@j;xR29yxz zzW~){>NsMdC%{S2^fW%~*8E;vmfoB-auc0f!-DFo#vW_*xwT_>TXYlA3qQ1`$oS+f zp~#Eo7r2j!FvSTrlzJ8A9QmH36FofclVgJB2{r`MP?Gb9cJUYVS8-Ypu4lr>12m7U zi7OQNwY9Jt;>`1FPJ3g8e5GzTA7v{inmFA~w;}1T;z$An5dKaefGXrdyKgBJF zNaLs9z#KM;S1%{2^6{Z+^5U{HZ;LZ@gv4_*e!L$9=I|7X z-{QUjvRwxhPg9W{LULbeZ^Q|uDmwH<){b@!I`wm=-iq1y#A~>4B~4vq1?D)FT18P3ObK>ssSqfina? zo5nuzx>gqaIIQS&Y;mR_e^)&wrcj^XqI9*`4r&U2RIC0wJgSw9ggcD;&ZXo&+g+D} z^J<7DfSWR@D2pke0|DM~^WjBNo~QAFc;lu4I?Hd|JOc!Xq#m$*#dUI{Bzp5v$>8jL5It zY#c`oBWDShg5>cIykP(KxybUj=!~gwj|0hg>`e8_%|VPF@ctwp%{4F3oR{3kds=G_ zDtnb@+ADs8fj%yJypyWUd`_zg-fjw^de$rHKn%QV;HBd{@S>3FIjuT)`4kTxU4voc z{X&;Vx5bZ+wrd)m3uH6)@g-!|cEDzdDmWMAq=&VZBSh23y@6;561#yoFSMLBJ_#^7 zWjw0&Glo;OK?gi92qTt74dPW}y%Ssx51wkVl*Q@IUGbXzdB5iEzHCIBy%8T&J@Bq} zG^q0(g~J!YHwedU^<^F5HtOrHvo-zqPJsub^wq7z4-PR7qSv$9!cjx7XQhB!+&5HC zsOIZgGf9*A^{m^VJyxJ7b2iW3nC*czD@PlyC1X$m56*MIbih+jo_u)LkS7nG2J+;< z(?p(cwRaeoylmVEIR?1?$llp2F#G^>==X+#OJVbv2g;Fopd6V8%8_}X9GM3V9_GOb z5A*O%MlrieJbA;%t1o5s&8`Y2Cd1b?LzbKh%(+tboGWF|xl;C=D`n5QQudtdH`z=o z^H$h+A@S(9wC-@zHZIvreoM=7y0Dq~q{)4~rM319l9sg&O2Thx&0(84g>;5(<|6X3 zEhvM}Z~#4Uxv-f-$Dna8K!A5#JiIV8Cn7>9xdvpmGgk}xX@I4j5qj2!OiwgvpFp%* zz$@tw{IE0YsmJnJAN~UZ`8XZy%r;ih9${xzenxhN1pZ6tpSUoqiYxwEMq?{eelh9m z{xV@@pyi7w&Sy)x1sPrh^G#OfN+21RBX{wZ)+CtAu;CfLdd9dXFCnX1qc;l7)3Uxb zN#YHd1}Gp-7dCO+PbUB?@*S;K*9xdAYO7tWR3?Kpup{2i zx_?wKXn&@A7Cr9hvptDnQ!sHPih?zE_VHF|_qZSHF<**VF z#xFPdaN8!OohHI^1YQn@kzOE=JP}4(8B824!tzB}35PilhGT|BBFw{KClQ|cm{!Ba zK_~?dXE)&v@CF>^hM@S>8GkVGQ8WU)Izuwx?^j@1pP_p9wkBxaPh!eG?izvwXe9JX z4e;*-zIa3HC&)02*1^I0ua;cluze%|Q?`1n<=fR{?ySjnu>QSyJ&8(W|wSnKdSz?<0{U_VTkOfnpo6k-FMS<|5+|sTGk#`id&h;R|5u@&86$z>F~j>*XXlw7E+mpiKUrp%$&1#`o?M;o^yy9yBr< z=hwqUpVa^-G|tEEgGaQ-<-#75!IAd(5BrrpCNqWixa2!r`FMw`0U#ouR)|?Jx^L>YGgj!*B6pWu7iR|liUU*&oVr(Tk$^A*d+(Se_|9+ z^!X7UOdJPwmCte&1rzT!W7|3QRK$iq%e4Svg28MDaZnJ3JC>W$$_^1`frI-A1YV~I zOW?4#5C$V^h%g6-y-9fL`7T%O#sSC`Mzjt_w3fezfdL__h|(7jYhiD9xhZL%CKSk* z0a-lSh0$)sTa+a}o+)Py)QiP~QZS&z3k)a*IzDCdZoyUZYFiwU#(a~RQ z0OG76uB0!=jIRnXza%&<*-dA`aSEDQXqpdhSbb`PiPwQ2vT}q&s|Yx)$BzlZShWQc zPbS8_E>A+&F?jv}VNel_lnvhjVdp@gAD4|k>Y@r61>(S)1`cra2TKRbKvTWe^aj;d z$kGuKt``07k2SqKN1D2eF{$7pap!jn$kwtT@ck?NffiC2`YwvAwqf3XqG~zkkD)bE zsypHBy6WFjr!;!L5=B6nNTf~RpNGpljv*`b$#KXQR;Z4w2&@nfbC$P|QHiiZp%Ef| zGL$4frJ_%F4l01xw!5R5gO-;rj5fD`YFC_U0h zk7m;2R5_$bCyV<>cnp0vp@*vz+752k`0o02dy&+qz)7H_Z^`maONMN2aNvMx3J!^y zpYPIocxLqtSnFQsn2eQ24@w##!+cF&!J;7q0Q(eI7JRs_(Jza=Ycnz*ycT(egf?(8J|j^gZ7LI~p?@9;z(nZWQuzLEa$J&@x<55#y=^XW~%fJ37)qt!K!o)X~hxw!y8G|K%RL#U+9&thSOh66+RM7-z1o$Q3B%nzGTqe~VQz>SRjNvlXO8{lM zhnsb%SWkcrsqWwxYOODX%7>}@j_CKb(!`@$|H#x0dQ6LH(@14C=b2@`v$ale7yfWo zCMsR*LEzmGQoo3Yv%J^P{>svLZS2wn_i380USB&lEY(^w6`pNVudhwyg!28Xp=b_A z^BYX>7lq}3ira2na1-SqABZxaznU4MiMx=PzwO4at_?#CJ%4pkIIepBYEBgHBoq=o z=Adv~@Y+r+TpEFkmFVLb_wOdJc%uruGVX;JfCq0&T9_fnHb``R2A^lC` zg{vd$P(6Njby%t{s?X@h&+g)cz27i9#Y9FH5aM=Y-n6iqK_v@84LyZ(1H#EjVU;bMoa?P)l?!}c=!v;^I{3%=@fhy58Vh0Ur?Pu`M# zCOFCVV2lsV8I5w*Vlq@0zR~9S4jXOH-iRTUarQBk+-IA92Fl=|LdlJ`Tnbo#0Pi>r z-pGx%EAr(6_*FoFa4rHY7r?)~S(Hw<4nv@jSQ323X4C*s@2M_OqK~cp%mIoSQJ$5eF2|`tnX?LrTS* z1gqcop4*@)G|eJI%6o2)^%sVeCM13Cxs8pddbTD*L~KZJWJCHlu6-zpH5L)VEX2TP zJT?F}=VD<*6!Ogw1w;wf}>kWbp%QU1sPe6mahG6S7_*O_N=IjHQmSN?&Ea7`MQ;9O15 zbWkbehs8-*c>9b#F3ud;ruoQ=4~yq!;tGdrsk3RFkc!mgrjh)%OmKkabxBO>98Dke zZIn(UO7VhHf~1thlwx5G=w7v8V%hbyFhPJ89Ntc<05g(6>t$FpLp@HS8`cs~K#Y33 zsmbWp{X1o)S9TJ2I;O^HTU_AJh1OUZEIY?&BScK49MIZn4H&63Jx7?n#CO+{V@r6F z7R4{5I$G~QjPa(G2z5}JR34=7Wu>&9Px#fbTJ_STQMjGxHpKd9_>UJt34#ar@-m;u zX%liq`?!HJ=Y=+3Hd;s=D50C8)oXm)c@%C*@=cBjCP2#*r&G6xE;<$WB|+o1xKi-o z6LC=OLO#|RDOgFNoP5^F!V9}f8PhriDK#>}A|xQ(??nxOH4Q&F)S?1&==!029-gCR z<_8m35=^rCW*$!;KLD2JQ}SCQkH8CiNubB%k_F5*x}hP-ztc}b~HQV^0&Fc zbJ`7z(vm99JZiz|NukwSvEIb%Uk-f_?(YjGZbw$1ZH{rYO zn>PoCCr*Nj4SzV7et*rsUjDt2f3M)*)A*O@1&1%=-z)g{0{%UNe-rt40RKJ-MuWq3 z{w?I+AcP$p{wn|ehJUSSPr>19Irruq@^9wf7y0*lE=a+NiDRzH4HFi6;_nwbe}+z)l{u)mR6O$HjCfAnTK<1>~ZKp%und%r&^) z)}t&IV?In4Y|=+q%(IO{a_pa7MToW(rnQx(M~Ot;+mfIxFtF3>3DaKMAYtGcu*P{TKN5-{d zUW2F!)p0235|e&W6nziVpF#YLwUiC<4hnXSUSB{(yc0iN`@Lg>?!TMVbz45NO>d$+ zG<|5BZY@C`>D6%w;Oi$K#f5;GJ_-bdd~|Czg+si@04GM^qyXi1wgR@#`%?iQ$!6*8 z2S6f2^t}jy&L~+}gNT9zLFeQQe8S^P+(NiM+gg!?JBN`((r0@NL3pQ5kh~uN#u@r+ zn8#5F?sE)FF`IHxdF<}8Q^SAZXnfP*cOOgs_3%@kA9BHP?)i(LyT9=+skKpdG!Elq zFPYBuWK}zpwCbD$zVj1$k(Nz;P6saZ+~RD5s19e^*Y;?!ILlKWPhEL%J2i$9B7K53 z@@ulo`LGi_2uv)X2D-EBO^gH_F~~TL@8rY2by&Zbg_gv(i(=KC^XldWokOGEA}p*v z?RB4!iKlKsxI_>RCJqK&Ex5Vsoi21jxTOvj6_#`%EG6HF#={8GX=6LI8=RfS^`6Rg zt;Kg)Y1%(@l)qcEKWVG7_Oq0Ia-pAUYjZxwF00WHq@N|6?mfpAl zA;$Iik%7wAMBa((;OlU^$wmhZ162qUbDZ~!n6e@ATB?^|oP&uUz~u6X4jpn1H+@aV z`D5B)aFQ0>9B8018mEtvVd&cG}>nOm+Ds&mfa-c~G3^m*WI12Kb4R6=}n$X>|f|h4oPi#NPdw1C_ zxczI<93w_>m{R#xSu(hM53xop(tSf2y} zEaV0_1do3K(DVtKd-o>?Il{;BehI*GITb7Z|41`|xhue?UG)daw zn%zbhL_2CHG<;CSTV(^ZyAwC`k_a#;wfAPt`urs@&4%_~!#HHUQTi(sVEe}@et10;4LNh*eQZPnJt5Mlh~u#}9$ zJMLNp^eel_Xhq4485lqqyYb^4J_g~WS2MxusGZK5SBz!web#Z}Ti*9$jIF@dH+MZK znD_#ywYBo>68AUgZnSDGo^F{2PfqMI>4#B8Xa@F+6H`F?jsc_mflnYT-}s=nCuR{A z)vetqJ$jw8ftVenQtfmN#X1#6DtZUaZ0K6Qrw|IM>2K1aMLie_Mcp4BRfxteqP)SF zvY&$Jg=|PEStbpeDnEl(8C&R3m2O=mGInE^5O)9qCzyB}vc*Wv>J7%0In5l;3(L`s z6Xw=&lI5d(c`@kQQoDvKT$}?mIq&K}>Me?;c`}_{@wPar+oVZBNS~?l&<*rZAMg(} z5?JU17|UR3h}XKMwI?NDLw_$=54A;o_o%ISFDZi*4P(zI;KBJV2HQ3q6=$J##lw)> zC=BZiFijt&tv?0Y44| z6u&&m8-t<-QVmQc8E zdvPEKHzWX^KUI$-m^cf`g00?QzuTUq%EK2q zRCnIt?~o_A z*p43pgNZicPyek!67sF=pm2RVN)Sx!8V^6{T%tJlb#g2tg}BEd4xd30#6Qs_kAsxs zK_Z}6wsBrGe5mFnYhr{0)0^rjSFYd6D&liAXCP9b0p_Dw<|JAyPPn;LrNP8gKohN( zGz0WV0Wib2uYg2w{(v$)nKFftox#Lm@S+_KMzE`)`ZM3Nci&707} zXx`}wNM%jIK%LKM_^dYeLJ68h|D^H6+1N>ajW6-@bZ86Bq>Z~F;IOeMsYJpk|ER6@ z2Qe^rjd}~OW2Gw#JC2v*&j?_{^{)E!p!QpWY?f= zsQftGev8(EOQ8niI%}_OY%?AV8{U0c&_2$Om%-gB90E9Kb(?rv@44?MJ*zViTBwmqwhE5hE zPUUUi@cvN?2f79|BkeLIX|+D=7t}MVZL8t6Z}@Pi-TMn7RBgK#0nft9S*lO25^*Ok zTnvnp7A^$&n09;$?$8Fc)3=!pYPXKlH;>s|Hd(h$1-7>>zSWuu59w;P^$PgXKilkZ zr+M2Pt=3e4s3}C82VaxL65F0}Mn}fjjxsD~fKqbjC7oq9ug#8FXZ6WeIApm}s3UTt z7xT6x@K~NZH`L`Q|Hamx7r_5Y|Ku&d*Orcp8M;O5a-y< zWp2$|n1m|NPQv?FPK42iwAHQzd=~>q_iGoBzvMFZ`?4JZE+UvNGtb6qK&L|+1^*~l zf;OsITMtFTA1IvxU{ok842_y$)qX-Opd6a^ImBi?g+N%;8+ndE#yUasjywNK2&N3P z>)#`z&>C^4Qmi$hgsPy6|CeEZGRK@SKKV?`9m2dAAe?J!k*{es7LUYZqzb zqtbegkQP<5BRG5yBpe+682|o`e{1>oPX2ZC?=1e!rSzk3;{lYigi-+lc10sk8KZHR$fATzv6h0)PAdJzM2t#Ij6-{8WQzP=~j z`+g5z-%9_?f^V!}b>k^9XMFa|oVd?BvSMG=X0~OW@oMJG%@g&Z33Pq9u34NXT`QWz3YCe75RfT2(M<%|H>Lid9? z9tn%A6&CJ>#SbsNoExQ#*7O>h zbO&~Qb%?(sGU2<$l}ehgCZFP4LNMd63&9SGA8nKPdQBQ&w2jl9qHWZ`wFD{@zFt#H zaKX<^{3?zgV!|H4NPiy}68tdiZB7c*#^H$o6D|pqgu%<3VY?{VQuMfCMOXOCo7)f{ zI9X<6Vua#5DE=$SRv+=*6#w{_LQH+cC&f_u5>bpk;%NjNc&S&suf{=ylkYOiUqXm( zmkAdEM!_CLe@nJT)JKIR1b7XlA1YzzBw=Lt>#jU+XAF!-g10d5Ym6ewLB_}inlN;d zL!{54{8m@W{CqX#L@!R|@2la0?F;2s)DQ9NLikk#hoxUb@Cp^L*PwfYer1^S{Y3vD zEok8n`CBOeAre6 zM&qfpzD^p#e~^GvuIZ!xix3uwQ~c>Qc?7o{HrqoT!Rr+4WBm@eD@=ad(6I(qhu|uL zSA<}L;EE7TcXo%T_n^F}-_miie(Nc}eMbrUVfC5n?Ti=onTmZvA7x{l3$oGmS(KO$X6S9&hr)^fCsUFsFAbd*-X@B>WYvW_l07 zLlwR*+N--q@~8CILHes>D5J*&bI>!j1IRO;2V0SfiZO|7s_gLn8>)>{60H^NL(;A3 z3DOmNni%CZ9Y+zq!~`s|8KbKEq)hD}Sb@=QvwUd;@A3%PtWVwLH0_D=YgBA4(2U>C z4XKXcPp?U#^c9GZ`jbkqI|R2gyxf!* z&I@#wff>=BfxA<*Cn0~Luju7deuCc1j1xsq#^(iU1-&Z4--C>6%40(b1?xT!9OJ2v z!t|R$0tXjH$xq_rWt&P985x7$e8O*$_<)^&!S7R-NPEEYJ6LMUvxxA+^xHx3z8B4S z2Q|Fl@ET=L_;6Bi_!vcx^d0dd6r3mEVG8Dk8yr4R!Lt8346}-{m(o3~ZW#zkZ=%`5 zhIstIoDgYa5{A2`O@e+&`MuXG{Tfb>BxZU){6=DUdNV)FbP*|3@L2Dk2p}z_&dK-? z$}4k}`2~iC~CT9YvSv4RaK~d2%!2QC_uxk+Oi2SRX8WJ5BOt#!u6B*tEiOxM)p^9JfojBQ;WlA|srmX#5mSUrD7h7FHd`TcqODxIQV>_#UN;L+6c&NP@l%LzuXZqnD zM1sO`%elln%GCLq0b~3ElSo*FqrXcbddY}oebI$J4wbMeA61_;n=re_S7}8_lAa{OOef zU)CQ1RDW!*?hoOE-zwr~-(_Zb6Da?67n%HZB57bnh~G7gpKs!m1i=5QpGf}8DSgX7 zj=;aHPvVE_vkk6s5r~KCll6P`*J6AcRi3c=Bnq-V^O2)bI^QG`S)WcI2HY_wzYHt- za(olWmH8>ytzb33`cS41w?D8SWDjbQfpOjPNPFM~%=RD`%QzvE0(m=#pJYW(&YzY3 zs`%COWPT!l$amlR56LTXzAXoa*+2_7hcw@HFue~V@(b)5cjWRC z1IEmj$nyTuqwF7slVRnJl9vPaw%j;VB=&$1;1uI}mH4cP#HdH`mq+~N2F>|Y8o^=X zd1|ka&wlPpfKPBB8DnK`zp{VK^-5UH2SV|TKl<4|%Uelxiz=>zV>B$~B2)3X*KlBR z#8v#WF0;tUpT>9K=kyC@eUbeGe2jt}NFQiH+Hn3>g!B!a7vT?6<#7u5LIsxy_;dy5 z3-}lX=Loo;f+f9A;j%n=JW>%FZ)yU6r;4{w`z{E@cZ>LKik=^EAo&ZkKFUS>9F<s+9e;(aGx-y1) z5JSVI<%JotXQaN`$fKuh)%aWJH|T9RhvaL@N7ZL1Xc(n$ht(&`zo5}9e>pG$aiA&m zjmL9=U3n(V_;ly(8a8dk6ni|Ipuj8VS`C?&Aef0M34#7j;G2tTOH#x+w zM(|JxoB4s?H0C#ay{ZbR#-DbDv25b^>K`10yA0E+@Zy>4ck2$Q{@HfId)yyvKyH1s zcd~ZIogFGm$cHpI;C{+1Pd3U2c~4D|_2;DauwtZ)*K5iNzaj(^Mc~(PexTP$@$3F3 z@WaZ}m%XCC!&noV4)nH9RC~tGH^ca4d(-ly$u9{ekdbS`-2~@?rqriGQJ$K!WO?eT zJS`)7@fT%}NX?BKkxhiW!^#t7j}i#~+-Q8rBZv5LUnu#(dMm*hGJnLE5L|Jc8BZl9 zeUFfT!9KG*4)Blo5gc#w1O4haGs+&JkI`_XCAX88^wyC7mnYD{fQ_0Q+IPH5%O;k^4NsZaeM9-@KXv-1stg8 zR{GETHIUDz!^7|c7185G$ZHKSBJH;aq>RK@!$gMsI}r$a8#uoZ|CRL!H|+-jWIxDQ z8E@WX7J&FCdBw^60oM|I&>X*s`rjvElRo&1Xa49gj~Y+5BdJl=9>$-E-^*Tf5+~Uq zPPjWoecGn%W&5y-0>6e@#^@$WaaPZ?^{b}xS!W8{!t{jiGA#bB? zT8JpyCzIy2*|63NY<{t)p~CBE3d9jfAeHB?c7I0fr9JwiSs1ioGqk3DdtAEw}L z5kFADhJX({IDd>+1-xItSpSIO^m`PXZ((?wf~kH%e}jU_egl3~!K8nHS1Gtnz%>f? z3wViu#r`?)=O{Q|ZDq`!!tsNfzEKSsgb0v@5#J1vYqOvRUr_<;(p74YFxW%)Zm zKd@rIwD;IACwN^5P7w0krtoEXHYiw@=TQZ#@(Wnh7x=GHutns*M8OFHo}<$H1^-i3 ze3FQtsNgCAk5RBkz#|k~BH&>Pt`qP;1v>FfJZ1e zU%G@{+kdjuhcy&m(Piob!|N2jUc+!f6kMTTpY5m)Zr?SW zU%0&xo%_+4uc2qpF2a4-$TFgLAbVgtTcnreHRrz@6#peu95UFmOo^F5g&+~ zXxgtFS$PO#zQ_EP7wNG3&0a72*s1W1%`Hf zt$Z2tolJ+6-xe-rWzqt^tvoAd}E zdL3|$<0I&`Aqet(aG2CT)}MpdM)$9k9^jedVFGA8To2c11+r{6(fh0T4oU249>-!SX* zkvBy9SLNgOiuE9cuMz#+ebMrx@of0`u@*IAymO6NQqjOsA1Rc+1rZbylD{iO2n*|h zDP&*LjQZ%rLcf>eUWCBvO{%=MDFm-DVLs1>@@>OuD=r^ZWnlE{X8Bx%Ul79gBOdsx z6n+ok$A$0@y)N3n(w}yLzd_-92tVWfXnF9~xT#NdKq7srhikNkM%9pqA3@0f+9b(u zt$?R0`Z<6D>)uoLK%57y2+cS0Dc&7|oq$1a57$?id>y8I9c;f1XNV0^IV@kUAEe); z>br>O50&)8=s8V#PNJ7@bYsjO)g6S_Z@$2%^*(9|9*{Mjk4^&n^$6@|pas{K5L1Ak zBzT<(tNF+Np;BJ;#9uDntd#h_Cj5#JKGi?Uvq9l^6Mk|Ce=*$>gZfwH^$Ywxj2|km zTpuG9hrOXnqWYwIH9p7SU$tj*etxH_KSBZh8kK(@;K064vpzipuM5o|xV~4Lu<{E~N?@~S5MToYf>uTlJ05q^Q> zH%uNY5N_%>0j4}Y%np}FJ))@mDu1C*z392zf*9Jr89FB<3tDiB8j z&<`t@f1_D`YOjHc5d2qy-68lWA-_lQsa1siiE1CIMmyd%jMiu5ceY4Bhtq=}3k)5~ zw@1Mx#NP^}75s^KG2S_aakwDz2lI8-$D!$}JiHzTdhaQHaR~Wc2-uXqXPLuNc3hU8 zU5-8Y670qnaSMC{wOA`z#?7Sk;RYRRtr$dneI1Ix+Oh6Ou}1qdL5U&nVJ_|y)=3c9YxhHi{X ztO`5?=tL=1oytZ1%-+uJd7IQX+j;>j{kI*pgX14n@lyo6O2Ll^Sm~?nkbsw{_)J`T zf%=)F;9m=Ps)7Roo~Yo9>FN%wUn;m-z#|kqg)S_@d^bU~Pum3o9;o2;0{`$aGCp0z z@3%|%kci)-;;#|$+f@A70^VT4xUU8IJ*x0!{;O2H%)ds#Qw07Jh5v|v=P3A)fTt?> zG?Cv#m0r>tqu{gKIsXw+_`_7ZOg~V;Qw09uA+o%W2zWo>|GmFUU#Im?izQjQ3DP~d zON4hycZYPJknVlbyAc`pmNRJu<|*N|@RDBNw-tFDX)s~Tcz75 z-MF11e2jG6(ruJ(hjfQYzDpE;(*0nENdK~QpOfwr(tS|6KbP(t>0Tn;ROt?u?!oPX zUb}P~r2BK}mPq$1>7FCq{?h$)o8(8jd9wTuN!XNkhroMKx^>cRcteD*l5VYZ%cVP2 zx*5{FP`YPIcd&F1%KF_CRnIL^aL$_|zYOV~CtbzoNfLfp^0!608>QPQ-JeRlGo#YC zOZX${#!38Rq1&J#QRK^W1WP{r8`TyQ>Cl;EUg#iNRjRa>3;Nk5xzsZcS-jW z=^p%@h<{4DCDJ`fy8WcP>$d`LwRCf(dyaJDq`T_@f%lMfi=~?(-DK$={*A!fBHdp} zcb0T}R*CpM(ruLP?b5wgx*z;n;FU;sjC50eDZ-DF@R~XS=SuhM`vts8x^C&_O4s<6 zh~FUHd!&1cbXTtw@z+ZC>lFfiOu9>?t4a4b=^B!+UrDz>x~d*)S_GYh7lk`fx{cE9 zzeR+Pmu|aszn1Rlts;J^bRUrJUg@5~&opB#K)R=I75Gl+?v?Jfvb}1OpEIS~vsvIj zCEdZ&y=#*Q|EYApY!+~fbPJ?=o^+3v?tZ_(^Go+O=}wdG80j7--R>6z{x<2Zkgij@ z`!|aCHt9Yn-6H9xN!KFXEzb-5-$}Pzx;fHKmG0r^1m4TiT_fE)r8`l&$4GbGvjYDf z>CTXDnskqo?w$<-?;+{lCf#eLJ5;)<>jmDNCgC!f?DbeF6Z;d#e)^yY zU-t*$mPj{My2r`(sO*~al>Q#fQ!UDEI77hgQLe(bBv=@~Ub@a90`8Qq=NJJyjuoz7 zy0wV{PCZVz?b0ndUcd=SGF-YPCrJEZ!tIu>|0Ds|o+8|wQ-z!05U$Cm^fV=i@;%Xzqje;)p+ zzq!CJ1!f__Mgb=}{poN%2=KY9Ax!t{CbdSR$| zm|ozRK5yQFnbV11+zZj( zH{PV;xy1_>6*~&cXBL(SRA!aamzGXn>?kf=2q%`ahFnf=Sz|K)~5*mQ)GC3ses?N3p{_Ta4ly> zmb1N7gvZ6lKWI)AmRcg>6&~XZh>KHrDqg1MMo8&ZxS(ROsPxK3PM|`m zM1EoTh_UpduhM-(K1@vEDVOpAHI57COT~-w#P-TBI-gjJ5Rl?ir6=;=L_ZooIzQr! zd5o5WtPhosl9MV;G+j|nE+*GsbiB;v8{}{_P;7%N{Rfl0ddWlaq1=HMi7)xKaI!x1 zC5*AY?1to>0)7=Y79VsFtXL0U= z(wRk$g(dT5yB9j>|BUG~=N1+hIA#~S7dYID7C06bO)o7haLk)MqZD?iaN!uobjO68 zNitxuV>*x#GAScn1&wvMi)Jr$6qc4Er=sZ#9Sdg8EGs10;5o9Td87!Tdr&XjWPAOfnDC!Peq)95c$?ASvSnBa4}E@d7t!78b)gOfMk%iy5zA zaq;x|vuA>z;<<&Tj#*%XX_ppGU$~(7JclDUnppOv>vBO!(mBWBy54n_BlB`*v|vH; zS#C$c?9#%S?s8;B+`Mr1l0xUqvV!T(>29ZUO1hRe6;(j_ zmvS*6u3O6H7Z$r0j&;nZ>?6y#(6MOtym^j-!g+=6!mv21GvF4Mph^piXQKKXvuA~u ziensLl4yc0hW!;`9)z!k;7Z;*tLFcU5^Gg<#LK8@3Z-(zI3MIuM z-8hQ_3JPzXJrlVUJEUr#$8~*HSep3@3d-g&BPFE^Zk-*bHdkMDRi5M8vSRma=poud z;k;Rnlp?pgWZ{_e&tFhnTwW^T&YM2_Y{BA$G1De3EG%6(ZTjrua~DpVKf8GLO!V5* zM@=g%zV-j3?tS3fDz1F-bFZ#sS(X*~Z)C@DB;zECaU8`s#xYK?LlOccV1l6m0N z()RZ~GjrvUEGL0wAN=(BoO@^H&YU@O=FFKhXXajYt&d%Q+QP_sG-`dl$hJ*BeXTpK`ea&%c6|os zRZ^=egLbQl{zv3v!cJA5+^)xZzZEx@D!YJn=7|>8L?QLfUgXe6<6f}wD zu!MJXL{T?uc8J+EyV|>0!6hV2P25cHS$4B0*iRQ-y(Jc7?sTXntFVidGAD@QpKZNqHXcKu{lghgAF2HDXL?b3yLAAAG<1k!o+(x3tzl|j!1om;Mg zs^2zY(@#7mor|B`c$NZHR=@bP$fO>aJfww=Qat{Y(O*QLx{UQjxhORdg*`xrf@2;N$^e1J(37q zLs<1e)qe^^q2{Etd!ilS!KZ-eMT<_d|GQveu%(e;yb64J_`j(3WSVmRPNm0Uo$Xz$ zB9%Uq(pEL0uVIj`;N`}rLR%AIU9+|wzKiy2+XY!`g$vS-3B?z&*}McNn& z??4@xi^XDB<>gy)J<=ApYY}UyU{@4t39e$obchDGZ|T||?Z&!$V|({?ynMA$!rtPB zU9eeN=ZW!~s7KlRTt`RrTFm8e5kfUfKEPjwMNrd@w&m?@yRf2%H?BPy5p?wyRLe_m zULQoUI)y=tIiTG(d}IaTu6cr{7Cgep+qJD5w$hGnm{!pD-R(P2PZvMf(#EDng7Ki~o5y0y1W$Xi57*(Yg~q6N$A*I&1@^Xe|FY}?mgyQK>* z8@akt;Z0qgo7V4)VST)-d*@Z1(YEzTt=jJ{cpyZVc`p%X;*Ll=1$9@}Ed;E$POX=NUMm4TFe7 z-(q}AE+eioO5M%#Ko9%eGL^r+GzXyq$dqaRolU~_1YL$!vlbwPhuGg4bMIzo)tEodTOw#`5dNk(=OPQ z+hLAK$87NW_HH2gSokdl{Q_1M3v4y9KvuWG_5<6JZ^yw(@xvU17W1Tp6%H1+JK<&C z)E(ThYx_p{eL*(soGt7%4Tcj_97@{rrB*(X6`tPBo8hX&Ko<@K@CS-T%zSVs#CF1! z2R#xL^-s8_Mb%v~-m=4t2nMn~2T3uwuCIfGLQJZ)ISb zdwPb;x%X+cUvP%pFQ|K7#s}3tfqfq~_pxVWxn{M$7N4v3&s4ni6d4~@ z_n5jz)V|_aTt5G;+J_r-%lh)vK5e$TXQ+F#DW3;klJ&+H$hf_a*POENM22LA@!Rd&qxvbe-7FXVfFtVphvlo^C;1qAQPw+hnyhzB-Q()+uaW6N zb&sffv%1IBeL&r5k;0?msK=prI z$*q02<$FY>52ncXswwulVd!*kiEi7_wJExdT`MstRT*?+OF4V^o;Y{1snRXbA5zmH&V>DVTjTgmp5o>fqn zWRJnV(laEPS7;YJMO)f}%FgJ5*}tiCOHA0$j4J#yC10PF@;0LGc0UZOcxpe?{aE#X zL-Kg9`>9Mn(Y|ND%J*T%Me~iazCl%g>bPrG?fI~Hd#{yv#}!?JcDqyfF<_^s$Yt|S zPOjZ!2V}lfx`$tp>Am|T9roSshnPxF?T6h5Ww}=M+`il8nx`mtP?h_zd>Z?nq|f~y zvfd9{esENlU#H5SNKWWwSYg z#g+V~%16JFkJNObjIjRv@aw&VDodg^9Ul`pCvh=V4<&LYDSf;E$rplj4-XbbrYW>Zxezf`r9kTv| ziXSJczfrY+MDfSI+k6|Iif`lT`PO9FrMzGju4+7I#9KU#bJ=gWFVe(}-D zH?ET9r;^vSgWew8xPP?qGI?-Ml55VAD(}K$ksyQygK*ab? z6DcaKx~Im@fARU}oqxe+&fjp+Sxu{()_zRu=Y+rFqU*P#?j}A*i5+`hGxOObEs3AzzYXc6RZD{Z5?u>5g-mqO1+Q6Pu(YcD@7pU`YaQ#PxUk^u7 z;Jdy+xB_u%K(-doaEKt7{7f90QB_s3M+N7Zmx6E48D_pl*rws5XCE+hbFmpf_ai zlm(#;xtBhjU7^IJ!=4or^xNY{ZKuww+S0WFV-SPr6V=v1Meucs;Go#hw5i8_1vVdW zB6frQTtyS@gKu1Ie99b&sLCPsNhi>y8Bb!XH!?3cJGcXHZm`=7gEiL0li;UdPcyL( zuG*03&xAe@^e>zjte8x{-RE|ePqe4yh~kk`CESgdFTBFu=@G8FdOkUk=qaflPMkBr zk8nbv*d2-vOkzM}-X|>U%mJnMvH82Jn|ER`n_-77Y^$3I`Ai}m-OJ*sn)oRaPw0K= zXWb}Hk1*?blS>lHjY|Jq&T{jD^MiK7Wr@jL;grPSN9KwCRyz1o-P=S=<>XdjofX}N zmoRV~CLsxecf22tlQ=jdG+(qlq371Uk$zpeTrqIR_Abrp_z>%Sw!~`AsiT29ppOzM@ew?z!6C#WCNi5;Mp3o1X`*>F@+PQ(x%E;A% zYGiWyCp|6l5}x}*sC?BiNjqDUmlbyRoxDGf$9WRcVQ?ATd5S;jIjuOzVOn5N4NZVv`q!pNfl3 zUg5p@6d0~bMg&{&uAU-(q9?ZF2E}Z#a@Sflh!fq~k!W8E zLq2Uy-7|$fb!>`sTmC+je@ih-?0_VzTbqyKQ9AXm7fr)vYW!t-dvNcY>C-`~>-WA59Sn;KsMkes2YbBBYNc#31nWFu{x6Pq z$@A5QDTM-!_)zkfK$aqWz$2SK^+-?CL5$Kv{*e)?hM(#6Cct9JBl7 zq}!E@D{)TS#-r7ray~n(OdK&IRVsT%xt|hIxeQH2dG(fvY}^vXYYn_HWjmpgV%N!- za5zl_RqBLWNNy2oKDOiSTXAWhW@E3`1Ovt!xA0`OtW^PHg-*X4MU{D{1&UJl#5u3WB}YV0>$4a)RY2-OtzT!e%qvt8MFfC9k2A zy{;uBIYd_dD!o0lXNvTXN)Ou$Qq3gW8rMubNNXrwz~4XM*Cn@X=T8*ibOhc#;};R( zhv4sbT?Yp#+>Hq=^4;zPGZL@<@e72pXcyl8ws+zsixc*q=xF&~A2xfiU|jggE*O;r zX!1ERP7|%IN`!2IIqCjMl+?9C%J@#?`JWgKQhTTBeqqh1!<(sdCAU%I2hMjV2t1j| z>%XVfKctrVu&vYDmE6xl8FM?OCjLPL{;ruch7`Q11iT@4bjGLv6SgUs%Ek6!80``b)k)DhA?t;{8&5oI<^|HgUX- zzcQpg8ps1d{XXXNY}lTGUu}V;!hUs5Oc?558xzJKK2p?tBHx%e9+CJCQeE9iyo0$N zC+JqhnpAn3Un;O}J5w z<5aATioRxbU#IQ|XQ}UwrWW{!@%=|7KgQI3T;Y#gEz>31ND^COzs#WKQ5WIcs8iO; z-P)l&@6p0sh;i6I78DLQ0vK<)pTPIh#IwlTvOEtEz5L)5-6nC_`~FK?$jgMWkjUDSL6zHq-pw0^M>v0m!Y%8sFqVeqOI?K~dN*r5!vb(+q<0Zn$ejz+`> zz^|!r^?>$Xv@Mp>KQ?_j9|pny#vi%(-DLZ5;;!e59Lb>8=h22V`TD_gJFiZ6$1}+| zW53Nv=w>}%9q846HZD#Z2kvpmIo_?+vxxB66!H;Ck$<}&LB6Fa@1GJPx&=PR}unxghwBcdxY^GB}lNu0uZ_uit}^hvpPs z>&SVYtkcFJ^WLUO?=S8T{nrRt+pWpF{p@69p7Sza`!P0Be_VH1qh}a0a1d=w)n}>Y z7~esy4|ILYd0Fo?0#fxY>kj*;x0m&a{#ykZI36AGDdZxY(w8=G88?r89_RQ*wO*A7 z$1q0iygFSyDY}bgCS5+3qjW#kHF1saBWhmaym~#uDdUNCC-azpdOp^t`p=CvrK4vA zeVFtEU((5sormch)aaZ__py#jS0C#w{TD<3^``U%Kj*o~wi)$y@%)tT$2@SS(XpH! z(aP8~F%Ira?l-*q&(WmcBz^uN=4eL5d^(mgHaVT?*{#v3)6@7)291DLd>ewZru}jG zV<~eGXJkA9tuC&{t=i~WP|JivsjcpjVSMY5EJ&OqUL!V9Rb37T~HmaXq z&p}P5?B{&ve)nt7R%yB~HD5rRN4f89TJ?HZ9@71U9BA`LBlKLl^8OSZ7MnsZ?M~4v zcAboKEY0}f`g=4v97O%xcK+$~2U76bG;%(ki+SF~e*|ze>8IyoTebuJhHs4|<w>uG#S?EVH=C>Dg5Vwojq~igYsCjT@a#o?Cbx!GBat zDyrvW8DIjI=5j{Jbc}2LYFEO1*{{jm{wefRAcZ!aelEk$V`=!V z*Aq{{!Os}afYz7Hi*)kF{Lz1{@1>s?_G`E}zfLEwxp;krZz<`hM3~2Vx_Wv1>%YMi z{NvD3>Ey^R!+hVPjR#%-a~^))2uRicx*X|pm?}qp^l7?25B@%Vd-nb$xjj06j{FYu zGoItyGoUE>x9325yR`8?)6aXuKTXD=*E9Tn2JQYC{0eF6>79b^u@t&(>bTDawP#_3 z)A6GR>FN4u5OQSGrt>+TLL1YZPCmFD`mYsyn#%U$d~vidU46mh@GEvSgZAS&zHOsd zCBi+RGhKV_j7+mzD>pVpfB7{Ya#@>34s#iPj&JaAH0j4OW9QZR$8x0q>ZXt%I}gtr z?i60~GfwYGlg{l5YVB$Te~!m@#>GD_*Q)icO*=nhS!TJ#H^y5BA*ZOUcfjxcgZiFgKi(zYDU@a*l6QCCb|Y zy*}0@tT*uOC;M^YzW)UE*%`S#{aQN*|CC;C;;&4ugK;pQdJj%K)9H)+0eHBp=tBdQeL;QGrjr>P?{ixGPX!AkPh;K?U%CtY`Q>*q|FVD0xUHG=t zq_Ro*K0tq=-T1cCqd-vGgFl~m7BkY9->vp5xeWh?Q6?RK^>(-Z z1@y!QDRkEX=kfY)ko)gAa-q}No8hK7 zWDDPdlNG1AvR)WW^PFkz*U}l6ja#Rm@$0`MQ?x$2$KJv0UNXd3sS1*7LEf zuw3BVg~!duV}a!!-|(B1&raZWj~t$OKITc^9`_p)dAMvCWsWC@I=#K%r62k6?LNEO z#9hzFb#p!V_Fv+;9T-1BeOyPne&Bl3{kYxD+OuBNd%X78IJjI;SKKAe$1!cX`TuGY3XC2<#_e#^v9=xAHRfOS1WJV9n48jUl{rI-yq`0tIy8MboOdx zbvn2%#*249?d+58T;8oc9|z6HtC!oBj=$Vq{kQJO@$u+%w&ubfME)ZwI2fOvuQv~J zfqZz!Q?E*dhfh!+*O88Ht~cF}`BInW8K>{p=wzDG;bl7YpWcq)d^fee1^%Su;ru7_K!Iekz|XI$yp!T9yx2;#@1kK2|GPiqRE;IEF4$F7s< zJff8iPEU{D4Sf1f=Qo$(=Xke8&yp18diu5JV+bFwok{ouZi*rQ9<98MJcwuM_`&)0 zUt>}Fd>y||&ZpPQW%xPHp6jSY_}B^Pw+nE)SE=#=gw0;F_fEujnz0V5aV$R^tJqoDZj{jK&xbXi3p9S0r_y@qVfXneE2>x2nZTAvA2G|dH8F1d$i7o?N4fySY zM1KYZ{s}hiw}JOxiM|K8{2BPA0AtS*{S*)fnEy^x1o)@@pdawRp2K<+Q2IRD2RI)P z1zZmpe*v`qkZ9VEh?W2@0o($(7tr_;(ZzrZehmHs{_+!|{GWn{KO?#Ua3|oKfF}X> zybK-#u6_l&9^m^Ac!%MKIm1nh`| z4#0oCi!7aR2IB?cV^ys*xo zaX`&w2Gs*D0<-~c0Bl`v&`p4fD-2o+7y&#BcpLC%K*5y;m9-jl-bRBq0B!?(6Yx{O zJAkjZ8}xqw-`i}^7~tFvgRTTTw#A?)0Y3x01^5%-=4}Rj1<<@5^#k4oyblQMK>dKF zfJb5mz0qmV9|09z2Au`y27C!H<648}1FpQ+piaQQechnv0Ivi76OcJ*(65F-H{ikh z40;OC_zwoH1Z)G`1h@T_*V0r(7H2jJG< zfR5i9^e=!n0e=Qm#nFDiZ{IV>@t+1|9W^KjxZ{2FBf$8*K~BIdz(T+Zz~BGDpnnEz z{Udk=$oenH9iSSp9Iy`Xvp=C6G-fg2T)-y4oq&e`XE;n+1NdQuNv{J=t2AjbU@c%1 z;CjGiRVM8K6fZET3NQ@#F5p$bI{;_Iq|9oQYHCbc1-K6IWx&4ze#YU`P5KAGKh>Eu z0;s4rX(`}qXP9&^U@zc#z|R2{OYjWv7eL-plfD7i1Nc7RHNd-oOPWmjtFuh{JHWGm zp96f$O_~Gv(Mpqk0eIzXlYRpjm;>MBJe-3DPy}`xAO`5I!F>_@%7E5d?6y1We<6Y(H)lIc=u+xc}Q8bsMf z+-1J)JIW&wfv<6)oz|1UEAw36#^tCL`)eNL*}{KLS-yyq@Gb|1aj%L*Hf_ENSrCUu zjjGOC+fu&ntR~LWfwaMiG-!U$U>P80c7C8f29e9cG$dsW+7M7~y}4WdO=oy-$F998@fai0CK9z|M9 zg`KColhg3d3GH_#(yraPt$RB&ncvId_j4q^@*8frp=~4BN_&o~wsdxHDnF-5&@-Hr zcA21Oub$Q-^Nl2>$$WU{ge>5#>fVN#5=RlWcsb&D7e(?8&&w~9Wey^3H~s~(szN(oW;FIMOuPs^PTo-(pX9 zMWSpir_ngh@8edb*v)61{TV6_){6IHP>Xn8-YMEP0-Gr|4QU&@M4TdS3Z9C1%tiv+ zoN;#IVM#x1U zfS+OK`!4bVOz%ht)tb2`8J0oT%~%KV9eD+wwPvJfrjxRaLb76xRx<*gmEj#O6ul1> zhSwl)8Nl+6!K7)e=Ie;3m40g0T1(AqxUY)}K+hv)gv;HCtZTX4EePBSFg>E2b%*&~ zreD6@BUene?^Qeszk$o!oX67& z#x}YlRBpBbPZ9GZmpm`IVoZY9y9CBXCyphp|6^Qpr` z+lppqQl4=cdE=gO_n2!$mx*=A{(WSsYe(P}z;6L_yz#BjPR@o?{Vp1E)(5`=`KV_4 zhs-+PFi7d>i4z$2jlxxO@R%i7_`^EjfFodA>zOkt~{3b1TgVPfR?o8D2T7RgqOS?&`JAS_ zFXP*g%+cgpI%4M-^367%Vfpa{_nOKO6oM%Qk#&QSv*dsW1QxTamr(_A6dT! zeBs*>_y)iwWKHUjVIc!?PY-Z(TP3dZ!P7KjeLsqcvHl{L=RtlGi9YI-eRPDMGhOfU z^OZpM1<*7&YC?%vY=ft{c(c^D=3ATZpE& z1ZjHBESheVkUu8-dJrgHV!k|pz;ghPk8ucwjEifNDaOR8`O?^fSQF;nXWmH7R;8=b z-9Yn9&sH=NzoLpPDycbxN{mQanR5RZ$Td(;4g%`{`9dz690GZhC2vkymGwH0z9we_ zkG`lwj6TB@qYpWG^o`2V*XJnSZ?3e;UG?s5=KGd!xBuqcm-3h9E;jSeF{u%DoZ&ag zzt$Tm@)_j2S?ad|R9|-wF5d(^4R8rsMj~~lXmfL$8Z?~xV^J5nZ#;%-fOMxMITlT;$lANrkos$ayqkP-qtKJ zE{|}zce%`;x!i1&8x!S5YR9--92cwCs^zsqPN9nmVH*@ak{iou^*6Il2%}hdAucNb zE>UmDTdw?%#4zo2XZF7p9yFLPCLr(zf$s2CWA$L0YLOIc&EpUDm>6R3n@FEHJ&+^G2)C_t&WJM_t1GV6zD7|=Vr9L%GTDdxCQ zOBfPQTFuC}{(X}USjDaqcZsLOTjHzp-x`nHR}4DojjErt_Nd0$;fg;GE1MlMdhtY-a_h`OJEt2w^4aJMVv>q`!qrkZ~iPdWeeg9SnsZb#r4pwt&*ey}VU&U$X%AxZm?YJ$8) z<*iBHLMnDbaT%53(q{z^ne+loic)u}r_@^tJEt_aR5YcwI9A&2&jIZ@c^Q<~Hl6Zn z3SsZ&lNWO{>w`KI-PVN5IRMx>=sM_t-%$YlI#ro%c9~rWSo7eh0e)W3+$V9~%Fpk@ zit-3Vp9+QT8to4gi6QLGPbJ?)2*pA8^KhS1YVab5#K zmq%a-oCC1)=y8b?YY7`?3)W1?oB4M{EsRs($PjTq(pptL{9KPGl_4-U1&_4LCUjs? zRVL=!GcecIW3H_sVb!U*ERH(vV4d>^1pWdreUSyw<||C|eh0Oroil?L`h?ez^AHeo z=9^^rU=_fo_pSBBajqg3nr^{{%OYoshX(J4@BbdS(vUp_)+EKn+R-Am0e=G!Ye#NV zO==p-X?b$6Pgc!j>`u9@Lvf0q{Ri13IcPr;Ye!n-9a+ z@{dIS4j555^|-!{^SVH10WLEDrmq#UVcsuvfQ9jo^=|bvF;CWTz9qP<0$9EQ>GO?uqGesq2tpk>0IGxDK*F}CtyZ|8R^*=)li=zG{J1GFhTdc3I64H?g-!nL_^ z|G00&UY|aSymh0vyaM<&!0YM#4#s|c3?1AUsk@17M6uj7Ez9*fGMG8N?A*WI>3bb| z?z^soQ2k+VHRw+C4fY=I0VMiHix*AzK)+3cUhvWMwR!QJ@o8h(BXYgpm>plS5-c7iM0gy?<;e#OcBRP&7+-~7SeDWC)8n4fyQi22!>B@I;uSGWp@yr$ z@WUj{xLe*{iOn`>D09BaJif&ohc1j}F5~GR)(96kgheo7haB~%qugw>Q+TPemPQt$ zPg-%QU=taBFzLPOmbazj{Dh4>SSJJMm?6iPOirujiMPpdu|wWxTk`(Cy1(I+@s+`9 zRldorY&6wZfMYq?dAP@Q`Cl@F9SQy~bk$sF*4_&K zH`)Bp!9GC|=CLB^oFeGKqP23(`wg%p{17hB0^Htlkk{KV%-3ykzTQ2&2v<)FRhV;x z@s2(*O1!WaeN+OSQ-b-tWNjc`IG#Vo^P*7%{CYjr1#!&wBSIIjZhI4F0|0SU7XmIl zF2-=17dkPE^41FfSFFg7GmLj6dxBXG)@P$Dx8TwV=mWUio;b{gSffd%bpsMGP_v8NhaOLvZ-nnpwErmD@*A9G03222^th3QJ&fINOxn zE@DOWTY$X|Pl^j$8}|Bp_%9iNt>g8$A#6<8nW(z}brw|TjHmN2M5dt+7UR+gFhzGZ zn%hh@k6@nt9nRhWY(1{WjZ!a_qRpk4_extbskFvTrPampz9Jg*~-i zN^3`s`(x67dMf6RVA}QkDr^8UTf-M3@Kr#eFSrQmq#46U#pV#tD=7aJkU9D!rd#-2Qn_UMzRo*{1%$42_&l<~Y^j7&w^TUP3`L(_< z6w5|mnYYYW?k~<=F5-mNuOhHV;TV!Q_#6V`SZ!V*aO7lJl=Yt6bz~S`WUTWPs@EDe_?%9@kvo&P7uuCY%QYOX{#uL_GJeGuRK|c)S!chfi1{#)SJw6q0 zzk$4U599JU;5h*FC@=P!g&utx31BiG(r_K1e(R@lJzwpLTjOSH2p-MaeOa`y+e6tH zb56*?U_Q3Arf* zomq0&OF3wZ6Z)e!fHP5m0fAHLR6HjMS==*tH(>2LOd2F!#1t0j-zPlMC2edPR^MZF~k?J6~>G9T?_-Fwt6 z;`y_1=8Dt6FMh7algbe02bAIYK~GPb?^-e6&2rH!%y;=b-?d=A3mWuafIX@XJzf;R zRw33z0rY=hZN6B?et>*pUFs~rcz@6w=YAAAIvY9~x*9l3!K2c(LPw8DUrQ!@3RthQ zPa)f)?86zT+eN{0gO&ioK*jCT31r@l3#OPD3;`u9q=pcxVQAIRkPrqb8GPuzz6O-&{1uiSc;`6=2W9 z-e1ixgg*_{g=Zo#8(?~hpgu+|*B31~_jucrWVsb6w=7X^HD?9Q;foQtB2mt8xfVK6 zu1%B^I;N2FADOIUZbgx`$P~T{fxAU{)+>$HZ`>vyJP>Cvu-`0gBR|%X)1a?>j7#+8 zeiRA6h|57ymVKtJ)>66`B*7QtM4tt)hg66?B-_41S=fg8unqI?kT|^4S^wiw2CzJ= zHe0L3u7hhSJ!Ni$R05Yt)82DOatdH0bQges`Bd;;Rx|5{)m;8!T)F`s50@Ml?wjWdo!8PucWEn48EP)7k3VQ(+pe#ouBxs2uRE(CrL2>OC`up#7zhL~yk zAS@=NBRCm(>$c&4W8S))xL8~bDh5=H<%wREDNkEE-$>KWL0TtNh7vI z%7V>>wfViU3&gpFbFk;JG_8%atqAUEZr?5r0Lpx0+&-S6u~ueU`y|OxX$xT;-M9pE z)P3SAnu{bhkFXOYZZ2^nv`oft=xxyY3F*$#PkTJpYf5Y+|l7TX)oIXu;#J;JM(a<1z5t*KTyLfuyNN7SlG_t zF_Dw!!X7~$)F~s`7Mt z&-HEgDu2L*X~)8DpzmZ|I)uRGB`|(`z2J-V2Ux-%V>qQhz$yFzO&PjBX4ED8F@x2@ z9fRdOi&7=FTXGhWTkfFbj9x|5>a1uNIqn6lfJ(RJ? zAz0~IIfiPhh@bOPp--~1$&!v0YpH(;o-iwwW2Fy{6;6|m6{mD;^*NPe#i<-C&i4f` z`m0B{iitlwDaec&)=iMfU7&bWiMfX@{wrRDZuMMwB-bXO^&VVh`0pB$6mb;#^8Z2(i3n!C=z+*Ox$?g|H$O}G$&zXO!|;@obgCM5UWq2`$UA)5=6=B^<*cMZw8 z3rN8i40Ds_{VzPRlC#(A%`CEK}c~;3EOIMX(uF98ll@D`O zHWl9?=c*S#TKFfpybh3aRZPrPBd)E-o2#r4%JE#4jezwHF-htB(&hYoJ}z>Oikyi# zO8V0;N~^!uA?wZHYdDI)j55~WjVPn*@2DkoQ`8c=sV_-?ADUW!e@*CbBQw4JKI9Zi z=aBQitG`E>TJE5+${*VL8%iIp+{aksj5_kaXa=`Ie?M*O@9Wd+?*-7`(X>3e5o~## zd2|Z`SDnK8J8ts`n*+SrFeLT&kksEslKyUz`a3Fp-hFb~T}HmVeOpJ!!jBNX@mE<%Af$(@Nl$;&?H(m^iC%usWow+B>J%L&cZ_3Rt_c@kv{~L~_ zoK~M>(#(`~!^3L5@Gjr6WqvnS4Omt*crNkQ`@Z0L8YU4ofpR-=xMp>JO)lP1lIw*v z(7DUf>fF0QE{?i1j$18RR*5 z9Y_vGap?d^`@h$^S=s;MTw@;gcyg)eJ(<5>&J@EZsW&Sf3k%KQ^Hv9zK4T+%*trP0An8Nxms5%yt7s+W-5(tOI+!6U#|6=$TH z;TM%Qbkw!9c{!d4xsf}Xhs-aToF)xFQyG4yGW>8tn0GS!OtqtCt{k+>$1DE~y|G;x z(c4|Q@3Rs%EHJb9-pqT50d6bUcJ zMUKN>aFz_WliZk(?DN^_&e3#mIX(k*4FWhvQ)kYhA`HtSocS+;uS>25fkTOMhUvn-OFbN` z_!+EwF#oXL;j_&-)15TEW+vV{D5fm<*qA^0r-Ig*xXcEaULM1ToaVz0u$77yX49;; z`82Dg67Q*;3jJM96FUTw{&gq@mpSww0xQFjD&FF@VlNp&AUb}{F@hQLJKqxQQD z(r&#j?R@F41poLPLJ!y|SE|9$gn_2{cYgluH%(j^N1n zylmOP2eM@gyDv69Gc9k6?|i%}6wVL(ZpRX>@JOJf@L-_0aHd&|0N?|4zrs;cSz27O zys*G5E-s80mlhT{g5k1;^6;Fxa9u^DGE#L}<&$P%L!_>{s-~tk+qLZR!iMElE1z?o zkK~f(=K%)*)rH};;TCMKA9pT1g0B1<2yggZ1ol^DP=jbiC_^;LkT=EmKG}tb)WK`n zLw!!sg?&!xTvB`o%DQINDAyf8(jr=aL+>2U@$Fk#PR~zbF zw(JgNw7_=fsuKM#Vo{gVE$FaTz3p1za6jzuRCvq$KhG`B&o*<53x5Y_$jt`Za-C*i zUGbcfaB10`ht2Yv0&BzN6;+kxRb`Rd>hhYp+O2iv^~H7fn}HQ(LrLIy9-l?EKAPQA z3ID}>oTt5l#EFlw%n{z>b4Dz&Ke}oG^cC~>LIlo?VC)EiQmn+VXYverYmzrKh*g4- z*~!lox0@^x3#ptkHtLX~=aE>XbVqF=mwZ*yok*2@?Q=_8&Tt9-j!M}dlD9s2i^^M* zyoKb=kheq0gU^L=q2wQhZi%An55@Wx!B=TAOwgXeC*%Pw4w`d)yg z?JMyg2J8d;6tLe{mD^gE)J0Ouwr_DPM@r(%vpW*oX!b+uBgqq5+T9GQJmknFLns*oc} ziCokY<2-6fvBE2+tmcMXH?o!+ay`mb47uLs<5okihF22ZUgjzGKI$v;m*tk_*Le>Y zmIum<%S)D(mIX^oj+8x7evdV$ykceLoT@pIIn{G&Uc@IO%E2eyuIL9V!nflh?TXfO zVOLBwH$KXF*_L<`0Wmi&qp8lpj3bLU2lE>Q{tV!AFz@p{M;rd0s3@Y1KLZx^oA+N0z=a*-Z zRTHG<@0#?t0RL%nZz3uFVR1bUTz~{FEpE(k&9OI(c{KEC(VQ1RXSD@o54J|x0vodm_ax0chl8-GwHHD9y(_? z`m5hdH9grB>3|MDI*W=A2g$oHMDDgS(0U4uK@baHLfaLsdR)rDJPO@ZN;mD#q-*zj z=;}RLv}v~&GLa3L@IfY~(K$y$wB&FZWa1R6*jG-ox@SWs=71k_QAe0!Z<_QVAb*kM zM^gO1iF^Flkkhv(aO-iS%t2*%|3k>g6D9P-{%LgIUO)Bk$)T>@xwNrAk1p=Xr&ZXK zZ8$m~@=-tzhy>*#@hr^5jr;%ouVkmTbG37>g4w&v2-Jr0WQw&*kc*pmS*6`-Z` zJ#ijm%oodU^+vLqMZNoqDLCChHw7HjfqMBp=^2pYJfoCw`Z6ZpB$Vro{doQo##;DA z1l|RBd@<D+|~h%?Pk;~NMWG`$<|Y}b^E_qKWc#Otti$Rg;8B5)JH;~Qjp;@F#u$rrP3 z8$rS&{9@L)ugRpaIqX{H9`;n5yeP_9lt+vD3njQXHQQuVP11f%o~=jCvcI7%PP5F_=q~dv^OfZ;%P$LDS-i3& z9NbuTS^490?h9`zoTJ*BhqmUUtp#Z7BDA#zZ9NTbt(?@>VQ%7MxGbx;+d3%PHEN2s zj!Fw+SfmZfHVnx$nXgZ#siw$$QJEH%`DFVI85xzV8Fk3Ej!IYPkmP8evQ)XP+mGMY zchS}&%v<(3d6tu2G{IzB=!*#4&Jl6e2e*?Db>FzLD!S&Hw^{SIA7W;F&z# z&?ncavfD?*CQ_f3-$~9)^BdMuSA|vOF88#X-U@do?7c)>HY$}VEYC5z4tt04yBIuM^UVTX@3%dF@Q^>UH0aP zx0?>RKxaAL?6dGyB1xYQ^vwl*b3h;HgdRzy&)=ZNZ4m-tfTXWU`I$}k-4pcbw%c;f zz6KX*yT#6f?Pkoz%O5!FQyMQBDUKC2hdN8B^O%RCN3!Tr*ee&pUTK8AQU`k_0(&J4 zdu0afmFcio{Dlgzj=5>$5!e9- zJ+yXz7M;7-ON;kpQ+T(Jg8kD_k015qpq|;N2Xi&}!gF=&76&~FctX{q$Bo$zv}YAf z=lSBxW%T7^)9J5|1n6@Ii|D%j#k6_v47zYn2{rDXNp=0DbZXBmn%fb?+4yBN>+o4L z8r;asL!IA&Ww&t9UFB3w=FEUq@Yki@L5wU00#5DC)W#bzOwImZ7disB0nWnvc3dsB0$b zDuNwcpzPq`uQ}*l04Qt=$u#rrkwo zS266j8L%%(sQhR>1rOsJ9tRpIux|2sEA( zo)exYKf`%^Ew6FVM+dv}>EGIl>8zd%=yaU%HwxI+7@rpLHHX-~*<(=PH`VWD>21xx97l+%Trn{FO z7wT^+-8YOPLias}zzYCf_sLmn7`iW%A#~poq5E__^)`xx-^WGjsX?Kq<~nIE)_4Kv z!<;dU?Nx=eY7buT*zKk>u%LQu259c#B02>&*{tpvn2Sna-_L~Xg(!a1L8rX$ zpbvnSbyHIOfB9kx^D(Fn%qLMq%> zO}X8tVa(Kk?!`3lX9xWV@Qo%(w;mUDfhRMJSrlpuP#fCNf;L=$Hk^kxoQ*b|fi^5S zPz;{TzC-fhZ;I^sqW}p{Fgu&I)5JJbXTB%q&+ac&LZnli`q~HkGbSHwugY5fSZ6DFTX)o z`k+hk0Ycy=;3nWE;3nWE;3nWE;3n7_IxeHcf%7X>R4@YB>JMU`!aEPZyAyb?1l~)4 z_k7@83A{~;=F@?9F7VC(UO(`9f!B?_A`9p423jq877$pW##~Z7_|fSGeoDb_oNCdj z#uA#@TGAYPCrIxc%fa{Fb7|mU9(`_qKJD0BKv(Q3q}98p(;5BHNj*jIaTim`(bFk# z7~eoTu$cV&>dDi6254`955=O*fCGy5%jNLcvqz!ygvi9C*wD8s(6k88x`l@L(c~3*<(%`IpU&w4&wOPemC6$AJ2_@JhXLp z7RI!f*1^ZqjJ5Hq1GA`cUl8y5gs2QYp1hV*urFCo&3|RlR{#SmCExY9tPArN*Y#wO zo;+sJzZ`MW-yOv3;`=k`fA4kE^?Neus@)#=)Ux0+@zNUD`YR61q$T@G@%>JWUDy`> z7R=f;Wi--{?=In0i4Rm=dfec5f{YbZI*vZMx0LQZQb_;%;B@+{{Q>ISTSU=4#nile z2CeEZ!Q3+weu`4qk7v@X1C2CeUlYc_GT3uxp+A;WPgzHCu9 zr(s;^d5l85qiM_#`xl{mf^^R@e24jnNq>FN0lUjW{Z85l8|Na}IOoE~X@IS?pu*0lHzv;=}zFk4fsC?{MQ5j7T~`O_?v;h z3HWPHfWP-)i$(!9em!0^kNuwwlntHF-wE?W=Y<|Fqlb^>(gR2GXy{-*4eT$V&+jdy zu07MKeRlx%%Fuw>uCPr#qeR)!ykGE+SUkvDBF@tsqs7DA7FTu-O&;0(HLF4RwC0Q0GdYAAkKBM={}-;q~1g5OLpzZyYn#SR$|Q6W6afJtxv(_+GV-_4<)2kGaq4}J*yUV%sq9eYYDX;wdgLut9CoIxDj$-ZBa{5F zKP}joL#KAT6Lb}M^gL*W&H(CY5>?}^|%pqz)mcoq6lcH z^;2y}CTz|E*qnvn-E{B{^bP0lIK0S=m7_Li{xuf;#Nm4v2lu@X;;qreru$mF8PSYY zjoLdqGwt5lFsgYSV?F#B0zU(Ie630KG+AHadLHL$4mthjSoms@=e11QauE9ANfax1RQP&Zwz?V-zM}GSEd?Uyz-t%38z-lgs_k36I-RK=;1b@bB zzWC%u(V{FWujzu#vo+-$kMxn=h$74Qti>$|d==pGECHvmWyi0s9daxsd~Dpin7Ee*l*;qLuSK{l1>k)3AVkcp!=5|Unmt^uI1}#= z&BmGRa_pa#CcZtzKH3g0dkrpM0eJ1Q%UCfgPvarwaFn+p)At&_CT~`&Z?QcElP;%( zzXLWM-*qUY5{#h|BbN%sVgCXDe#ZYIE_^|Edr$8u=jHeG{)B*UIlRyE zMZ7xC7x9l>@LlC(QqI#!Z>izrluCbna{5%Vvi<@kD_aog0kEuG!*`>XzaZq;exX~Fu&Zwc?m?0FKv(!-1YQC7eE##*SR30ML2zQIjlIbupg@eYkeR<7U%5AN z8igM54x6`GD@=EfD}wI=CGEXh&EQ8iE_nca_X!9s9tTB>;WO))2{~Q?d23*w$vD=Z zBVwNdb1(aFm!rtjJSNv5&<>FDHeSu*Hc&gjbnF z@$Fo^gK2*scmOEEU&UnzAZ4sMg5&!Uvz2muXgX}r%=_%qY_jk7ahV_B@?!wL8;3eg zKKnUUzZ^xj#27X%#Mt{YU1mOj(TFmlFK{;1n3q-u)gXHrw|5Bw9RTRP3shf3%^iM( zCpsf)YI^UGng51~7f*bPE%e5N=A%{<>pjsMsJEKmcYp9cRMDK}r_Sy=dxAH0Xy)1DKc^t*VZ{hNL zfrpEZM8wululspORjsSXl;5bHmiUHq{zWJ=6PE=5moI{eNwg>?HW!-lIo~?#T)aCZ z-+P2_5B1saJvMXMOL2(;r2LLWTz#exV8~ax_f|g7Wxj;V-vUfuFX}UILi=-y-LO6K zpi^_9Q*)^JrNVL6b&qoXCvlPAQyWHpyqAo3($~uO9PQB|^w@n#8b#2slJ z;x!40zYO@#PK&=AD1~f)7J)keQnsT~w(-Rd2&e%a2F!1`@HOEQ>td6?9hT#TIe6G)H*a2(ia!0uw%jloD+{L{8 z+6vK>^WM!#JtO7iID5~_FHvg>-g{nyNcrTwGs z-Yb?nX`!UOVwulK+AEg%4khgskJ=WDP&4RRHgfvRl74*kEM-6V+T!O+9w~h=czqck zYW}coc>+xcKZ8s4y5zQmD6Ys;f( z%NK*(mZDk@&Bj`Lrm>jtHN$az|F!4;Ywt|p<0{L={bes$WPkzz3Jy@9EQQI^G-b=A z3#6sX&^17DGRaJuK$answ5cKn1uR-IDoaF`Ng8O9rfo#77DWh(S`{&1)#^nJh*+;E z5vvwO_&@LYzB8Fg&Ln9I=>6S)`g{AlbI!N#+c}5e_DK73Gs;FJ)yjv#%)8Zd?@#48 zfY`UzC&%7T=*Q|eF+2TxD0>jSKAED|CvQ%jv{CJ{*C&&exAdz_`8@(fmp8@mC~0{+ zA#$n;?LSgoyVs>w?m0>=-gUH^zw;P%N!Jur*mkVS+jtynX~%P}BU_!>c%eFzHRUt& z3t7*~9bVrxW2Y9pd`ZH8J4zd(*K28Oq{O_KIyofW#&PL)G0Ns;r|O;b`^|X2Gp=S# zZaiz(p1qTPRpERro;Sq#HPdZHY`ig77gnr&pD&@jfH3}*Jd*zC=F~bj`fz`Ab9{f4 zk~W3$HDj)sddzj(0rf}jYfOK1Hp=D5;qUh)_!U3qqCX0yslTQk{=KCAQ4LN^Z{k1Q zAC=*j84sPqc*xIqXqDr5s0%BfqgG7+63R13LZ5UhpSh6KkTDm1(lct#@R)0MYHE`` z=9-2d%kg8OqaTyk(2R&5$D&+-Xg{d<((erv4A@>2r@96hc|Deu**vK%Ge2FrJ?!as zr5(js-X+hRSYxj>I5R!Of3=7n3$=POU(jQD>zxsaW2a4GUiziGP%<}+7&FDjK$hD( z#jK2hWX!~$HP$J2=)0^jNAj^w`n6`Pa|B8uLfKkw$`)fCH~Mhd8gs03?*Wyq8}Z5- z>)eW>$2y(_zY@nf3G=l_u`>M|{HM#27ki_==ko%$%cX7kEy|yf^!NMhc(r79rA|%X zlN!I~H|c}8c@+O0k1z(sEOWq1Q%~?5#(vyf*0?#xkT2hq;Qc11{qkb;C27YOpoEdh zaqr%KDs5e#cqnfVx;f){IqH>?exa9P40A}1=hdVy${d`OpSkAnX_Hq`elmIQ?=t;- z(w#Up{eJ%IL{blzg6+*bnkTr+B&W%1EV9$s=|q18dCvTP4gDW+_vQCL2@Jtc$mhAM++zpDocx7P)od-Zs;~ZG{+G1d zRnGLfV)VV|C`a<==Kjb(nZOSOcr7*JWLM1F{_e+&)1Q5Rr^9`5-;2M=!Y1xbdP%!$ zf9IZ^FXd)?apa%v&n}1fi`nptiSDpdsk~<;x+3YcF-bbLjj%7_@NG-9FXgS3cxIE% z$=nee67M1WX~kT!bnP2V46haM)5Lb-pB?W$+;jRHbaLnPM3WM4uR~Z|T%Y6+?=pvQ z42{UAo!I?>DO>TrmHj3$UXl;d5&0nIH#&rSKn#!glh1I;UwrxKcUzYd{u^)z-!C1) zXQ$_M@^P#`+rRXxEUTVYVpwDn?N&5I*SD6bn|qS-B2$n>$UMY{xR64m3^@<+Ah#eZ zkc$yF(#Q6>7l~fL0?YaAJ;D~+fg!}l?*ZySE8Em=M9tvL6xRn~80qJphi&2T4cHH3 z_Im6fWh}(Y_i(~oYZbi#JDAyZd!};N@~!AkW~yi%X0PO3my5YqgN_U?!z>+5E874A z=wW1l$hu%(8DYAHFksJBj^EfVLt2Q#jYuOBMDmd}NC`3(sX?YARY)n4jf9bA#7FoP zTiM>rh~M%I75!j_@_jf%wZ4*}T&bLM<+|%~!azS4t|cz`t%AgLDY63peT0iJx#T)- z4KBhhw#WMsH}QBMc{UgMF!E*OPsrKT95q3@k>4U$UzeqRg{-=sXVH-N*JP>dkX^{@ z$W(R@E<++n6!{^NUdNaZ`2uoeeU{pQd>1)3oTVy|FC+g%ZoMH(Z9{&Hq&H-#i;%03 z^~hbwmywr{BO{E{k@-j&@&xi*B)c(7J%*GuWvR2)@t8TX5%~i$cRjDtLG~h_ZO&3B ze~4FLBi~1ckmEj_rIsMKAx|K0Ao(|Dse0s5WC#g;gx6dkft#|_H;@xPnx&eMA0v}m zuzxel@5n>QKaj;A!#(7u$dMoC)$Pb5$V=VeDqqc11!|TmRI@2& z7paTYCF)XDq`azF%~5mJJT+fkrY=_{YJpm)u275AVzopqRX%kk?^Il_R;ZO~m0GPz z)m7?hb&Xo1u2mmYepRLdj1em+iXr8ndw!U&%oa^sv3$A5Ta;5&R5Z=sxFH-`9BK^A zi^y#1*hOt~rtWguGP-D4v;FW(Y*AAw-JGkdx zSyx?G-B=x{ss2zX=nXP#sji8QRFZU3xZ}C3sj;ac#8fv?SytR;Z8!Ed9{ROY58^Z3JD>( zQbICq8d&Mcp~oH5T=D!l6EL-Md1FI;-C8>;xnBPjV>`QYbtrH>DUih4vSp#l1$B*~ zhRT2)X)DyF64o4t)LkiY(svzV9Cz2j<>9;e4tB*~^3F^Ss_X?}$R1XA13q zPyn4ONn$V;kp6)>>WE|Vo7^8xENfWoV03~h>R>Y=MGvTXBM+pYH3b9yb)kj`<=DHf z+Jg70V*f%ZUSw*0L#@A}zHVJ^&|4pl#F?O6uL#ve81DueyLg%fZ3byXpH^dbu)%bUt0p~j_^ zx({%S%G~18Lyd_?QY+M45ei#viWHUPk@3V@3dx~B$pM0zI-l@byo;m*iGR8=4{zoCJKCP{VBT_L8%>bfAy0SC4ecKIAt zl-ypjS*ACCYv(o4X@}76C7ESR zz|(hqR(oJ!h@ZtC+8lQR{vPyvx(y3(&6Tw+EQ(f%V6?6_ zGNF;OH8>7O{0;The%3eE){VARG_A3TeDlT+v{%WBfi?J(VNTo#+_OXm-ZF+Xj)v>& zYu*Vr#mO-O85aZzkxT-tkm%9BSbQe~!Z>`4u>b{mRpJO*ueuWh+v0-CC81C-*}Qrp z4#=`d9hJjjG$LzEjv?R%h1hfmY`0wRjc<*;dQe6XlMl*p*nh=vEtO1(FoKIDtNe+> zb+ZC6dK7BAsJE$fYQ?4&Ozs+s>w@z_L5g8DdqklzXF%2rhUY)4e>WIDVz}3E#gFv;R>J|qqX+c$Hp4-~>Cfrw>kPkQnEt%J zexYHb;a3dz7@lat9k#<~_{uZd{U<%J%*DF_x(V-H(=Ojc!y!w zaEal0hM9)1Q;y~DS;JBj|A)n8v8QpV)3!?4Y;k8&%2_ZqeuHXB}TIL|QG@Jz$W zhWkwZ{$fNvKRx2N?`PV-d4}g3T7lrdspj{yCVby9e8TW6h6TplnIr5EnBT7&rW^A| z8%{NxZumK4?r$a@kDA}jhLwg_8`|M)i0XJuH~gC6s}Jhy&luijc(LKW2lV|%48w*~ z4O0zw->=Pe8m=%r&oJF^_kG&j!-jQ+^9-jM{^N_<+;9c%0#06Rx`rgNAlKe)4JUj_cc+3k|J& zU)9|A70o9MI}L9!Tw!>cVf4SW`89?Y8lGsl_fdWSX~TOB8x7YO&NG~5m}>aam$m(V z!-oxTGF)L;Xn3OGTaRdazcPHofeA;WESX3{wrC>C@)h4A&Wc zXotRDYIvIA{_Xnu3x<7$7aFD;wrtbpN(@gl{8g{M{C*h1VX5KyhCkh+?>87$J*0mZ8ou7Ce+Lbx8NRexUoSUw8@}G5 zuRq$Z88-A79%t&K-L9R>{{OT<&^iSYI~L0t`}j-NigUfrc9X4?E6)Bp*kImhX3Yn_ zq^ZtwaxvN70%wsO{2$|lEYE=@v61XJuHvM#vmZ&P_cU}HE{4tz0|^VMUzcrZ(_ z$}_f`2Y%|4^We^*eAhP)IEOy2&+!XXhqhh7Nq7g}k`|ydolGa&W#d%6gWHsyLs%9_ zvg4!F=_wq3GRq;0>esFfHRyd^`)JfHgvFEWzHk1Vc_k$*8SGBwT!oy8@UNBKX}|1D z`x`=Qt2wE?LGM#rt8sb0V$$85pvJb@BaLloTdO11`7CR1J8lK9SUp8Z3#=FJ3 zdeq|w3qZ+EgWC(s#j?tru#?Ln_N&!n?|`eU(Ak^4mYc_?77cG0FA3C|BX(EmLjZ@6 ziwVKckt66=D|J;`QFX*0stc6YumpU0Lm;@gK4`pLuFq7d_Vgm_IF`NoR2+$f8X7N? zlZW;JL^;!cRdK0gsb_&l4sNK91GS}>Di0xo;_Cy(*SS@pitCdH@g4E&{)zczrN(Nh z2|8cLEU#A0ks@IZLcS*UtZjU~%5N26+t4acj+DYnq!x}eW1k`9om$CUSh>8usi7jY zNFH{O!%jJ}y>*D`f1HG60`atiS9&1n!V2LFv9_X74yWqnTf5Pb1<-_2o+}6Z)U&o7 z2jh0t(i_3efYetme%&xWs8@8d1CwtgdacAGW!*oN@x{Kb~V%dA6Z+7#!cNt~~y z6@{zo>Ow)kaeBgT(lT2v{6@;q4NcV)Apcrg=81>OcHz@$MKys9^-YZvx4Jrik!2%3 zDrzq^Nb1|fomnNvon-njd^p{T)6ea?IB}=!DysW)%avbAPCDj~E|{%SE_6;?$F4>N zMsFvq&W|%=IZwX**2Fb={;#C8(o)8ifsxLTf0U}52}MoBFAtN|_=DAvaG+` zkzS2-I6qiZqkg-oh$C)ZI(;h%t>iHWqGQKK<&O2FK!Pb)7yP+K&kPo#x!R!|`)#f8ILJ zs9wXQ@wt_FPB@m~iNFhV!Iq6*n{l*mJG)t}Jd?+ayPs=kX({I~-$`LDoxkMS+N%P`5)V`p8E*ta7Zk zX{|>-Y_nEX+Z`yfW*^=~)#VKVCLh+gR}OPuZas4$vjFLQbe}pm9JT|mE4=#aVYEvl z>{^4h)%jO&VA4ykeP~0h#AYY1xiHPO6*~#x0@5SxGey#ERFi!EP;f0z|HzTwKvQGA zT(;w8wLbIZcCJ31s%xWlh+Rt2mRp#e$yuo-GBFr!n?Zl^O6#8P#4DRt*adZ!^`nZMIhGNZ-?9d<)ST*zo35B@bhQdjp(c;x zrXFilOw6QYNu2+ZJ`e0JiUfG7Xq^dq#9M6Y=G=M?dNenViig!)6YI7+q;K`t@uXF- znzt0lNfs;iCg?w@h{q0C>39X|g8uTR+Axu8Xx#9>JWe}woFu1%2awgVlSBv6 zirLAj?lL8eS&hFuP;vcwme(eboXkaO7Y^2AiuT(lGk=Wl9!)=L^@Wt*H$K4qrQuM6 zyk+4EP7j87h*j2*>}3J<{v)V=P9|(8RA6HDF5wBuw@$_13DxR|#9+MY7z<0SZQAaU z=Y(qN*B8%QP#3P@dC{c}tExlmtsXUIC7t+9*!^EgdL?N_bt|;v$)a$8b-4(yx8PW! zywswO35PTcH5-z(z{PrjZ~fh}1}MYqkhGxVm~MW(Xni%0G}_A>!>w1+09q>>c`wV6 zQ-2-pnl&1UIQt_BRI0~Uu_CzA8lH?CM^HqEJ5OgL@nZsManJl{Q3Z=K4Lsn)(1eM3 zV<0GReQ^xA6%q=odUP^*mDGrSaCx}CIEUoG1KZ&y&zDQ9VHem@-9fA{eL%{G)3}r1 zzmi4h?QyCZWLtI3vTaun>97YgFiEXl&e`jLeq3AzjAleZIa}2zYXJJmA3a_ob>2D! zzjYn9ebH88p<6GbVkZ;QoyiC!etXBM&X3-0S?OdfKDT`ZvKn1H(p-);zOyZt(9uxd z8I;@g)}DCFfGsXd59qY8oR7zPX@Qiu&r0gp=`t$yrF5-4uc#=0jG2o4u(yPqRbgvn zwPK=n;S1-Z27i9w>is{4kGrYFp<}`vmNX z@AmXl+dAV`=2{ZI4c_=D+rvJ!ZxSgUe$RA$}`V@b+)-sO80Ay_slqV4vXKhS>(*KDdmYF*HdaK(s8-IN9s$WIo-jjpE&vz zU%-CqXkys$ho$_-m73uO&@7LuE+-Q>VBcRXWo)Diq|sI&7yL0Gyg~H`y5EgWG^uO1D`>QTe>2REr<%plnm8!^OBwGz7C_#5&4g_PzO9m@~a7qJuVwb$0H zCX+rxZ2Z{N9LqprslD9n6j---yOXuP^n{q7SKlO~tVH8;iskhcKX(j)Y}5u{DUy}E zh*Q2>%PFz-0sOLph;wS+h9Xv#dFZK*fniPc^&v0I?ySi0egbPL*A!*F?vrmVy~WlR zMlX(QcS(;pGYOjo1=5+vZYHkVC*GsjBwldbM=6j*F8_#*gP!Im2|xbE5@6Nx4Yksm z>5Q`ej}MkZyhaA)P$ET$E8;`^zctxa={lY6A=#$0_ptQ#Sh7;|pOXuT8Sbz}XB92p z7|B@~nE~h*(Zs)>(0Y?cLK7^*$zc;zucZmLIpgMNXE7#y2_|`ip`%Hw1sEz?Cv(Mw zPR43VSXzruU%Q%9-tN1ui1T{2wf>Q|WRVMN(lW}zoG^a-Q=X07sn^evStabh)*j0*KzB9Mr_u!vz}e=Bw_I{l$H8>;!KV-NNYx5wYf9@P!wsZbv8j_*b8{E zs&6NXe@S8i7_~oVEl{qt_D8A$oFh1pM@++7%LS7CYBA)i)(6kd9r+)hhGL zMY?OUttC`$HllP~beS^y{nCdP$(Y=F)tNRh(wbg99`19uvgT%;G0-o4arOHqV*1W|WF@IaULvO>Hljh&6+~r` zngQODlB6xgl(a-HYwb(k`Q#LJJ$Gt-q^OQfNW12aNOH-!?@&gn?RLuH{$54|av-g^ zre--iA~NZ-0&R}W#kcFG7_#qanJ}Xm{8*BZQ@pmsu@5OBIA0}IIab4Nor4)uMk?LR zWR`_0*ygfVCoKQ$1=wrf&n&{>{_yODX>TYzm(isxEJyT!_$X_wJK@I4x*8srwa)sO zC|kqT;Zb6O>9{zr&ez^Ar=62E8fkN;#J_?$V!yZ0YtMA-e*A49d!S=JS5I_;ac<>n>fDu#kphy2J-} z7d151jY!y$;kVwMRlIV9DH*j>QdqZ;{T@!s$}TG%5v}dqIU~2x_2Ac9q~mzn@UarT zQ62jCha$erTM>w#59v@&p(kXqQLmaUZP1VL+HtY-S_&j3%FYY3q^Gy(rGl$RzRB!5 zP!l_|lBBfI;z&*2AHOqU9JA6gHXE+8=HMew2*g&UaEGWZx7sIO8OVZ^cN#5?IrdVh`6V(@N~4iA6oy2$ZkFh{j?7;m;8i&$~vE6+l>#3*(V%XtgJ-3<3(A?Uuw4Z9ZIRB)u=W6`1~bCaZC5{cM`%% ze!OyTQB8gQ^-bY1YnyZuBNmvM%-ZQ-7Im%nmfT>SO0t?fQg%*#b0`?U|Aa%uGS0V? z#N5+mqe{=~EK8%UTD4vRV%v=s#gPG#!g%fTT@-*_{)z?1(8E;Qjp;W#eD znZX4)Up*oW<2f+w2li_k^laC!r@OrRpH((L$2S;j%A0m4u-I(7N^ z)FQuszWvTi&Q|iUg}e$$KV4xxVNoi*+C3x9&DC$QwatkcUxt4!Cn@BG(fsF+R5v!M zyGGe#7CFlGQ!;psM@67%Z54a9c3^bV%$rc9G;G41(sIruSK5dDtc6Cabz)SDiAGFV zUABL&KV-eF(7q`ruI~{0HKDq-ja4J=%IP%;eFPKBH!$?#MTfjiBy4*x_r-<#xSxiS^tgnoU z*^B8#5w^DLym2*(=bOr#7#1*eaQNVbPFLx&{R<^+_3Zvv+MSAnai_$}KY60gbAX|+ z9&e!R%p(PtMk3+h)NGHx?2CAMaW}-~^B;(8JBc zjc=2Np+@UGMl2}R990`PBT7rG$-?CL6dc#0op$nUVJzJz9CI@yDYw6nGESK>kB{As zUpaOvQ^&@!WiHXLv^%OfyW zr>Rb&t*qp<&w<86T#(uN+>D~;2&efDxXS7vNLjP0>}BH4!Blsn^ ziaRo}Wd;-rl=>I0@#3w6aZ3_M{f*}nX}v-R1S=7Q`&YfYWI_G6S{-;LpoCR zzC#M7ECw%LzG|*7Ctp7}qHb4nYuEzN^B+~1!um+4VQvGTtspCwvvR`2hDtr1wkX8u zrcu|gPm`B%=`UQ2xXHV`mh(*2-1?@vMl~g6o^>pJgc)^a29M6nU&p~WrJhM&7NQ9@ zzy6T1ny!^6we(tmejH+cv-+megD1<_YWdpo<)KC%gKerYap2lcx#nxAuP6=%d8i_y z)KAivHP*}xgyo==Ij^f;kZX&q`Kmn-v=)by`iTrj`E;7j7% z%Ds7^@+Ns|+rG9e{mQ0L!v-Ipxsd1CSY)!&ngE?T+Q$V!bw=D(#(JSZkc;Xsa+RT5 zW2jc1^DB-JDeH+pbw&zPNI7Gu4Vx2db6E?BsQS2kUoHzEB{-+9n7?ev{6%@W*5H^| zRPd6v=H|;9SVYyut07o&P$eW zV9v;0;vy+i7g}G%SN>|PH5{eZs^JtWQvOJ&%3o;}W4}B{mW`eIx=MCz8bW@(BJbx5 z8S9kFld#!U-M$s7TUX8bEP3Wf@lC*Z6P#jbW-8Mt1xWFIK#p+9I|7K1xns{oq(p?8 zLlx}M*|)T%QwU2#qn|2*Lwv2!UtuYd>k<-)245hI>Hd%kgsW%NMrKf9XJB(iRVWai zQIj(xXNGC(M%-s@w~-DGlbYno|NonC3be@gVSjk7`}xYyWI`C}hl zc06$|<2C)~ls|E=E^tiOkuQm`-4Z&vXXkfiZeC7BVPUyvc0pl9Wqz+0BIV&$1@>DvO zukrH7IZy1DgpV2jicsaOips(Q(jidj2?Z-dm3gyrJTqq(Ru)K5#|%$g35b#6kQRm`4QG0V|^%C&7jkXv3}F_Tox z!$PH}uz&$hUJkXaFt;KQoSpAz|KQWpiqxp`WV<(3dSLTF>Kdmwq|<<@x1>1+(*J6_n3p1+Fq!Fv~-^=U-+1?3|?K-%kJ81(k)l<(~Z9K)$E4 zJZI+Y^5D$M@|m8BoLPmzS(SN?=^y8R!R*{wp}f3MK~8xnn4ec3%$pSqp4)<&_1&ieSOay!;S_A{fk{6?F7}tn^EoPkK!xS$h&2Zzt&= z7-bHBX)WOeDGvF|k)5JxEXrH$}jsZt;jD3=FUv` z0>G$8YINI_Ed1=fE(=vMo@JQF=u^MfMOHiBg^(n41Dqe=v05`S&|!2cuSL^Vb0)x! z_JX>`dP`>kUG|OR-o0WQ@yTY8b%a1a`a7a-(xZ*)v!>+~vC%?W%dnor_Q#&fN}9^n z){t?_W4?vP&#QHx9^XY0N+}~U!?BJnjt-ABq1a7?9BN7Ux5OKBX01Gf&hn4hfw!K4 zw{|W~Ry(Al(}(&-w@cJdhfg8K3Xp@lBeuE5Sd_=4HMz3(|A)Uq9djJT*?qs{tbT)9 zT|J-CkTG4X8<;>hj>iZ4+^3wF5i!NoDSRxs@f<3Tg~XL)Cv$q!N4~GHmY4Fxn|6-3 z^T*9}E<3sJzdTeIYOsfV%xN7waw$7hFAek5xZ?Amug?UHkNCc0oB zm*6JUW4R|wm7K29EAq+qE5<3K4(_u9JnAd7u{3lrj}Hgf-X28Cj@QoG0ZbCUvFh6d zrb+K^ePgrRdb6M3yltnlp}yANSj9fIeq%?h={C=2$JaFH`0DaD?$SAl=4}5E`=@ts z?lr0(vmcN@&<@R^N1J#s53<8E-CshVCq3Yy_Iu_OS^SZxG0MMlAu<-6@;|ONkL(7L zlowszCbV^82XqYoX-};BYI%MrRgV#fj6%k#FXjoTF<Zvg3bBd+Os+f5(K%t<0;)^LWa~ zUgk*Ntj3biIsM-A_RD+qaHW**CMLFCjy<)2j??~e{@oMN;4@Z`F$;E`~*yGT;ViLR$5_6^c{zR$VjAs)#&Lpq;*ehP^K+|xJH%QQt2;^B zJ86F=I6gVZk}*cTc8LFY?coHr4c_(kaIE%v0^1_*cK8mlJ&Y^-_ISkFn~;48+P&CU zW)oYz%9){p+?ja=32ppv6_fGDL9VXa73%=zk#?bXC|~jQ%W)3i7!l{@ZoKx?cHgm6 zJP?1zh|hTSWdhqg?{;~dK>P9zq|_MAjGcT=`6cN$e*0&KFQH?cSPqUAE{F0-c;2P@ zE5rX$b=bMTbc|VIWfs>Cu|nJ1BNMOK&gnJg_;~``r0;h5f9LZvHb0ED$ks5_IWr4p zve90i?@7`!|Jw#X)XIa%&k1ZhzuWmaW_g>yw)VRnzC$c;V^2z))^id|VQc|k_Fl&+ zd<+X>gYL2Y9e*5djT0s~@HRa{lJYm9{$SK-*fFZ31`cC&2Tt{2#CYW(eSL@G>o|~k z2jXpa&<^?G5dT96h3(Op>2Zkl$6@?D@{AqB=*061oL!LjAoC#(>%GHP%_+}6?$b-xnlTERFIq<>LyOlq2h0X-hqi2eBwUPJ&os;XSn3WgGNm8J(b1+NO|Nipn z5dYZtjNWZ{sgNfg*4D+|c^;oMq5R4~0p}r;B#k{p8}2LP{G4!kvggsJWed{681 z0qqw#G??Qg;=ga#Xt>jPSJE@CEZFrgR{r9PU*Z%YuECpCSUD>vFnhexcX0L71Sz5L zO{C~qiT19fSF)x$dHEZaiVmf3oJ9Qh40PX>^m8b0l z;d`1sW3Ru&)yD}W(!XW(#V$hC$BJ&v=kj&njFZ0 z^}Q-D@$L5w!y7yfHLD;LoE^vwCQXw=Ulo4m(`T7}0M=T&m&XoRf{{l;{0rj?@U&^G zMhr`=quNQ2=noI-4n=b*bw6@rYL<$^OOE2%&J(kg7yc5Na%z?ugdaItskSq-R0}-$ z7^U3jWGOfN2GX3HrTXFR$0}7=n5A0bjN^Dt`Qj|)fj>lE@Mft2SbMxu^X6r#Fgzk# zsq}?e$_1ZBUR{J47(Rh_v@gXBoOYs8d#}VD_%ia$iYzq*ADgOF<0|}xx1YkjQv8MU zKA_Z^YqFFNrn{BuycYN2W5|B=e)tz;&%R9MK2@m-WDtD-?nUJK5aeNL^(wm1jkx}b zd3Y@%X3F6GMvuZrkZjEK!=q2fj+lqnB4R!acbMx#@Xu$^mtjVosnlFV!r+5%BUN(! zETv{4ccOb?8zN?+@J~ip(|O|&BJTU(4My*S1BirKc*NP-j0d{UQR+Uf3$I12u))U> z3G)EFgy(;I#b3D1=zZ|y^YnE${ItT(u^N3s@f>ZOf?uJhw z`y{^bRdam^PUg)CV%`H68QlkKj2?!YjNS^rhDf@FXDZc)h+W|;MjwKi1-fhqry%G3 zEz{ycbT7JaDY63HB6<+L41Np|H>2>pS(JIMd*H0ulnrz*{3&G-%xeA3!9JqVS@K4!;*JMZ_K9tw{dcnHE2VUV`2V zPq>-%M|Z=kHj!2;OO?U-pCMgRXoul#h=i>beyNpuNMF+rGe3uUbQdhYlkb+JhvA

Vr=Fo*Mqzqm7 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 D4$=yQ literal 0 HcmV?d00001 diff --git a/torchvision/image.pyd b/torchvision/image.pyd new file mode 100644 index 0000000000000000000000000000000000000000..dc9fb1a20ac5d8ed494a686d377fddb2e5ed5a10 GIT binary patch literal 130048 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 torch.Tensor: new_img = image.clone() for bbox in bboxes: bbox_img = new_img[..., bbox[1] : bbox[3], bbox[0] : bbox[2]] @@ -547,17 +547,17 @@ def _transform_image_in_bboxes( new_img[..., bbox[1] : bbox[3], bbox[0] : bbox[2]] = out_bbox_img return new_img - def _extract_image( + def _extract_image_bboxes( self, sample: Any, - unsupported_types: Tuple[Type, ...] = (features.Mask), + unsupported_types: Tuple[Type, ...] = (features.Mask,), ) -> List[Tuple[int, Union[PIL.Image.Image, torch.Tensor, features.Image, features.BoundingBox]]]: sample_flat, _ = tree_flatten(sample) images = [] for id, inpt in enumerate(sample_flat): if _isinstance(inpt, (features.Image, PIL.Image.Image, features.is_simple_tensor)): images.append((id, inpt)) - elif _isinstance(inpt, features.BoundingBox): + elif isinstance(inpt, features.BoundingBox): images.append((id, inpt)) elif isinstance(inpt, unsupported_types): raise TypeError(f"Inputs of type {type(inpt).__name__} are not supported by {type(self).__name__}()") @@ -570,7 +570,7 @@ def _extract_image( ) return images - def _apply_image_transform( + def _apply_image_bboxes_transform( self, image: Any, bboxes: features.BoundingBox, @@ -584,10 +584,10 @@ def _apply_image_transform( if transform_id.endswith("_Only_BBoxes"): transform_id = transform_id[:-12] fn_kwargs = dict(transform_id=transform_id, magnitude=magnitude, interpolation=interpolation, fill=fill) - image = self._transform_image_in_bboxes(super()._apply_image_transform, fn_kwargs, image, bboxes) + image = self._transform_image_in_bboxes(self._apply_image_transform, fn_kwargs, image, bboxes) elif transform_id.endswith("_BBox"): transform_id = transform_id[:-5] - image = super()._apply_image_transform(image, transform_id, magnitude, interpolation, fill) + image = self._apply_image_transform(image, transform_id, magnitude, interpolation, fill) if transform_id == "Rotate": bboxes.data = F.rotate_bounding_box(bboxes.data, bboxes.format, bboxes.image_size, angle=magnitude) @@ -612,7 +612,7 @@ def _apply_image_transform( shear=[0.0, 0.0], ) elif transform_id == "ShearX": - bboxes = F.affine_bounding_box( + bboxes.data = F.affine_bounding_box( bboxes.data, bboxes.format, bboxes.image_size, @@ -636,6 +636,6 @@ def _apply_image_transform( elif transform_id == "BBox_Cutout": raise NotImplementedError() else: - image = super()._apply_image_transform(image, transform_id, magnitude, interpolation, fill) + image = self._apply_image_transform(image, transform_id, magnitude, interpolation, fill) return image, bboxes From 0e8df49d50076a4298c9ce4d3e20bfb1fc7d978f Mon Sep 17 00:00:00 2001 From: ain-soph Date: Wed, 5 Oct 2022 17:52:10 -0400 Subject: [PATCH 05/27] (In Progress) temp commit --- .../prototype/transforms/_auto_augment.py | 156 +++++++++++++++++- 1 file changed, 155 insertions(+), 1 deletion(-) diff --git a/torchvision/prototype/transforms/_auto_augment.py b/torchvision/prototype/transforms/_auto_augment.py index fcf53c3f412..a8219c7662f 100644 --- a/torchvision/prototype/transforms/_auto_augment.py +++ b/torchvision/prototype/transforms/_auto_augment.py @@ -567,7 +567,7 @@ def _apply_image_bboxes_transform( transform_id: str, magnitude: float, interpolation: InterpolationMode, - fill: Union[int, float, Sequence[int], Sequence[float]], + fill: Dict[Type, features.FillType], ) -> Tuple[Any, features.BoundingBox]: # TODO: SolarizeAdd, Cutout, BBox_Cutout, Flip_Only_BBoxes, Cutout_Only_BBoxes @@ -629,3 +629,157 @@ def _apply_image_bboxes_transform( image = self._apply_image_transform(image, transform_id, magnitude, interpolation, fill) return image, bboxes + + + +class AutoAugmentDetection(_AutoAugmentDetectionBase): + _AUGMENTATION_SPACE = { + "AutoContrast": (lambda num_bins, height, width: None, False), + "Equalize": (lambda num_bins, height, width: None, False), + "Posterize": ( + lambda num_bins, height, width: cast(torch.Tensor, 8 - (torch.arange(num_bins) / ((num_bins - 1) / 4))) + .round() + .int(), + False, + ), + "Solarize": (lambda num_bins, height, width: torch.linspace(255.0, 0.0, num_bins), False), + "SolarizeAdd": None, # TODO + "Color": (lambda num_bins, height, width: torch.linspace(0.0, 0.9, num_bins), True), + "Contrast": (lambda num_bins, height, width: torch.linspace(0.0, 0.9, num_bins), True), + "Brightness": (lambda num_bins, height, width: torch.linspace(0.0, 0.9, num_bins), True), + "Sharpness": (lambda num_bins, height, width: torch.linspace(0.0, 0.9, num_bins), True), + + 'Cutout': None, # TODO + 'BBox_Cutout': None, # TODO + + "Rotate_BBox": None, # TODO + 'TranslateX_BBox': None, # TODO + 'TranslateY_BBox': None, # TODO + 'ShearX_BBox': None, # TODO + 'ShearY_BBox': None, # TODO + + "Rotate_Only_BBoxes": None, # TODO + 'ShearX_Only_BBoxes': None, # TODO + 'ShearY_Only_BBoxes': None, # TODO + 'TranslateX_Only_BBoxes': None, # TODO + 'TranslateY_Only_BBoxes': None, # TODO + 'Flip_Only_BBoxes': None, # TODO + 'Solarize_Only_BBoxes': None, # TODO + 'Equalize_Only_BBoxes': None, # TODO + 'Cutout_Only_BBoxes': None, # TODO + } + + def __init__( + self, + policy: str = "v0", + interpolation: InterpolationMode = InterpolationMode.NEAREST, + fill: Union[features.FillType, Dict[Type, features.FillType]] = None, + ) -> None: + super().__init__(interpolation=interpolation, fill=fill) + self.policy = policy + self._policies = self._get_policies(policy) + + def _get_policies( + self, policy: str + ) -> List[List[Tuple[str, float, Optional[int]]]]: + if policy == "v0": + return [ + [('TranslateX_BBox', 0.6, 4), ('Equalize', 0.8, 10)], + [('TranslateY_Only_BBoxes', 0.2, 2), ('Cutout', 0.8, 8)], + [('Sharpness', 0.0, 8), ('ShearX_BBox', 0.4, 0)], + [('ShearY_BBox', 1.0, 2), ('TranslateY_Only_BBoxes', 0.6, 6)], + [('Rotate_BBox', 0.6, 10), ('Color', 1.0, 6)], + ] + elif policy == "v1": + return [ + [('TranslateX_BBox', 0.6, 4), ('Equalize', 0.8, 10)], + [('TranslateY_Only_BBoxes', 0.2, 2), ('Cutout', 0.8, 8)], + [('Sharpness', 0.0, 8), ('ShearX_BBox', 0.4, 0)], + [('ShearY_BBox', 1.0, 2), ('TranslateY_Only_BBoxes', 0.6, 6)], + [('Rotate_BBox', 0.6, 10), ('Color', 1.0, 6)], + [('Color', 0.0, 0), ('ShearX_Only_BBoxes', 0.8, 4)], + [('ShearY_Only_BBoxes', 0.8, 2), ('Flip_Only_BBoxes', 0.0, 10)], + [('Equalize', 0.6, 10), ('TranslateX_BBox', 0.2, 2)], + [('Color', 1.0, 10), ('TranslateY_Only_BBoxes', 0.4, 6)], + [('Rotate_BBox', 0.8, 10), ('Contrast', 0.0, 10)], + [('Cutout', 0.2, 2), ('Brightness', 0.8, 10)], + [('Color', 1.0, 6), ('Equalize', 1.0, 2)], + [('Cutout_Only_BBoxes', 0.4, 6), ('TranslateY_Only_BBoxes', 0.8, 2)], + [('Color', 0.2, 8), ('Rotate_BBox', 0.8, 10)], + [('Sharpness', 0.4, 4), ('TranslateY_Only_BBoxes', 0.0, 4)], + [('Sharpness', 1.0, 4), ('SolarizeAdd', 0.4, 4)], + [('Rotate_BBox', 1.0, 8), ('Sharpness', 0.2, 8)], + [('ShearY_BBox', 0.6, 10), ('Equalize_Only_BBoxes', 0.6, 8)], + [('ShearX_BBox', 0.2, 6), ('TranslateY_Only_BBoxes', 0.2, 10)], + [('SolarizeAdd', 0.6, 8), ('Brightness', 0.8, 10)], + ] + elif policy == "vtest": + return [ + [('TranslateX_BBox', 1.0, 4), ('Equalize', 1.0, 10)], + ] + elif policy == "v2": + return [ + [('Color', 0.0, 6), ('Cutout', 0.6, 8), ('Sharpness', 0.4, 8)], + [('Rotate_BBox', 0.4, 8), ('Sharpness', 0.4, 2), ('Rotate_BBox', 0.8, 10)], + [('TranslateY_BBox', 1.0, 8), ('AutoContrast', 0.8, 2)], + [('AutoContrast', 0.4, 6), ('ShearX_BBox', 0.8, 8), ('Brightness', 0.0, 10)], + [('SolarizeAdd', 0.2, 6), ('Contrast', 0.0, 10), ('AutoContrast', 0.6, 0)], + [('Cutout', 0.2, 0), ('Solarize', 0.8, 8), ('Color', 1.0, 4)], + [('TranslateY_BBox', 0.0, 4), ('Equalize', 0.6, 8), ('Solarize', 0.0, 10)], + [('TranslateY_BBox', 0.2, 2), ('ShearY_BBox', 0.8, 8), ('Rotate_BBox', 0.8, 8)], + [('Cutout', 0.8, 8), ('Brightness', 0.8, 8), ('Cutout', 0.2, 2)], + [('Color', 0.8, 4), ('TranslateY_BBox', 1.0, 6), ('Rotate_BBox', 0.6, 6)], + [('Rotate_BBox', 0.6, 10), ('BBox_Cutout', 1.0, 4), ('Cutout', 0.2, 8)], + [('Rotate_BBox', 0.0, 0), ('Equalize', 0.6, 6), ('ShearY_BBox', 0.6, 8)], + [('Brightness', 0.8, 8), ('AutoContrast', 0.4, 2), ('Brightness', 0.2, 2)], + [('TranslateY_BBox', 0.4, 8), ('Solarize', 0.4, 6), ('SolarizeAdd', 0.2, 10)], + [('Contrast', 1.0, 10), ('SolarizeAdd', 0.2, 8), ('Equalize', 0.2, 4)], + ] + elif policy == "v3": + return [ + [('Posterize', 0.8, 2), ('TranslateX_BBox', 1.0, 8)], + [('BBox_Cutout', 0.2, 10), ('Sharpness', 1.0, 8)], + [('Rotate_BBox', 0.6, 8), ('Rotate_BBox', 0.8, 10)], + [('Equalize', 0.8, 10), ('AutoContrast', 0.2, 10)], + [('SolarizeAdd', 0.2, 2), ('TranslateY_BBox', 0.2, 8)], + [('Sharpness', 0.0, 2), ('Color', 0.4, 8)], + [('Equalize', 1.0, 8), ('TranslateY_BBox', 1.0, 8)], + [('Posterize', 0.6, 2), ('Rotate_BBox', 0.0, 10)], + [('AutoContrast', 0.6, 0), ('Rotate_BBox', 1.0, 6)], + [('Equalize', 0.0, 4), ('Cutout', 0.8, 10)], + [('Brightness', 1.0, 2), ('TranslateY_BBox', 1.0, 6)], + [('Contrast', 0.0, 2), ('ShearY_BBox', 0.8, 0)], + [('AutoContrast', 0.8, 10), ('Contrast', 0.2, 10)], + [('Rotate_BBox', 1.0, 10), ('Cutout', 1.0, 10)], + [('SolarizeAdd', 0.8, 6), ('Equalize', 0.8, 8)], + ] + else: + raise ValueError(f"The provided policy {policy} is not recognized.") + + def forward(self, *inputs: Any) -> Any: + sample = inputs if len(inputs) > 1 else inputs[0] + + id, image = self._extract_image(sample) + _, height, width = get_chw(image) + + policy = self._policies[int(torch.randint(len(self._policies), ()))] + + for transform_id, probability, magnitude_idx in policy: + if not torch.rand(()) <= probability: + continue + + magnitudes_fn, signed = self._AUGMENTATION_SPACE[transform_id] + + magnitudes = magnitudes_fn(10, height, width) + if magnitudes is not None: + magnitude = float(magnitudes[magnitude_idx]) + if signed and torch.rand(()) <= 0.5: + magnitude *= -1 + else: + magnitude = 0.0 + + image = self._apply_image_transform( + image, transform_id, magnitude, interpolation=self.interpolation, fill=self.fill + ) + + return self._put_into_sample(sample, id, image) From 16f6823e42092fe96daca38b039a4615d37a7b00 Mon Sep 17 00:00:00 2001 From: ain-soph Date: Thu, 6 Oct 2022 17:27:58 -0400 Subject: [PATCH 06/27] finish the majority --- .../prototype/transforms/_auto_augment.py | 200 ++++++++++-------- 1 file changed, 113 insertions(+), 87 deletions(-) diff --git a/torchvision/prototype/transforms/_auto_augment.py b/torchvision/prototype/transforms/_auto_augment.py index a8219c7662f..3d0c1f91541 100644 --- a/torchvision/prototype/transforms/_auto_augment.py +++ b/torchvision/prototype/transforms/_auto_augment.py @@ -541,7 +541,7 @@ def _extract_image_bboxes( self, sample: Any, unsupported_types: Tuple[Type, ...] = (features.Mask,), - ) -> List[Tuple[int, Union[PIL.Image.Image, torch.Tensor, features.Image, features.BoundingBox]]]: + ) -> List[Tuple[int, Union[features.ImageType, features.BoundingBox]]]: sample_flat, _ = tree_flatten(sample) images = [] for id, inpt in enumerate(sample_flat): @@ -580,7 +580,16 @@ def _apply_image_bboxes_transform( image = self._apply_image_transform(image, transform_id, magnitude, interpolation, fill) if transform_id == "Rotate": - bboxes.data = F.rotate_bounding_box(bboxes.data, bboxes.format, bboxes.image_size, angle=magnitude) + bboxes.data = F.affine_bounding_box( + bboxes.data, + bboxes.format, + bboxes.image_size, + angle=magnitude, + translate=[0, 0], + scale=1.0, + shear=[0.0, 0.0], + ) + # bboxes.data = F.rotate_bounding_box(bboxes.data, bboxes.format, bboxes.image_size, angle=magnitude)[0] elif transform_id == "TranslateX": bboxes.data = F.affine_bounding_box( bboxes.data, @@ -631,7 +640,6 @@ def _apply_image_bboxes_transform( return image, bboxes - class AutoAugmentDetection(_AutoAugmentDetectionBase): _AUGMENTATION_SPACE = { "AutoContrast": (lambda num_bins, height, width: None, False), @@ -641,32 +649,47 @@ class AutoAugmentDetection(_AutoAugmentDetectionBase): .round() .int(), False, - ), - "Solarize": (lambda num_bins, height, width: torch.linspace(255.0, 0.0, num_bins), False), - "SolarizeAdd": None, # TODO + ), # TODO: tf repo is (0 -> 4) while this seems to be (8 -> 4) + "Solarize": ( + lambda num_bins, height, width: torch.linspace(255.0, 0.0, num_bins), + False, + ), # TODO: check order and 255.0 rather than 256.0 + "SolarizeAdd": ( + lambda num_bins, height, width: torch.linspace(0.0, 110.0, num_bins), + False, + ), # TODO: check 110.0 "Color": (lambda num_bins, height, width: torch.linspace(0.0, 0.9, num_bins), True), "Contrast": (lambda num_bins, height, width: torch.linspace(0.0, 0.9, num_bins), True), "Brightness": (lambda num_bins, height, width: torch.linspace(0.0, 0.9, num_bins), True), "Sharpness": (lambda num_bins, height, width: torch.linspace(0.0, 0.9, num_bins), True), - - 'Cutout': None, # TODO - 'BBox_Cutout': None, # TODO - - "Rotate_BBox": None, # TODO - 'TranslateX_BBox': None, # TODO - 'TranslateY_BBox': None, # TODO - 'ShearX_BBox': None, # TODO - 'ShearY_BBox': None, # TODO - - "Rotate_Only_BBoxes": None, # TODO - 'ShearX_Only_BBoxes': None, # TODO - 'ShearY_Only_BBoxes': None, # TODO - 'TranslateX_Only_BBoxes': None, # TODO - 'TranslateY_Only_BBoxes': None, # TODO - 'Flip_Only_BBoxes': None, # TODO - 'Solarize_Only_BBoxes': None, # TODO - 'Equalize_Only_BBoxes': None, # TODO - 'Cutout_Only_BBoxes': None, # TODO + "Cutout": (lambda num_bins, height, width: torch.linspace(0.0, 100.0, num_bins), False), # TODO: int()? + "BBox_Cutout": (lambda num_bins, height, width: torch.linspace(0.0, 0.75, num_bins), False), + "Rotate_BBox": (lambda num_bins, height, width: torch.linspace(0.0, 30.0, num_bins), True), + "TranslateX_BBox": ( + lambda num_bins, height, width: torch.linspace(0.0, 250.0, num_bins), + True, + ), # TODO: check 250.0 + "TranslateY_BBox": ( + lambda num_bins, height, width: torch.linspace(0.0, 250.0, num_bins), + True, + ), # TODO: check 250.0 + "ShearX_BBox": (lambda num_bins, height, width: torch.linspace(0.0, 0.3, num_bins), True), + "ShearY_BBox": (lambda num_bins, height, width: torch.linspace(0.0, 0.3, num_bins), True), + "Rotate_Only_BBoxes": (lambda num_bins, height, width: torch.linspace(0.0, 30.0, num_bins), True), + "ShearX_Only_BBoxes": (lambda num_bins, height, width: torch.linspace(0.0, 0.3, num_bins), True), + "ShearY_Only_BBoxes": (lambda num_bins, height, width: torch.linspace(0.0, 0.3, num_bins), True), + "TranslateX_Only_BBoxes": ( + lambda num_bins, height, width: torch.linspace(0.0, 120.0, num_bins), + True, + ), # TODO: check 120.0 + "TranslateY_Only_BBoxes": ( + lambda num_bins, height, width: torch.linspace(0.0, 120.0, num_bins), + True, + ), # TODO: check 120.0 + "Flip_Only_BBoxes": (lambda num_bins, height, width: None, False), + "Solarize_Only_BBoxes": (lambda num_bins, height, width: torch.linspace(255.0, 0.0, num_bins), False), + "Equalize_Only_BBoxes": (lambda num_bins, height, width: None, False), + "Cutout_Only_BBoxes": (lambda num_bins, height, width: torch.linspace(0.0, 50.0, num_bins), False), } def __init__( @@ -679,79 +702,77 @@ def __init__( self.policy = policy self._policies = self._get_policies(policy) - def _get_policies( - self, policy: str - ) -> List[List[Tuple[str, float, Optional[int]]]]: + def _get_policies(self, policy: str) -> List[List[Tuple[str, float, Optional[int]]]]: if policy == "v0": return [ - [('TranslateX_BBox', 0.6, 4), ('Equalize', 0.8, 10)], - [('TranslateY_Only_BBoxes', 0.2, 2), ('Cutout', 0.8, 8)], - [('Sharpness', 0.0, 8), ('ShearX_BBox', 0.4, 0)], - [('ShearY_BBox', 1.0, 2), ('TranslateY_Only_BBoxes', 0.6, 6)], - [('Rotate_BBox', 0.6, 10), ('Color', 1.0, 6)], + [("TranslateX_BBox", 0.6, 4), ("Equalize", 0.8, 10)], + [("TranslateY_Only_BBoxes", 0.2, 2), ("Cutout", 0.8, 8)], + [("Sharpness", 0.0, 8), ("ShearX_BBox", 0.4, 0)], + [("ShearY_BBox", 1.0, 2), ("TranslateY_Only_BBoxes", 0.6, 6)], + [("Rotate_BBox", 0.6, 10), ("Color", 1.0, 6)], ] elif policy == "v1": return [ - [('TranslateX_BBox', 0.6, 4), ('Equalize', 0.8, 10)], - [('TranslateY_Only_BBoxes', 0.2, 2), ('Cutout', 0.8, 8)], - [('Sharpness', 0.0, 8), ('ShearX_BBox', 0.4, 0)], - [('ShearY_BBox', 1.0, 2), ('TranslateY_Only_BBoxes', 0.6, 6)], - [('Rotate_BBox', 0.6, 10), ('Color', 1.0, 6)], - [('Color', 0.0, 0), ('ShearX_Only_BBoxes', 0.8, 4)], - [('ShearY_Only_BBoxes', 0.8, 2), ('Flip_Only_BBoxes', 0.0, 10)], - [('Equalize', 0.6, 10), ('TranslateX_BBox', 0.2, 2)], - [('Color', 1.0, 10), ('TranslateY_Only_BBoxes', 0.4, 6)], - [('Rotate_BBox', 0.8, 10), ('Contrast', 0.0, 10)], - [('Cutout', 0.2, 2), ('Brightness', 0.8, 10)], - [('Color', 1.0, 6), ('Equalize', 1.0, 2)], - [('Cutout_Only_BBoxes', 0.4, 6), ('TranslateY_Only_BBoxes', 0.8, 2)], - [('Color', 0.2, 8), ('Rotate_BBox', 0.8, 10)], - [('Sharpness', 0.4, 4), ('TranslateY_Only_BBoxes', 0.0, 4)], - [('Sharpness', 1.0, 4), ('SolarizeAdd', 0.4, 4)], - [('Rotate_BBox', 1.0, 8), ('Sharpness', 0.2, 8)], - [('ShearY_BBox', 0.6, 10), ('Equalize_Only_BBoxes', 0.6, 8)], - [('ShearX_BBox', 0.2, 6), ('TranslateY_Only_BBoxes', 0.2, 10)], - [('SolarizeAdd', 0.6, 8), ('Brightness', 0.8, 10)], + [("TranslateX_BBox", 0.6, 4), ("Equalize", 0.8, 10)], + [("TranslateY_Only_BBoxes", 0.2, 2), ("Cutout", 0.8, 8)], + [("Sharpness", 0.0, 8), ("ShearX_BBox", 0.4, 0)], + [("ShearY_BBox", 1.0, 2), ("TranslateY_Only_BBoxes", 0.6, 6)], + [("Rotate_BBox", 0.6, 10), ("Color", 1.0, 6)], + [("Color", 0.0, 0), ("ShearX_Only_BBoxes", 0.8, 4)], + [("ShearY_Only_BBoxes", 0.8, 2), ("Flip_Only_BBoxes", 0.0, 10)], + [("Equalize", 0.6, 10), ("TranslateX_BBox", 0.2, 2)], + [("Color", 1.0, 10), ("TranslateY_Only_BBoxes", 0.4, 6)], + [("Rotate_BBox", 0.8, 10), ("Contrast", 0.0, 10)], + [("Cutout", 0.2, 2), ("Brightness", 0.8, 10)], + [("Color", 1.0, 6), ("Equalize", 1.0, 2)], + [("Cutout_Only_BBoxes", 0.4, 6), ("TranslateY_Only_BBoxes", 0.8, 2)], + [("Color", 0.2, 8), ("Rotate_BBox", 0.8, 10)], + [("Sharpness", 0.4, 4), ("TranslateY_Only_BBoxes", 0.0, 4)], + [("Sharpness", 1.0, 4), ("SolarizeAdd", 0.4, 4)], + [("Rotate_BBox", 1.0, 8), ("Sharpness", 0.2, 8)], + [("ShearY_BBox", 0.6, 10), ("Equalize_Only_BBoxes", 0.6, 8)], + [("ShearX_BBox", 0.2, 6), ("TranslateY_Only_BBoxes", 0.2, 10)], + [("SolarizeAdd", 0.6, 8), ("Brightness", 0.8, 10)], ] elif policy == "vtest": return [ - [('TranslateX_BBox', 1.0, 4), ('Equalize', 1.0, 10)], + [("TranslateX_BBox", 1.0, 4), ("Equalize", 1.0, 10)], ] elif policy == "v2": return [ - [('Color', 0.0, 6), ('Cutout', 0.6, 8), ('Sharpness', 0.4, 8)], - [('Rotate_BBox', 0.4, 8), ('Sharpness', 0.4, 2), ('Rotate_BBox', 0.8, 10)], - [('TranslateY_BBox', 1.0, 8), ('AutoContrast', 0.8, 2)], - [('AutoContrast', 0.4, 6), ('ShearX_BBox', 0.8, 8), ('Brightness', 0.0, 10)], - [('SolarizeAdd', 0.2, 6), ('Contrast', 0.0, 10), ('AutoContrast', 0.6, 0)], - [('Cutout', 0.2, 0), ('Solarize', 0.8, 8), ('Color', 1.0, 4)], - [('TranslateY_BBox', 0.0, 4), ('Equalize', 0.6, 8), ('Solarize', 0.0, 10)], - [('TranslateY_BBox', 0.2, 2), ('ShearY_BBox', 0.8, 8), ('Rotate_BBox', 0.8, 8)], - [('Cutout', 0.8, 8), ('Brightness', 0.8, 8), ('Cutout', 0.2, 2)], - [('Color', 0.8, 4), ('TranslateY_BBox', 1.0, 6), ('Rotate_BBox', 0.6, 6)], - [('Rotate_BBox', 0.6, 10), ('BBox_Cutout', 1.0, 4), ('Cutout', 0.2, 8)], - [('Rotate_BBox', 0.0, 0), ('Equalize', 0.6, 6), ('ShearY_BBox', 0.6, 8)], - [('Brightness', 0.8, 8), ('AutoContrast', 0.4, 2), ('Brightness', 0.2, 2)], - [('TranslateY_BBox', 0.4, 8), ('Solarize', 0.4, 6), ('SolarizeAdd', 0.2, 10)], - [('Contrast', 1.0, 10), ('SolarizeAdd', 0.2, 8), ('Equalize', 0.2, 4)], + [("Color", 0.0, 6), ("Cutout", 0.6, 8), ("Sharpness", 0.4, 8)], + [("Rotate_BBox", 0.4, 8), ("Sharpness", 0.4, 2), ("Rotate_BBox", 0.8, 10)], + [("TranslateY_BBox", 1.0, 8), ("AutoContrast", 0.8, 2)], + [("AutoContrast", 0.4, 6), ("ShearX_BBox", 0.8, 8), ("Brightness", 0.0, 10)], + [("SolarizeAdd", 0.2, 6), ("Contrast", 0.0, 10), ("AutoContrast", 0.6, 0)], + [("Cutout", 0.2, 0), ("Solarize", 0.8, 8), ("Color", 1.0, 4)], + [("TranslateY_BBox", 0.0, 4), ("Equalize", 0.6, 8), ("Solarize", 0.0, 10)], + [("TranslateY_BBox", 0.2, 2), ("ShearY_BBox", 0.8, 8), ("Rotate_BBox", 0.8, 8)], + [("Cutout", 0.8, 8), ("Brightness", 0.8, 8), ("Cutout", 0.2, 2)], + [("Color", 0.8, 4), ("TranslateY_BBox", 1.0, 6), ("Rotate_BBox", 0.6, 6)], + [("Rotate_BBox", 0.6, 10), ("BBox_Cutout", 1.0, 4), ("Cutout", 0.2, 8)], + [("Rotate_BBox", 0.0, 0), ("Equalize", 0.6, 6), ("ShearY_BBox", 0.6, 8)], + [("Brightness", 0.8, 8), ("AutoContrast", 0.4, 2), ("Brightness", 0.2, 2)], + [("TranslateY_BBox", 0.4, 8), ("Solarize", 0.4, 6), ("SolarizeAdd", 0.2, 10)], + [("Contrast", 1.0, 10), ("SolarizeAdd", 0.2, 8), ("Equalize", 0.2, 4)], ] elif policy == "v3": return [ - [('Posterize', 0.8, 2), ('TranslateX_BBox', 1.0, 8)], - [('BBox_Cutout', 0.2, 10), ('Sharpness', 1.0, 8)], - [('Rotate_BBox', 0.6, 8), ('Rotate_BBox', 0.8, 10)], - [('Equalize', 0.8, 10), ('AutoContrast', 0.2, 10)], - [('SolarizeAdd', 0.2, 2), ('TranslateY_BBox', 0.2, 8)], - [('Sharpness', 0.0, 2), ('Color', 0.4, 8)], - [('Equalize', 1.0, 8), ('TranslateY_BBox', 1.0, 8)], - [('Posterize', 0.6, 2), ('Rotate_BBox', 0.0, 10)], - [('AutoContrast', 0.6, 0), ('Rotate_BBox', 1.0, 6)], - [('Equalize', 0.0, 4), ('Cutout', 0.8, 10)], - [('Brightness', 1.0, 2), ('TranslateY_BBox', 1.0, 6)], - [('Contrast', 0.0, 2), ('ShearY_BBox', 0.8, 0)], - [('AutoContrast', 0.8, 10), ('Contrast', 0.2, 10)], - [('Rotate_BBox', 1.0, 10), ('Cutout', 1.0, 10)], - [('SolarizeAdd', 0.8, 6), ('Equalize', 0.8, 8)], + [("Posterize", 0.8, 2), ("TranslateX_BBox", 1.0, 8)], + [("BBox_Cutout", 0.2, 10), ("Sharpness", 1.0, 8)], + [("Rotate_BBox", 0.6, 8), ("Rotate_BBox", 0.8, 10)], + [("Equalize", 0.8, 10), ("AutoContrast", 0.2, 10)], + [("SolarizeAdd", 0.2, 2), ("TranslateY_BBox", 0.2, 8)], + [("Sharpness", 0.0, 2), ("Color", 0.4, 8)], + [("Equalize", 1.0, 8), ("TranslateY_BBox", 1.0, 8)], + [("Posterize", 0.6, 2), ("Rotate_BBox", 0.0, 10)], + [("AutoContrast", 0.6, 0), ("Rotate_BBox", 1.0, 6)], + [("Equalize", 0.0, 4), ("Cutout", 0.8, 10)], + [("Brightness", 1.0, 2), ("TranslateY_BBox", 1.0, 6)], + [("Contrast", 0.0, 2), ("ShearY_BBox", 0.8, 0)], + [("AutoContrast", 0.8, 10), ("Contrast", 0.2, 10)], + [("Rotate_BBox", 1.0, 10), ("Cutout", 1.0, 10)], + [("SolarizeAdd", 0.8, 6), ("Equalize", 0.8, 8)], ] else: raise ValueError(f"The provided policy {policy} is not recognized.") @@ -759,7 +780,11 @@ def _get_policies( def forward(self, *inputs: Any) -> Any: sample = inputs if len(inputs) > 1 else inputs[0] - id, image = self._extract_image(sample) + images = self._extract_image_bboxes(sample) + id, image = images[0] + id_bboxes, bboxes = images[1] + image: features.ImageType + bboxes: features.BoundingBox _, height, width = get_chw(image) policy = self._policies[int(torch.randint(len(self._policies), ()))] @@ -778,8 +803,9 @@ def forward(self, *inputs: Any) -> Any: else: magnitude = 0.0 - image = self._apply_image_transform( - image, transform_id, magnitude, interpolation=self.interpolation, fill=self.fill + image = self._apply_image_bboxes_transform( + image, bboxes, transform_id, magnitude, interpolation=self.interpolation, fill=self.fill ) + self._put_into_sample(sample, id_bboxes, bboxes) return self._put_into_sample(sample, id, image) From e712bc5c9b6a2c0f0574f6aed57f8d18233bfefe Mon Sep 17 00:00:00 2001 From: Ren Pang Date: Sat, 5 Nov 2022 00:44:45 -0400 Subject: [PATCH 07/27] update --- .../prototype/transforms/_auto_augment.py | 116 ++++++++++-------- 1 file changed, 67 insertions(+), 49 deletions(-) diff --git a/torchvision/prototype/transforms/_auto_augment.py b/torchvision/prototype/transforms/_auto_augment.py index c8f9bd54422..28b2cf1bba9 100644 --- a/torchvision/prototype/transforms/_auto_augment.py +++ b/torchvision/prototype/transforms/_auto_augment.py @@ -519,8 +519,55 @@ def forward(self, *inputs: Any) -> Any: class _AutoAugmentDetectionBase(_AutoAugmentBase): + def _flatten_and_extract_image_or_video_and_bboxes( + self, + inputs: Any, + unsupported_types: Tuple[Type, ...] = (features.Mask), + ) -> Tuple[ + Tuple[List[Any], TreeSpec, int, int], Union[features.ImageType, features.VideoType], features.BoundingBox + ]: + flat_inputs, spec = tree_flatten(inputs if len(inputs) > 1 else inputs[0]) + + image_or_videos = [] + bboxes = [] + for idx, inpt in enumerate(flat_inputs): + if _isinstance(inpt, (features.Image, PIL.Image.Image, features.is_simple_tensor, features.Video)): + image_or_videos.append((idx, inpt)) + elif isinstance(inpt, unsupported_types): + raise TypeError(f"Inputs of type {type(inpt).__name__} are not supported by {type(self).__name__}()") + + if not image_or_videos: + raise TypeError("Found no image in the sample.") + if len(image_or_videos) > 1: + raise TypeError( + f"Auto augment transformations are only properly defined for a single image or video, " + f"but found {len(image_or_videos)}." + ) + if not bboxes: + raise TypeError("Found no bounding box in the sample.") + if len(bboxes) > 1: + raise TypeError( + f"Auto augment transformations are only properly defined for a single bboxes tensor, " + f"but found {len(bboxes)}." + ) + + idx1, image_or_video = image_or_videos[0] + idx2, bboxes = bboxes[0] + return (flat_inputs, spec, idx1, idx2), image_or_video, bboxes + + def _unflatten_and_insert_image_or_video_and_bboxes( + self, + flat_inputs_with_spec: Tuple[List[Any], TreeSpec, int, int], + image_or_video: Union[features.ImageType, features.VideoType], + bboxes: features.BoundingBox, + ) -> Any: + flat_inputs, spec, idx1, idx2 = flat_inputs_with_spec + flat_inputs[idx1] = image_or_video + flat_inputs[idx2] = bboxes + return tree_unflatten(flat_inputs, spec) + @staticmethod - def _transform_image_in_bboxes( + def _transform_image_or_video_in_bboxes( fn: Callable[..., torch.Tensor], fn_kwrgs: dict, image: torch.Tensor, bboxes: torch.Tensor ) -> torch.Tensor: new_img = image.clone() @@ -530,30 +577,7 @@ def _transform_image_in_bboxes( new_img[..., bbox[1] : bbox[3], bbox[0] : bbox[2]] = out_bbox_img return new_img - def _extract_image_bboxes( - self, - sample: Any, - unsupported_types: Tuple[Type, ...] = (features.Mask,), - ) -> List[Tuple[int, Union[features.ImageType, features.BoundingBox]]]: - sample_flat, _ = tree_flatten(sample) - images = [] - for id, inpt in enumerate(sample_flat): - if _isinstance(inpt, (features.Image, PIL.Image.Image, features.is_simple_tensor)): - images.append((id, inpt)) - elif isinstance(inpt, features.BoundingBox): - images.append((id, inpt)) - elif isinstance(inpt, unsupported_types): - raise TypeError(f"Inputs of type {type(inpt).__name__} are not supported by {type(self).__name__}()") - - if not images: - raise TypeError("Found no image in the sample.") - if len(images) > 2: - raise TypeError( - f"Auto augment transformations are only properly defined for a single image and its bboxes, but found {len(images)}." - ) - return images - - def _apply_image_bboxes_transform( + def _apply_image_or_video_and_bboxes_transform( self, image: Any, bboxes: features.BoundingBox, @@ -567,16 +591,18 @@ def _apply_image_bboxes_transform( if transform_id.endswith("_Only_BBoxes"): transform_id = transform_id[:-12] fn_kwargs = dict(transform_id=transform_id, magnitude=magnitude, interpolation=interpolation, fill=fill) - image = self._transform_image_in_bboxes(self._apply_image_transform, fn_kwargs, image, bboxes) + image = self._transform_image_or_video_in_bboxes( + self._apply_image_or_video_transform, fn_kwargs, image, bboxes + ) elif transform_id.endswith("_BBox"): transform_id = transform_id[:-5] - image = self._apply_image_transform(image, transform_id, magnitude, interpolation, fill) + image = self._apply_image_or_video_transform(image, transform_id, magnitude, interpolation, fill) if transform_id == "Rotate": bboxes.data = F.affine_bounding_box( bboxes.data, bboxes.format, - bboxes.image_size, + bboxes.spatial_size, angle=magnitude, translate=[0, 0], scale=1.0, @@ -587,7 +613,7 @@ def _apply_image_bboxes_transform( bboxes.data = F.affine_bounding_box( bboxes.data, bboxes.format, - bboxes.image_size, + bboxes.spatial_size, angle=0.0, translate=[int(magnitude), 0], scale=1.0, @@ -597,7 +623,7 @@ def _apply_image_bboxes_transform( bboxes.data = F.affine_bounding_box( bboxes.data, bboxes.format, - bboxes.image_size, + bboxes.spatial_size, angle=0.0, translate=[0, int(magnitude)], scale=1.0, @@ -607,7 +633,7 @@ def _apply_image_bboxes_transform( bboxes.data = F.affine_bounding_box( bboxes.data, bboxes.format, - bboxes.image_size, + bboxes.spatial_size, angle=0.0, translate=[0, 0], scale=1.0, @@ -618,7 +644,7 @@ def _apply_image_bboxes_transform( bboxes.data = F.affine_bounding_box( bboxes.data, bboxes.format, - bboxes.image_size, + bboxes.spatial_size, angle=0.0, translate=[0, 0], scale=1.0, @@ -628,7 +654,7 @@ def _apply_image_bboxes_transform( elif transform_id == "BBox_Cutout": raise NotImplementedError() else: - image = self._apply_image_transform(image, transform_id, magnitude, interpolation, fill) + image = self._apply_image_or_video_transform(image, transform_id, magnitude, interpolation, fill) return image, bboxes @@ -638,9 +664,7 @@ class AutoAugmentDetection(_AutoAugmentDetectionBase): "AutoContrast": (lambda num_bins, height, width: None, False), "Equalize": (lambda num_bins, height, width: None, False), "Posterize": ( - lambda num_bins, height, width: cast(torch.Tensor, 8 - (torch.arange(num_bins) / ((num_bins - 1) / 4))) - .round() - .int(), + lambda num_bins, height, width: (8 - (torch.arange(num_bins) / ((num_bins - 1) / 6))).round().int(), False, ), # TODO: tf repo is (0 -> 4) while this seems to be (8 -> 4) "Solarize": ( @@ -771,15 +795,10 @@ def _get_policies(self, policy: str) -> List[List[Tuple[str, float, Optional[int raise ValueError(f"The provided policy {policy} is not recognized.") def forward(self, *inputs: Any) -> Any: - sample = inputs if len(inputs) > 1 else inputs[0] - - images = self._extract_image_bboxes(sample) - id, image = images[0] - id_bboxes, bboxes = images[1] - image: features.ImageType - bboxes: features.BoundingBox - _, height, width = get_chw(image) - + flat_inputs_with_spec, image_or_video, bboxes = self._flatten_and_extract_image_or_video_and_bboxes( + inputs, unsupported_types=(features.Mask,) + ) + height, width = get_spatial_size(image_or_video) policy = self._policies[int(torch.randint(len(self._policies), ()))] for transform_id, probability, magnitude_idx in policy: @@ -796,9 +815,8 @@ def forward(self, *inputs: Any) -> Any: else: magnitude = 0.0 - image = self._apply_image_bboxes_transform( - image, bboxes, transform_id, magnitude, interpolation=self.interpolation, fill=self.fill + image_or_video, bboxes = self._apply_image_or_video_and_bboxes_transform( + image_or_video, bboxes, transform_id, magnitude, interpolation=self.interpolation, fill=self.fill ) - self._put_into_sample(sample, id_bboxes, bboxes) - return self._put_into_sample(sample, id, image) + return self._unflatten_and_insert_image_or_video_and_bboxes(flat_inputs_with_spec, image_or_video, bboxes) From 936c7045bb10c92c7be447b661ffde7bc18270a2 Mon Sep 17 00:00:00 2001 From: Ren Pang Date: Sat, 5 Nov 2022 00:45:23 -0400 Subject: [PATCH 08/27] remove pyd files --- torchvision/_C.pyd | Bin 537600 -> 0 bytes torchvision/image.pyd | Bin 130048 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 torchvision/_C.pyd delete mode 100644 torchvision/image.pyd diff --git a/torchvision/_C.pyd b/torchvision/_C.pyd deleted file mode 100644 index 5d8967e74aaa82314b8ccd1e385f513155a4c675..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 537600 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

EDJkdr-!BCL#-YbhYvM+ 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

Vr=Fo*Mqzqm7 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 D4$=yQ diff --git a/torchvision/image.pyd b/torchvision/image.pyd deleted file mode 100644 index dc9fb1a20ac5d8ed494a686d377fddb2e5ed5a10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 130048 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 Date: Sat, 5 Nov 2022 01:13:51 -0400 Subject: [PATCH 09/27] fix type linting errors --- .../prototype/transforms/_auto_augment.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/torchvision/prototype/transforms/_auto_augment.py b/torchvision/prototype/transforms/_auto_augment.py index 28b2cf1bba9..9909d92e388 100644 --- a/torchvision/prototype/transforms/_auto_augment.py +++ b/torchvision/prototype/transforms/_auto_augment.py @@ -522,17 +522,19 @@ class _AutoAugmentDetectionBase(_AutoAugmentBase): def _flatten_and_extract_image_or_video_and_bboxes( self, inputs: Any, - unsupported_types: Tuple[Type, ...] = (features.Mask), + unsupported_types: Tuple[Type, ...] = (features.Mask,), ) -> Tuple[ Tuple[List[Any], TreeSpec, int, int], Union[features.ImageType, features.VideoType], features.BoundingBox ]: flat_inputs, spec = tree_flatten(inputs if len(inputs) > 1 else inputs[0]) image_or_videos = [] - bboxes = [] + bboxes_list = [] for idx, inpt in enumerate(flat_inputs): if _isinstance(inpt, (features.Image, PIL.Image.Image, features.is_simple_tensor, features.Video)): image_or_videos.append((idx, inpt)) + elif isinstance(inpt, features.BoundingBox): + bboxes_list.append((idx, inpt)) elif isinstance(inpt, unsupported_types): raise TypeError(f"Inputs of type {type(inpt).__name__} are not supported by {type(self).__name__}()") @@ -543,16 +545,16 @@ def _flatten_and_extract_image_or_video_and_bboxes( f"Auto augment transformations are only properly defined for a single image or video, " f"but found {len(image_or_videos)}." ) - if not bboxes: + if not bboxes_list: raise TypeError("Found no bounding box in the sample.") - if len(bboxes) > 1: + if len(bboxes_list) > 1: raise TypeError( f"Auto augment transformations are only properly defined for a single bboxes tensor, " - f"but found {len(bboxes)}." + f"but found {len(bboxes_list)}." ) idx1, image_or_video = image_or_videos[0] - idx2, bboxes = bboxes[0] + idx2, bboxes = bboxes_list[0] return (flat_inputs, spec, idx1, idx2), image_or_video, bboxes def _unflatten_and_insert_image_or_video_and_bboxes( @@ -584,7 +586,7 @@ def _apply_image_or_video_and_bboxes_transform( transform_id: str, magnitude: float, interpolation: InterpolationMode, - fill: Dict[Type, features.FillType], + fill: Dict[Type, features.FillTypeJIT], ) -> Tuple[Any, features.BoundingBox]: # TODO: SolarizeAdd, Cutout, BBox_Cutout, Flip_Only_BBoxes, Cutout_Only_BBoxes From b7a8adf5071d5e8c1876439bef14c2b105827a7d Mon Sep 17 00:00:00 2001 From: Ren Pang Date: Sat, 5 Nov 2022 01:55:40 -0400 Subject: [PATCH 10/27] add test --- test/test_prototype_transforms.py | 31 ++++++++++++++++++++ torchvision/prototype/transforms/__init__.py | 2 +- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/test/test_prototype_transforms.py b/test/test_prototype_transforms.py index 9ba5c856421..b515be879b1 100644 --- a/test/test_prototype_transforms.py +++ b/test/test_prototype_transforms.py @@ -185,6 +185,37 @@ def test_mixup_cutmix(self, transform, input): def test_auto_augment(self, transform, input): transform(input) + @parametrize( + [ + ( + transform, + itertools.chain.from_iterable( + fn( + color_spaces=[ + features.ColorSpace.GRAY, + features.ColorSpace.RGB, + ], + dtypes=[torch.uint8], + extra_dims=[(), (4,)], + **(dict(num_frames=["random"]) if fn is make_videos else dict()), + ) + for fn in [ + make_images, + # make_vanilla_tensor_images, + # make_pil_images, + make_videos, + ] + ), + ) + for transform in ( + transforms.AutoAugmentDetection("vtest"), + ) + ] + ) + def test_auto_augment_detection(self, transform, input): + bboxes = make_bounding_box(spatial_size=input.spatial_size, format=features.BoundingBoxFormat.XYXY) + transform(input, bboxes) + @parametrize( [ ( diff --git a/torchvision/prototype/transforms/__init__.py b/torchvision/prototype/transforms/__init__.py index 2f9bd76d4ed..8421db995dc 100644 --- a/torchvision/prototype/transforms/__init__.py +++ b/torchvision/prototype/transforms/__init__.py @@ -6,7 +6,7 @@ from ._presets import StereoMatching # usort: skip from ._augment import RandomCutmix, RandomErasing, RandomMixup, SimpleCopyPaste -from ._auto_augment import AugMix, AutoAugment, RandAugment, TrivialAugmentWide +from ._auto_augment import AugMix, AutoAugment, AutoAugmentDetection, RandAugment, TrivialAugmentWide from ._color import ( ColorJitter, RandomAdjustSharpness, From faa1187a5c2d5f310a5ec75b14dfb562a4b9c510 Mon Sep 17 00:00:00 2001 From: Ren Pang Date: Sat, 5 Nov 2022 02:08:03 -0400 Subject: [PATCH 11/27] format test file --- test/test_prototype_transforms.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/test/test_prototype_transforms.py b/test/test_prototype_transforms.py index b515be879b1..32f049cc652 100644 --- a/test/test_prototype_transforms.py +++ b/test/test_prototype_transforms.py @@ -207,9 +207,7 @@ def test_auto_augment(self, transform, input): ] ), ) - for transform in ( - transforms.AutoAugmentDetection("vtest"), - ) + for transform in (transforms.AutoAugmentDetection("vtest"),) ] ) def test_auto_augment_detection(self, transform, input): From 04ebdc76be14fcc83c441589791b09ffa5a00792 Mon Sep 17 00:00:00 2001 From: ain-soph Date: Mon, 19 Dec 2022 23:43:55 -0500 Subject: [PATCH 12/27] update codes --- .../prototype/transforms/_auto_augment.py | 67 +++++++++---------- 1 file changed, 30 insertions(+), 37 deletions(-) diff --git a/torchvision/prototype/transforms/_auto_augment.py b/torchvision/prototype/transforms/_auto_augment.py index 78eb5365e05..64eb7adf3aa 100644 --- a/torchvision/prototype/transforms/_auto_augment.py +++ b/torchvision/prototype/transforms/_auto_augment.py @@ -532,18 +532,26 @@ class _AutoAugmentDetectionBase(_AutoAugmentBase): def _flatten_and_extract_image_or_video_and_bboxes( self, inputs: Any, - unsupported_types: Tuple[Type, ...] = (features.Mask,), + unsupported_types: Tuple[Type, ...] = (datapoints.Mask,), ) -> Tuple[ - Tuple[List[Any], TreeSpec, int, int], Union[features.ImageType, features.VideoType], features.BoundingBox + Tuple[List[Any], TreeSpec, int, int], Union[datapoints.ImageType, datapoints.VideoType], datapoints.BoundingBox ]: flat_inputs, spec = tree_flatten(inputs if len(inputs) > 1 else inputs[0]) image_or_videos = [] bboxes_list = [] for idx, inpt in enumerate(flat_inputs): - if _isinstance(inpt, (features.Image, PIL.Image.Image, features.is_simple_tensor, features.Video)): + if check_type( + inpt, + ( + datapoints.Image, + PIL.Image.Image, + is_simple_tensor, + datapoints.Video, + ), + ): image_or_videos.append((idx, inpt)) - elif isinstance(inpt, features.BoundingBox): + elif isinstance(inpt, datapoints.BoundingBox): bboxes_list.append((idx, inpt)) elif isinstance(inpt, unsupported_types): raise TypeError(f"Inputs of type {type(inpt).__name__} are not supported by {type(self).__name__}()") @@ -570,8 +578,8 @@ def _flatten_and_extract_image_or_video_and_bboxes( def _unflatten_and_insert_image_or_video_and_bboxes( self, flat_inputs_with_spec: Tuple[List[Any], TreeSpec, int, int], - image_or_video: Union[features.ImageType, features.VideoType], - bboxes: features.BoundingBox, + image_or_video: Union[datapoints.ImageType, datapoints.VideoType], + bboxes: datapoints.BoundingBox, ) -> Any: flat_inputs, spec, idx1, idx2 = flat_inputs_with_spec flat_inputs[idx1] = image_or_video @@ -592,12 +600,12 @@ def _transform_image_or_video_in_bboxes( def _apply_image_or_video_and_bboxes_transform( self, image: Any, - bboxes: features.BoundingBox, + bboxes: datapoints.BoundingBox, transform_id: str, magnitude: float, interpolation: InterpolationMode, - fill: Dict[Type, features.FillTypeJIT], - ) -> Tuple[Any, features.BoundingBox]: + fill: Dict[Type, datapoints.FillTypeJIT], + ) -> Tuple[Any, datapoints.BoundingBox]: # TODO: SolarizeAdd, Cutout, BBox_Cutout, Flip_Only_BBoxes, Cutout_Only_BBoxes if transform_id.endswith("_Only_BBoxes"): @@ -611,41 +619,29 @@ def _apply_image_or_video_and_bboxes_transform( image = self._apply_image_or_video_transform(image, transform_id, magnitude, interpolation, fill) if transform_id == "Rotate": - bboxes.data = F.affine_bounding_box( - bboxes.data, - bboxes.format, - bboxes.spatial_size, - angle=magnitude, - translate=[0, 0], - scale=1.0, - shear=[0.0, 0.0], - ) - # bboxes.data = F.rotate_bounding_box(bboxes.data, bboxes.format, bboxes.image_size, angle=magnitude)[0] + bboxes = bboxes.rotate(angle=magnitude) + # bboxes = bboxes.affine( + # angle=magnitude, + # translate=[0, 0], + # scale=1.0, + # shear=[0.0, 0.0], + # ) elif transform_id == "TranslateX": - bboxes.data = F.affine_bounding_box( - bboxes.data, - bboxes.format, - bboxes.spatial_size, + bboxes = bboxes.affine( angle=0.0, translate=[int(magnitude), 0], scale=1.0, shear=[0.0, 0.0], ) elif transform_id == "TranslateY": - bboxes.data = F.affine_bounding_box( - bboxes.data, - bboxes.format, - bboxes.spatial_size, + bboxes = bboxes.affine( angle=0.0, translate=[0, int(magnitude)], scale=1.0, shear=[0.0, 0.0], ) elif transform_id == "ShearX": - bboxes.data = F.affine_bounding_box( - bboxes.data, - bboxes.format, - bboxes.spatial_size, + bboxes = bboxes.affine( angle=0.0, translate=[0, 0], scale=1.0, @@ -653,10 +649,7 @@ def _apply_image_or_video_and_bboxes_transform( center=[0, 0], ) elif transform_id == "ShearY": - bboxes.data = F.affine_bounding_box( - bboxes.data, - bboxes.format, - bboxes.spatial_size, + bboxes = bboxes.affine( angle=0.0, translate=[0, 0], scale=1.0, @@ -725,7 +718,7 @@ def __init__( self, policy: str = "v0", interpolation: InterpolationMode = InterpolationMode.NEAREST, - fill: Union[features.FillType, Dict[Type, features.FillType]] = None, + fill: Union[datapoints.FillType, Dict[Type, datapoints.FillType]] = None, ) -> None: super().__init__(interpolation=interpolation, fill=fill) self.policy = policy @@ -808,7 +801,7 @@ def _get_policies(self, policy: str) -> List[List[Tuple[str, float, Optional[int def forward(self, *inputs: Any) -> Any: flat_inputs_with_spec, image_or_video, bboxes = self._flatten_and_extract_image_or_video_and_bboxes( - inputs, unsupported_types=(features.Mask,) + inputs, unsupported_types=(datapoints.Mask,) ) height, width = get_spatial_size(image_or_video) policy = self._policies[int(torch.randint(len(self._policies), ()))] From 1c8f0bc7a766d5fb017aa0e14d6bc7f040225f8c Mon Sep 17 00:00:00 2001 From: ain-soph Date: Tue, 20 Dec 2022 15:31:11 -0500 Subject: [PATCH 13/27] fix test file --- test/test_prototype_transforms.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/test_prototype_transforms.py b/test/test_prototype_transforms.py index 19bd2bbe440..bb20e9bc988 100644 --- a/test/test_prototype_transforms.py +++ b/test/test_prototype_transforms.py @@ -194,8 +194,8 @@ def test_auto_augment(self, transform, input): itertools.chain.from_iterable( fn( color_spaces=[ - features.ColorSpace.GRAY, - features.ColorSpace.RGB, + datapoints.ColorSpace.GRAY, + datapoints.ColorSpace.RGB, ], dtypes=[torch.uint8], extra_dims=[(), (4,)], From d46d4c7d3f25360cd6bf6f490c7558da9c1a036b Mon Sep 17 00:00:00 2001 From: ain-soph Date: Tue, 20 Dec 2022 18:13:07 -0500 Subject: [PATCH 14/27] another test fix --- test/test_prototype_transforms.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/test_prototype_transforms.py b/test/test_prototype_transforms.py index bb20e9bc988..bdf1fef48b1 100644 --- a/test/test_prototype_transforms.py +++ b/test/test_prototype_transforms.py @@ -213,7 +213,7 @@ def test_auto_augment(self, transform, input): ] ) def test_auto_augment_detection(self, transform, input): - bboxes = make_bounding_box(spatial_size=input.spatial_size, format=features.BoundingBoxFormat.XYXY) + bboxes = make_bounding_box(spatial_size=input.spatial_size, format=datapoints.BoundingBoxFormat.XYXY) transform(input, bboxes) @parametrize( From 60d5a9b66be4b7f6caa45fd431c7d47cf2c3b5fa Mon Sep 17 00:00:00 2001 From: vfdev-5 Date: Fri, 3 Feb 2023 14:10:32 +0100 Subject: [PATCH 15/27] Few fixes and improvements --- .../prototype/transforms/_auto_augment.py | 177 ++++++++---------- 1 file changed, 76 insertions(+), 101 deletions(-) diff --git a/torchvision/prototype/transforms/_auto_augment.py b/torchvision/prototype/transforms/_auto_augment.py index d2d7b119883..af41f0ed449 100644 --- a/torchvision/prototype/transforms/_auto_augment.py +++ b/torchvision/prototype/transforms/_auto_augment.py @@ -81,10 +81,22 @@ def _apply_image_or_video_transform( interpolation: InterpolationMode, fill: Dict[Type, datapoints.FillTypeJIT], ) -> Union[datapoints.ImageType, datapoints.VideoType]: - fill_ = fill[type(image)] + return self._apply_transform( + image, transform_id=transform_id, magnitude=magnitude, interpolation=interpolation, fill=fill + ) + + def _apply_transform( + self, + inpt: datapoints.InputType, + transform_id: str, + magnitude: float, + interpolation: InterpolationMode, + fill: Dict[Type, datapoints.FillTypeJIT], + ) -> Union[datapoints.ImageType, datapoints.VideoType]: + fill_ = fill[type(inpt)] if transform_id == "Identity": - return image + return inpt elif transform_id == "ShearX": # magnitude should be arctan(magnitude) # official autoaug: (1, level, 0, 0, 1, 0) @@ -93,7 +105,7 @@ def _apply_image_or_video_transform( # torchvision: (1, tan(level), 0, 0, 1, 0) # https://github.com/pytorch/vision/blob/0c2373d0bba3499e95776e7936e207d8a1676e65/torchvision/transforms/functional.py#L976 return F.affine( - image, + inpt, angle=0.0, translate=[0, 0], scale=1.0, @@ -106,7 +118,7 @@ def _apply_image_or_video_transform( # magnitude should be arctan(magnitude) # See above return F.affine( - image, + inpt, angle=0.0, translate=[0, 0], scale=1.0, @@ -117,7 +129,7 @@ def _apply_image_or_video_transform( ) elif transform_id == "TranslateX": return F.affine( - image, + inpt, angle=0.0, translate=[int(magnitude), 0], scale=1.0, @@ -127,7 +139,7 @@ def _apply_image_or_video_transform( ) elif transform_id == "TranslateY": return F.affine( - image, + inpt, angle=0.0, translate=[0, int(magnitude)], scale=1.0, @@ -136,26 +148,29 @@ def _apply_image_or_video_transform( fill=fill_, ) elif transform_id == "Rotate": - return F.rotate(image, angle=magnitude, interpolation=interpolation, fill=fill_) + return F.rotate(inpt, angle=magnitude, interpolation=interpolation, fill=fill_) elif transform_id == "Brightness": - return F.adjust_brightness(image, brightness_factor=1.0 + magnitude) + return F.adjust_brightness(inpt, brightness_factor=1.0 + magnitude) elif transform_id == "Color": - return F.adjust_saturation(image, saturation_factor=1.0 + magnitude) + return F.adjust_saturation(inpt, saturation_factor=1.0 + magnitude) elif transform_id == "Contrast": - return F.adjust_contrast(image, contrast_factor=1.0 + magnitude) + return F.adjust_contrast(inpt, contrast_factor=1.0 + magnitude) elif transform_id == "Sharpness": - return F.adjust_sharpness(image, sharpness_factor=1.0 + magnitude) + return F.adjust_sharpness(inpt, sharpness_factor=1.0 + magnitude) elif transform_id == "Posterize": - return F.posterize(image, bits=int(magnitude)) + return F.posterize(inpt, bits=int(magnitude)) elif transform_id == "Solarize": - bound = _FT._max_value(image.dtype) if isinstance(image, torch.Tensor) else 255.0 - return F.solarize(image, threshold=bound * magnitude) + if check_type(inpt, (datapoints.Image, is_simple_tensor, datapoints.Video)): + bound = _FT._max_value(inpt.dtype) + else: + bound = 255 + return F.solarize(inpt, threshold=bound * magnitude) elif transform_id == "AutoContrast": - return F.autocontrast(image) + return F.autocontrast(inpt) elif transform_id == "Equalize": - return F.equalize(image) + return F.equalize(inpt) elif transform_id == "Invert": - return F.invert(image) + return F.invert(inpt) else: raise ValueError(f"No transform available for {transform_id}") @@ -597,7 +612,8 @@ def _transform_image_or_video_in_bboxes( fn: Callable[..., torch.Tensor], fn_kwrgs: dict, image: torch.Tensor, bboxes: torch.Tensor ) -> torch.Tensor: new_img = image.clone() - for bbox in bboxes: + int_bboxes = bboxes.to(torch.long) + for bbox in int_bboxes: bbox_img = new_img[..., bbox[1] : bbox[3], bbox[0] : bbox[2]] out_bbox_img = fn(bbox_img, **fn_kwrgs) new_img[..., bbox[1] : bbox[3], bbox[0] : bbox[2]] = out_bbox_img @@ -615,57 +631,16 @@ def _apply_image_or_video_and_bboxes_transform( # TODO: SolarizeAdd, Cutout, BBox_Cutout, Flip_Only_BBoxes, Cutout_Only_BBoxes if transform_id.endswith("_Only_BBoxes"): - transform_id = transform_id[:-12] + transform_id = transform_id.replace("_Only_BBoxes", "") fn_kwargs = dict(transform_id=transform_id, magnitude=magnitude, interpolation=interpolation, fill=fill) image = self._transform_image_or_video_in_bboxes( self._apply_image_or_video_transform, fn_kwargs, image, bboxes ) - elif transform_id.endswith("_BBox"): - transform_id = transform_id[:-5] - image = self._apply_image_or_video_transform(image, transform_id, magnitude, interpolation, fill) - - if transform_id == "Rotate": - bboxes = bboxes.rotate(angle=magnitude) - # bboxes = bboxes.affine( - # angle=magnitude, - # translate=[0, 0], - # scale=1.0, - # shear=[0.0, 0.0], - # ) - elif transform_id == "TranslateX": - bboxes = bboxes.affine( - angle=0.0, - translate=[int(magnitude), 0], - scale=1.0, - shear=[0.0, 0.0], - ) - elif transform_id == "TranslateY": - bboxes = bboxes.affine( - angle=0.0, - translate=[0, int(magnitude)], - scale=1.0, - shear=[0.0, 0.0], - ) - elif transform_id == "ShearX": - bboxes = bboxes.affine( - angle=0.0, - translate=[0, 0], - scale=1.0, - shear=[math.degrees(math.atan(magnitude)), 0.0], - center=[0, 0], - ) - elif transform_id == "ShearY": - bboxes = bboxes.affine( - angle=0.0, - translate=[0, 0], - scale=1.0, - shear=[0.0, math.degrees(math.atan(magnitude))], - center=[0, 0], - ) elif transform_id == "BBox_Cutout": raise NotImplementedError() else: - image = self._apply_image_or_video_transform(image, transform_id, magnitude, interpolation, fill) + image = self._apply_transform(image, transform_id, magnitude, interpolation, fill) + bboxes = self._apply_transform(bboxes, transform_id, magnitude, interpolation, fill) return image, bboxes @@ -690,19 +665,19 @@ class AutoAugmentDetection(_AutoAugmentDetectionBase): "Contrast": (lambda num_bins, height, width: torch.linspace(0.0, 0.9, num_bins), True), "Brightness": (lambda num_bins, height, width: torch.linspace(0.0, 0.9, num_bins), True), "Sharpness": (lambda num_bins, height, width: torch.linspace(0.0, 0.9, num_bins), True), - "Cutout": (lambda num_bins, height, width: torch.linspace(0.0, 100.0, num_bins), False), # TODO: int()? + "Cutout": (lambda num_bins, height, width: torch.linspace(0.0, 100.0, num_bins, dtype=torch.long), False), "BBox_Cutout": (lambda num_bins, height, width: torch.linspace(0.0, 0.75, num_bins), False), - "Rotate_BBox": (lambda num_bins, height, width: torch.linspace(0.0, 30.0, num_bins), True), - "TranslateX_BBox": ( + "Rotate": (lambda num_bins, height, width: torch.linspace(0.0, 30.0, num_bins), True), + "TranslateX": ( lambda num_bins, height, width: torch.linspace(0.0, 250.0, num_bins), True, ), # TODO: check 250.0 - "TranslateY_BBox": ( + "TranslateY": ( lambda num_bins, height, width: torch.linspace(0.0, 250.0, num_bins), True, ), # TODO: check 250.0 - "ShearX_BBox": (lambda num_bins, height, width: torch.linspace(0.0, 0.3, num_bins), True), - "ShearY_BBox": (lambda num_bins, height, width: torch.linspace(0.0, 0.3, num_bins), True), + "ShearX": (lambda num_bins, height, width: torch.linspace(0.0, 0.3, num_bins), True), + "ShearY": (lambda num_bins, height, width: torch.linspace(0.0, 0.3, num_bins), True), "Rotate_Only_BBoxes": (lambda num_bins, height, width: torch.linspace(0.0, 30.0, num_bins), True), "ShearX_Only_BBoxes": (lambda num_bins, height, width: torch.linspace(0.0, 0.3, num_bins), True), "ShearY_Only_BBoxes": (lambda num_bins, height, width: torch.linspace(0.0, 0.3, num_bins), True), @@ -733,73 +708,73 @@ def __init__( def _get_policies(self, policy: str) -> List[List[Tuple[str, float, Optional[int]]]]: if policy == "v0": return [ - [("TranslateX_BBox", 0.6, 4), ("Equalize", 0.8, 10)], + [("TranslateX", 0.6, 4), ("Equalize", 0.8, 10)], [("TranslateY_Only_BBoxes", 0.2, 2), ("Cutout", 0.8, 8)], - [("Sharpness", 0.0, 8), ("ShearX_BBox", 0.4, 0)], - [("ShearY_BBox", 1.0, 2), ("TranslateY_Only_BBoxes", 0.6, 6)], - [("Rotate_BBox", 0.6, 10), ("Color", 1.0, 6)], + [("Sharpness", 0.0, 8), ("ShearX", 0.4, 0)], + [("ShearY", 1.0, 2), ("TranslateY_Only_BBoxes", 0.6, 6)], + [("Rotate", 0.6, 10), ("Color", 1.0, 6)], ] elif policy == "v1": return [ - [("TranslateX_BBox", 0.6, 4), ("Equalize", 0.8, 10)], + [("TranslateX", 0.6, 4), ("Equalize", 0.8, 10)], [("TranslateY_Only_BBoxes", 0.2, 2), ("Cutout", 0.8, 8)], - [("Sharpness", 0.0, 8), ("ShearX_BBox", 0.4, 0)], - [("ShearY_BBox", 1.0, 2), ("TranslateY_Only_BBoxes", 0.6, 6)], - [("Rotate_BBox", 0.6, 10), ("Color", 1.0, 6)], + [("Sharpness", 0.0, 8), ("ShearX", 0.4, 0)], + [("ShearY", 1.0, 2), ("TranslateY_Only_BBoxes", 0.6, 6)], + [("Rotate", 0.6, 10), ("Color", 1.0, 6)], [("Color", 0.0, 0), ("ShearX_Only_BBoxes", 0.8, 4)], [("ShearY_Only_BBoxes", 0.8, 2), ("Flip_Only_BBoxes", 0.0, 10)], - [("Equalize", 0.6, 10), ("TranslateX_BBox", 0.2, 2)], + [("Equalize", 0.6, 10), ("TranslateX", 0.2, 2)], [("Color", 1.0, 10), ("TranslateY_Only_BBoxes", 0.4, 6)], - [("Rotate_BBox", 0.8, 10), ("Contrast", 0.0, 10)], + [("Rotate", 0.8, 10), ("Contrast", 0.0, 10)], [("Cutout", 0.2, 2), ("Brightness", 0.8, 10)], [("Color", 1.0, 6), ("Equalize", 1.0, 2)], [("Cutout_Only_BBoxes", 0.4, 6), ("TranslateY_Only_BBoxes", 0.8, 2)], - [("Color", 0.2, 8), ("Rotate_BBox", 0.8, 10)], + [("Color", 0.2, 8), ("Rotate", 0.8, 10)], [("Sharpness", 0.4, 4), ("TranslateY_Only_BBoxes", 0.0, 4)], [("Sharpness", 1.0, 4), ("SolarizeAdd", 0.4, 4)], - [("Rotate_BBox", 1.0, 8), ("Sharpness", 0.2, 8)], - [("ShearY_BBox", 0.6, 10), ("Equalize_Only_BBoxes", 0.6, 8)], - [("ShearX_BBox", 0.2, 6), ("TranslateY_Only_BBoxes", 0.2, 10)], + [("Rotate", 1.0, 8), ("Sharpness", 0.2, 8)], + [("ShearY", 0.6, 10), ("Equalize_Only_BBoxes", 0.6, 8)], + [("ShearX", 0.2, 6), ("TranslateY_Only_BBoxes", 0.2, 10)], [("SolarizeAdd", 0.6, 8), ("Brightness", 0.8, 10)], ] elif policy == "vtest": return [ - [("TranslateX_BBox", 1.0, 4), ("Equalize", 1.0, 10)], + [("TranslateX", 1.0, 4), ("Equalize", 1.0, 10)], ] elif policy == "v2": return [ [("Color", 0.0, 6), ("Cutout", 0.6, 8), ("Sharpness", 0.4, 8)], - [("Rotate_BBox", 0.4, 8), ("Sharpness", 0.4, 2), ("Rotate_BBox", 0.8, 10)], - [("TranslateY_BBox", 1.0, 8), ("AutoContrast", 0.8, 2)], - [("AutoContrast", 0.4, 6), ("ShearX_BBox", 0.8, 8), ("Brightness", 0.0, 10)], + [("Rotate", 0.4, 8), ("Sharpness", 0.4, 2), ("Rotate", 0.8, 10)], + [("TranslateY", 1.0, 8), ("AutoContrast", 0.8, 2)], + [("AutoContrast", 0.4, 6), ("ShearX", 0.8, 8), ("Brightness", 0.0, 10)], [("SolarizeAdd", 0.2, 6), ("Contrast", 0.0, 10), ("AutoContrast", 0.6, 0)], [("Cutout", 0.2, 0), ("Solarize", 0.8, 8), ("Color", 1.0, 4)], - [("TranslateY_BBox", 0.0, 4), ("Equalize", 0.6, 8), ("Solarize", 0.0, 10)], - [("TranslateY_BBox", 0.2, 2), ("ShearY_BBox", 0.8, 8), ("Rotate_BBox", 0.8, 8)], + [("TranslateY", 0.0, 4), ("Equalize", 0.6, 8), ("Solarize", 0.0, 10)], + [("TranslateY", 0.2, 2), ("ShearY", 0.8, 8), ("Rotate", 0.8, 8)], [("Cutout", 0.8, 8), ("Brightness", 0.8, 8), ("Cutout", 0.2, 2)], - [("Color", 0.8, 4), ("TranslateY_BBox", 1.0, 6), ("Rotate_BBox", 0.6, 6)], - [("Rotate_BBox", 0.6, 10), ("BBox_Cutout", 1.0, 4), ("Cutout", 0.2, 8)], - [("Rotate_BBox", 0.0, 0), ("Equalize", 0.6, 6), ("ShearY_BBox", 0.6, 8)], + [("Color", 0.8, 4), ("TranslateY", 1.0, 6), ("Rotate", 0.6, 6)], + [("Rotate", 0.6, 10), ("BBox_Cutout", 1.0, 4), ("Cutout", 0.2, 8)], + [("Rotate", 0.0, 0), ("Equalize", 0.6, 6), ("ShearY", 0.6, 8)], [("Brightness", 0.8, 8), ("AutoContrast", 0.4, 2), ("Brightness", 0.2, 2)], - [("TranslateY_BBox", 0.4, 8), ("Solarize", 0.4, 6), ("SolarizeAdd", 0.2, 10)], + [("TranslateY", 0.4, 8), ("Solarize", 0.4, 6), ("SolarizeAdd", 0.2, 10)], [("Contrast", 1.0, 10), ("SolarizeAdd", 0.2, 8), ("Equalize", 0.2, 4)], ] elif policy == "v3": return [ - [("Posterize", 0.8, 2), ("TranslateX_BBox", 1.0, 8)], + [("Posterize", 0.8, 2), ("TranslateX", 1.0, 8)], [("BBox_Cutout", 0.2, 10), ("Sharpness", 1.0, 8)], - [("Rotate_BBox", 0.6, 8), ("Rotate_BBox", 0.8, 10)], + [("Rotate", 0.6, 8), ("Rotate", 0.8, 10)], [("Equalize", 0.8, 10), ("AutoContrast", 0.2, 10)], - [("SolarizeAdd", 0.2, 2), ("TranslateY_BBox", 0.2, 8)], + [("SolarizeAdd", 0.2, 2), ("TranslateY", 0.2, 8)], [("Sharpness", 0.0, 2), ("Color", 0.4, 8)], - [("Equalize", 1.0, 8), ("TranslateY_BBox", 1.0, 8)], - [("Posterize", 0.6, 2), ("Rotate_BBox", 0.0, 10)], - [("AutoContrast", 0.6, 0), ("Rotate_BBox", 1.0, 6)], + [("Equalize", 1.0, 8), ("TranslateY", 1.0, 8)], + [("Posterize", 0.6, 2), ("Rotate", 0.0, 10)], + [("AutoContrast", 0.6, 0), ("Rotate", 1.0, 6)], [("Equalize", 0.0, 4), ("Cutout", 0.8, 10)], - [("Brightness", 1.0, 2), ("TranslateY_BBox", 1.0, 6)], - [("Contrast", 0.0, 2), ("ShearY_BBox", 0.8, 0)], + [("Brightness", 1.0, 2), ("TranslateY", 1.0, 6)], + [("Contrast", 0.0, 2), ("ShearY", 0.8, 0)], [("AutoContrast", 0.8, 10), ("Contrast", 0.2, 10)], - [("Rotate_BBox", 1.0, 10), ("Cutout", 1.0, 10)], + [("Rotate", 1.0, 10), ("Cutout", 1.0, 10)], [("SolarizeAdd", 0.8, 6), ("Equalize", 0.8, 8)], ] else: From 8bbacdb81ce2e37c3c0b39efde9d795a7d40d771 Mon Sep 17 00:00:00 2001 From: Ren Pang Date: Thu, 2 Mar 2023 15:29:27 -0500 Subject: [PATCH 16/27] update --- torchvision/transforms/v2/_auto_augment.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/torchvision/transforms/v2/_auto_augment.py b/torchvision/transforms/v2/_auto_augment.py index 54aa3f08360..a59a5769a2f 100644 --- a/torchvision/transforms/v2/_auto_augment.py +++ b/torchvision/transforms/v2/_auto_augment.py @@ -76,12 +76,24 @@ def _unflatten_and_insert_image_or_video( def _apply_image_or_video_transform( self, - inpt: Union[datapoints._ImageType, datapoints._VideoType], + image: Union[datapoints._ImageType, datapoints._VideoType], transform_id: str, magnitude: float, interpolation: Union[InterpolationMode, int], fill: Dict[Type, datapoints._FillTypeJIT], ) -> Union[datapoints._ImageType, datapoints._VideoType]: + return self._apply_transform( + image, transform_id=transform_id, magnitude=magnitude, interpolation=interpolation, fill=fill + ) + + def _apply_transform( + self, + inpt: datapoints.InputType, + transform_id: str, + magnitude: float, + interpolation: InterpolationMode, + fill: Dict[Type, datapoints.FillTypeJIT], + ) -> Union[datapoints.ImageType, datapoints.VideoType]: fill_ = fill[type(inpt)] if transform_id == "Identity": From 87dd82d9e6a44141f2f3df70fde69dc2caf6165b Mon Sep 17 00:00:00 2001 From: Ren Pang Date: Thu, 2 Mar 2023 19:56:43 -0500 Subject: [PATCH 17/27] add solarize_add and cutout, add test --- test/test_transforms_v2.py | 23 ++++++++ torchvision/transforms/v2/__init__.py | 2 +- torchvision/transforms/v2/_auto_augment.py | 66 +++++++++++++++++----- 3 files changed, 76 insertions(+), 15 deletions(-) diff --git a/test/test_transforms_v2.py b/test/test_transforms_v2.py index f5ca976963a..6a1db0b8cb2 100644 --- a/test/test_transforms_v2.py +++ b/test/test_transforms_v2.py @@ -82,6 +82,28 @@ def auto_augment_adapter(transform, input, device): return adapted_input +def auto_augment_detection_adapter(transform, input, device): + adapted_input = {} + image_or_video_found = False + bounding_box_found = False + for key, value in input.items(): + if isinstance(value, datapoints.Mask): + # AA detection transforms don't support masks + continue + elif isinstance(value, datapoints.BoundingBox): + if bounding_box_found: + # AA detection transforms only support a single bounding box tensor + continue + bounding_box_found = True + elif check_type(value, (datapoints.Image, datapoints.Video, is_simple_tensor, PIL.Image.Image)): + if image_or_video_found: + # AA transforms only support a single image or video + continue + image_or_video_found = True + adapted_input[key] = value + return adapted_input + + def linear_transformation_adapter(transform, input, device): flat_inputs = list(input.values()) c, h, w = query_chw( @@ -119,6 +141,7 @@ class TestSmoke: (transforms.AutoAugment(), auto_augment_adapter), (transforms.RandAugment(), auto_augment_adapter), (transforms.TrivialAugmentWide(), auto_augment_adapter), + (transforms.AutoAugmentDetection(), auto_augment_detection_adapter), (transforms.ColorJitter(brightness=0.1, contrast=0.2, saturation=0.3, hue=0.15), None), (transforms.Grayscale(), None), (transforms.RandomAdjustSharpness(sharpness_factor=0.5, p=1.0), None), diff --git a/torchvision/transforms/v2/__init__.py b/torchvision/transforms/v2/__init__.py index 6573446a33a..72115c694ee 100644 --- a/torchvision/transforms/v2/__init__.py +++ b/torchvision/transforms/v2/__init__.py @@ -5,7 +5,7 @@ from ._transform import Transform # usort: skip from ._augment import RandomErasing -from ._auto_augment import AugMix, AutoAugment, RandAugment, TrivialAugmentWide +from ._auto_augment import AugMix, AutoAugment, AutoAugmentDetection, RandAugment, TrivialAugmentWide from ._color import ( ColorJitter, Grayscale, diff --git a/torchvision/transforms/v2/_auto_augment.py b/torchvision/transforms/v2/_auto_augment.py index a59a5769a2f..20b1a889ba9 100644 --- a/torchvision/transforms/v2/_auto_augment.py +++ b/torchvision/transforms/v2/_auto_augment.py @@ -15,6 +15,36 @@ from .utils import check_type, is_simple_tensor +def solarize_add( + image: Union[datapoints._ImageType, datapoints._VideoType], addition: int = 0, threshold: int = 128 +) -> torch.Tensor: + # TODO: ? datapoints._datapoint.Datapoint + # TODO: ? threshold max value: bound = _FT._max_value(inpt.dtype) + if isinstance(image, PIL.Image.Image): + raise NotImplementedError() + added_image = image.add(addition).clip(0, 255) + return torch.where(image < threshold, added_image, image) + + +def cutout(image: Union[datapoints._ImageType, datapoints._VideoType], pad_size: int, replace: int = 0) -> torch.Tensor: + # TODO: ? datapoints._datapoint.Datapoint + # TODO: ? return type + img_c, img_h, img_w = F.get_dimensions(image) + + # Sample the center location in the image where the zero mask will be applied. + cutout_center_height = torch.randint(0, img_h, size=(1,)).item() + cutout_center_width = torch.randint(0, img_w, size=(1,)).item() + + lower_pad = max(0, cutout_center_height - pad_size) + upper_pad = max(0, img_h - cutout_center_height - pad_size) + left_pad = max(0, cutout_center_width - pad_size) + right_pad = max(0, img_w - cutout_center_width - pad_size) + + cutout_shape = [img_h - (lower_pad + upper_pad), img_w - (left_pad + right_pad)] + v = torch.tensor(replace)[:, None, None] + return F.erase(image, lower_pad, left_pad, cutout_shape[0], cutout_shape[1], v) + + class _AutoAugmentBase(Transform): def __init__( self, @@ -88,12 +118,12 @@ def _apply_image_or_video_transform( def _apply_transform( self, - inpt: datapoints.InputType, + inpt: datapoints._InputType, transform_id: str, magnitude: float, interpolation: InterpolationMode, - fill: Dict[Type, datapoints.FillTypeJIT], - ) -> Union[datapoints.ImageType, datapoints.VideoType]: + fill: Dict[Type, datapoints._FillTypeJIT], + ) -> Union[datapoints._ImageType, datapoints._VideoType]: fill_ = fill[type(inpt)] if transform_id == "Identity": @@ -172,6 +202,14 @@ def _apply_transform( return F.equalize(inpt) elif transform_id == "Invert": return F.invert(inpt) + elif transform_id == "SolarizeAdd": + if check_type(inpt, datapoints.BoundingBox): + return inpt + return solarize_add(inpt, int(magnitude)) + elif transform_id == "Flip": + return F.horizontal_flip(inpt) + elif transform_id == "Cutout": + return cutout(inpt, int(magnitude)) else: raise ValueError(f"No transform available for {transform_id}") @@ -644,7 +682,9 @@ def _flatten_and_extract_image_or_video_and_bboxes( inputs: Any, unsupported_types: Tuple[Type, ...] = (datapoints.Mask,), ) -> Tuple[ - Tuple[List[Any], TreeSpec, int, int], Union[datapoints.ImageType, datapoints.VideoType], datapoints.BoundingBox + Tuple[List[Any], TreeSpec, int, int], + Union[datapoints._ImageType, datapoints._VideoType], + datapoints.BoundingBox, ]: flat_inputs, spec = tree_flatten(inputs if len(inputs) > 1 else inputs[0]) @@ -667,7 +707,7 @@ def _flatten_and_extract_image_or_video_and_bboxes( raise TypeError(f"Inputs of type {type(inpt).__name__} are not supported by {type(self).__name__}()") if not image_or_videos: - raise TypeError("Found no image in the sample.") + raise TypeError("Found no image or video in the sample.") if len(image_or_videos) > 1: raise TypeError( f"Auto augment transformations are only properly defined for a single image or video, " @@ -688,7 +728,7 @@ def _flatten_and_extract_image_or_video_and_bboxes( def _unflatten_and_insert_image_or_video_and_bboxes( self, flat_inputs_with_spec: Tuple[List[Any], TreeSpec, int, int], - image_or_video: Union[datapoints.ImageType, datapoints.VideoType], + image_or_video: Union[datapoints._ImageType, datapoints._VideoType], bboxes: datapoints.BoundingBox, ) -> Any: flat_inputs, spec, idx1, idx2 = flat_inputs_with_spec @@ -710,23 +750,21 @@ def _transform_image_or_video_in_bboxes( def _apply_image_or_video_and_bboxes_transform( self, - image: Any, + image: Union[datapoints._ImageType, datapoints._VideoType], bboxes: datapoints.BoundingBox, transform_id: str, magnitude: float, interpolation: InterpolationMode, - fill: Dict[Type, datapoints.FillTypeJIT], + fill: Dict[Type, datapoints._FillTypeJIT], ) -> Tuple[Any, datapoints.BoundingBox]: - # TODO: SolarizeAdd, Cutout, BBox_Cutout, Flip_Only_BBoxes, Cutout_Only_BBoxes - - if transform_id.endswith("_Only_BBoxes"): + if transform_id == "BBox_Cutout": + raise NotImplementedError() + elif transform_id.endswith("_Only_BBoxes"): transform_id = transform_id.replace("_Only_BBoxes", "") fn_kwargs = dict(transform_id=transform_id, magnitude=magnitude, interpolation=interpolation, fill=fill) image = self._transform_image_or_video_in_bboxes( self._apply_image_or_video_transform, fn_kwargs, image, bboxes ) - elif transform_id == "BBox_Cutout": - raise NotImplementedError() else: image = self._apply_transform(image, transform_id, magnitude, interpolation, fill) bboxes = self._apply_transform(bboxes, transform_id, magnitude, interpolation, fill) @@ -788,7 +826,7 @@ def __init__( self, policy: str = "v0", interpolation: InterpolationMode = InterpolationMode.NEAREST, - fill: Union[datapoints.FillType, Dict[Type, datapoints.FillType]] = None, + fill: Union[datapoints._FillType, Dict[Type, datapoints._FillType]] = None, ) -> None: super().__init__(interpolation=interpolation, fill=fill) self.policy = policy From 48b553985e2cd3ad19084df6028539ddb41b3799 Mon Sep 17 00:00:00 2001 From: Ren Pang Date: Thu, 2 Mar 2023 20:01:00 -0500 Subject: [PATCH 18/27] fix cutout bbox case --- torchvision/transforms/v2/_auto_augment.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/torchvision/transforms/v2/_auto_augment.py b/torchvision/transforms/v2/_auto_augment.py index 20b1a889ba9..6e32c5fd388 100644 --- a/torchvision/transforms/v2/_auto_augment.py +++ b/torchvision/transforms/v2/_auto_augment.py @@ -209,6 +209,8 @@ def _apply_transform( elif transform_id == "Flip": return F.horizontal_flip(inpt) elif transform_id == "Cutout": + if check_type(inpt, datapoints.BoundingBox): + return inpt return cutout(inpt, int(magnitude)) else: raise ValueError(f"No transform available for {transform_id}") From e38d9edcc9a949eba812f14d463be0b34b0d31d7 Mon Sep 17 00:00:00 2001 From: Ren Pang Date: Fri, 3 Mar 2023 01:30:41 -0500 Subject: [PATCH 19/27] fix solarize_add and cutout --- test/test_transforms_v2.py | 7 +- torchvision/transforms/v2/_auto_augment.py | 119 +++++++++++++-------- 2 files changed, 79 insertions(+), 47 deletions(-) diff --git a/test/test_transforms_v2.py b/test/test_transforms_v2.py index 6a1db0b8cb2..8127dc7d10f 100644 --- a/test/test_transforms_v2.py +++ b/test/test_transforms_v2.py @@ -91,11 +91,13 @@ def auto_augment_detection_adapter(transform, input, device): # AA detection transforms don't support masks continue elif isinstance(value, datapoints.BoundingBox): + # TODO: this will only test the first bbox if bounding_box_found: # AA detection transforms only support a single bounding box tensor continue bounding_box_found = True elif check_type(value, (datapoints.Image, datapoints.Video, is_simple_tensor, PIL.Image.Image)): + # TODO: this will only test the first image_or_video if image_or_video_found: # AA transforms only support a single image or video continue @@ -141,7 +143,10 @@ class TestSmoke: (transforms.AutoAugment(), auto_augment_adapter), (transforms.RandAugment(), auto_augment_adapter), (transforms.TrivialAugmentWide(), auto_augment_adapter), - (transforms.AutoAugmentDetection(), auto_augment_detection_adapter), + (transforms.AutoAugmentDetection("v0"), auto_augment_detection_adapter), + (transforms.AutoAugmentDetection("v1"), auto_augment_detection_adapter), + (transforms.AutoAugmentDetection("v2"), auto_augment_detection_adapter), + (transforms.AutoAugmentDetection("v3"), auto_augment_detection_adapter), (transforms.ColorJitter(brightness=0.1, contrast=0.2, saturation=0.3, hue=0.15), None), (transforms.Grayscale(), None), (transforms.RandomAdjustSharpness(sharpness_factor=0.5, p=1.0), None), diff --git a/torchvision/transforms/v2/_auto_augment.py b/torchvision/transforms/v2/_auto_augment.py index 6e32c5fd388..72ad51772b7 100644 --- a/torchvision/transforms/v2/_auto_augment.py +++ b/torchvision/transforms/v2/_auto_augment.py @@ -17,28 +17,43 @@ def solarize_add( image: Union[datapoints._ImageType, datapoints._VideoType], addition: int = 0, threshold: int = 128 -) -> torch.Tensor: - # TODO: ? datapoints._datapoint.Datapoint +) -> Union[datapoints._ImageType, datapoints._VideoType]: # TODO: ? threshold max value: bound = _FT._max_value(inpt.dtype) if isinstance(image, PIL.Image.Image): - raise NotImplementedError() - added_image = image.add(addition).clip(0, 255) - return torch.where(image < threshold, added_image, image) - + def pixel_fn(pixel: int) -> int: + return max(0, min(pixel + addition, 255)) if pixel < threshold else pixel + return PIL.Image.eval(image, pixel_fn) -def cutout(image: Union[datapoints._ImageType, datapoints._VideoType], pad_size: int, replace: int = 0) -> torch.Tensor: - # TODO: ? datapoints._datapoint.Datapoint - # TODO: ? return type + added_image = image.add(addition).clip(0, 255) + result = torch.where(image < threshold, added_image, image) + # TODO: check if this is appropriate way + if isinstance(image, datapoints._datapoint.Datapoint): + result = image.wrap_like(image, result) + return result + + +def cutout( + image: Union[datapoints._ImageType, datapoints._VideoType], + pad_size: Union[int, Tuple[int, int], None], + pad_fraction: float = 0.0, + replace: int = 0, +) -> Union[datapoints._ImageType, datapoints._VideoType]: img_c, img_h, img_w = F.get_dimensions(image) # Sample the center location in the image where the zero mask will be applied. - cutout_center_height = torch.randint(0, img_h, size=(1,)).item() - cutout_center_width = torch.randint(0, img_w, size=(1,)).item() + cutout_center_height = int(torch.randint(img_h, ())) + cutout_center_width = int(torch.randint(img_w, ())) - lower_pad = max(0, cutout_center_height - pad_size) - upper_pad = max(0, img_h - cutout_center_height - pad_size) - left_pad = max(0, cutout_center_width - pad_size) - right_pad = max(0, img_w - cutout_center_width - pad_size) + if isinstance(pad_size, int): + pad_size = (pad_size, pad_size) + elif pad_size is None: + assert pad_fraction > 0.0 + pad_size = (int(pad_fraction * img_h), int(pad_fraction * img_w)) + + lower_pad = max(0, cutout_center_height - pad_size[0]) + upper_pad = max(0, img_h - cutout_center_height - pad_size[0]) + left_pad = max(0, cutout_center_width - pad_size[1]) + right_pad = max(0, img_w - cutout_center_width - pad_size[1]) cutout_shape = [img_h - (lower_pad + upper_pad), img_w - (left_pad + right_pad)] v = torch.tensor(replace)[:, None, None] @@ -124,6 +139,7 @@ def _apply_transform( interpolation: InterpolationMode, fill: Dict[Type, datapoints._FillTypeJIT], ) -> Union[datapoints._ImageType, datapoints._VideoType]: + # TODO: magnitude is not always float, it could be int (e.g., posterize). fill_ = fill[type(inpt)] if transform_id == "Identity": @@ -189,6 +205,7 @@ def _apply_transform( elif transform_id == "Sharpness": return F.adjust_sharpness(inpt, sharpness_factor=1.0 + magnitude) elif transform_id == "Posterize": + # TODO: we don't need to convert magnitude to int because it's already int format. return F.posterize(inpt, bits=int(magnitude)) elif transform_id == "Solarize": if check_type(inpt, (datapoints.Image, is_simple_tensor, datapoints.Video)): @@ -203,15 +220,18 @@ def _apply_transform( elif transform_id == "Invert": return F.invert(inpt) elif transform_id == "SolarizeAdd": - if check_type(inpt, datapoints.BoundingBox): + if isinstance(inpt, datapoints.BoundingBox): return inpt return solarize_add(inpt, int(magnitude)) elif transform_id == "Flip": return F.horizontal_flip(inpt) elif transform_id == "Cutout": - if check_type(inpt, datapoints.BoundingBox): + if isinstance(inpt, datapoints.BoundingBox): return inpt - return cutout(inpt, int(magnitude)) + return cutout(inpt, pad_size=int(magnitude)) + elif transform_id == "BBox_Cutout": + # TODO: Is there a better way? + return cutout(inpt, pad_fraction=magnitude) else: raise ValueError(f"No transform available for {transform_id}") @@ -742,6 +762,7 @@ def _unflatten_and_insert_image_or_video_and_bboxes( def _transform_image_or_video_in_bboxes( fn: Callable[..., torch.Tensor], fn_kwrgs: dict, image: torch.Tensor, bboxes: torch.Tensor ) -> torch.Tensor: + # TODO: ? Do we need to assert bboxes format is XYXY? new_img = image.clone() int_bboxes = bboxes.to(torch.long) for bbox in int_bboxes: @@ -760,7 +781,13 @@ def _apply_image_or_video_and_bboxes_transform( fill: Dict[Type, datapoints._FillTypeJIT], ) -> Tuple[Any, datapoints.BoundingBox]: if transform_id == "BBox_Cutout": - raise NotImplementedError() + random_index = int(torch.randint(len(bboxes), ())) + # TODO: this wrap_like solution seems very complex + chosen_bbox = bboxes.wrap_like(bboxes, bboxes[random_index].unsqueeze(0)) + fn_kwargs = dict(transform_id=transform_id, magnitude=magnitude, interpolation=interpolation, fill=fill) + image = self._transform_image_or_video_in_bboxes( + self._apply_image_or_video_transform, fn_kwargs, image, chosen_bbox + ) elif transform_id.endswith("_Only_BBoxes"): transform_id = transform_id.replace("_Only_BBoxes", "") fn_kwargs = dict(transform_id=transform_id, magnitude=magnitude, interpolation=interpolation, fill=fill) @@ -779,49 +806,49 @@ class AutoAugmentDetection(_AutoAugmentDetectionBase): "AutoContrast": (lambda num_bins, height, width: None, False), "Equalize": (lambda num_bins, height, width: None, False), "Posterize": ( - lambda num_bins, height, width: (8 - (torch.arange(num_bins) / ((num_bins - 1) / 6))).round().int(), + lambda num_bins, height, width: torch.linspace(0, 4, num_bins + 1, dtype=torch.long), False, - ), # TODO: tf repo is (0 -> 4) while this seems to be (8 -> 4) + ), "Solarize": ( - lambda num_bins, height, width: torch.linspace(255.0, 0.0, num_bins), + lambda num_bins, height, width: torch.linspace(0, 256, num_bins + 1, dtype=torch.long), False, - ), # TODO: check order and 255.0 rather than 256.0 + ), "SolarizeAdd": ( - lambda num_bins, height, width: torch.linspace(0.0, 110.0, num_bins), + lambda num_bins, height, width: torch.linspace(0, 110, num_bins + 1, dtype=torch.long), False, - ), # TODO: check 110.0 - "Color": (lambda num_bins, height, width: torch.linspace(0.0, 0.9, num_bins), True), - "Contrast": (lambda num_bins, height, width: torch.linspace(0.0, 0.9, num_bins), True), - "Brightness": (lambda num_bins, height, width: torch.linspace(0.0, 0.9, num_bins), True), - "Sharpness": (lambda num_bins, height, width: torch.linspace(0.0, 0.9, num_bins), True), - "Cutout": (lambda num_bins, height, width: torch.linspace(0.0, 100.0, num_bins, dtype=torch.long), False), - "BBox_Cutout": (lambda num_bins, height, width: torch.linspace(0.0, 0.75, num_bins), False), - "Rotate": (lambda num_bins, height, width: torch.linspace(0.0, 30.0, num_bins), True), + ), + "Color": (lambda num_bins, height, width: torch.linspace(-0.9, 0.9, num_bins + 1), False), + "Contrast": (lambda num_bins, height, width: torch.linspace(-0.9, 0.9, num_bins + 1), False), + "Brightness": (lambda num_bins, height, width: torch.linspace(-0.9, 0.9, num_bins + 1), False), + "Sharpness": (lambda num_bins, height, width: torch.linspace(-0.9, 0.9, num_bins + 1), False), + "Cutout": (lambda num_bins, height, width: torch.linspace(0, 100, num_bins + 1, dtype=torch.long), False), + "BBox_Cutout": (lambda num_bins, height, width: torch.linspace(0.0, 0.75, num_bins + 1), False), "TranslateX": ( - lambda num_bins, height, width: torch.linspace(0.0, 250.0, num_bins), + lambda num_bins, height, width: torch.linspace(0.0, 250.0, num_bins + 1), True, - ), # TODO: check 250.0 + ), "TranslateY": ( - lambda num_bins, height, width: torch.linspace(0.0, 250.0, num_bins), + lambda num_bins, height, width: torch.linspace(0.0, 250.0, num_bins + 1), True, - ), # TODO: check 250.0 - "ShearX": (lambda num_bins, height, width: torch.linspace(0.0, 0.3, num_bins), True), - "ShearY": (lambda num_bins, height, width: torch.linspace(0.0, 0.3, num_bins), True), - "Rotate_Only_BBoxes": (lambda num_bins, height, width: torch.linspace(0.0, 30.0, num_bins), True), - "ShearX_Only_BBoxes": (lambda num_bins, height, width: torch.linspace(0.0, 0.3, num_bins), True), - "ShearY_Only_BBoxes": (lambda num_bins, height, width: torch.linspace(0.0, 0.3, num_bins), True), + ), + "ShearX": (lambda num_bins, height, width: torch.linspace(0.0, 0.3, num_bins + 1), True), + "ShearY": (lambda num_bins, height, width: torch.linspace(0.0, 0.3, num_bins + 1), True), + "Rotate": (lambda num_bins, height, width: torch.linspace(0.0, 30.0, num_bins + 1), True), + "Rotate_Only_BBoxes": (lambda num_bins, height, width: torch.linspace(0.0, 30.0, num_bins + 1), True), + "ShearX_Only_BBoxes": (lambda num_bins, height, width: torch.linspace(0.0, 0.3, num_bins + 1), True), + "ShearY_Only_BBoxes": (lambda num_bins, height, width: torch.linspace(0.0, 0.3, num_bins + 1), True), "TranslateX_Only_BBoxes": ( - lambda num_bins, height, width: torch.linspace(0.0, 120.0, num_bins), + lambda num_bins, height, width: torch.linspace(0.0, 120.0, num_bins + 1), True, ), # TODO: check 120.0 "TranslateY_Only_BBoxes": ( - lambda num_bins, height, width: torch.linspace(0.0, 120.0, num_bins), + lambda num_bins, height, width: torch.linspace(0.0, 120.0, num_bins + 1), True, ), # TODO: check 120.0 "Flip_Only_BBoxes": (lambda num_bins, height, width: None, False), - "Solarize_Only_BBoxes": (lambda num_bins, height, width: torch.linspace(255.0, 0.0, num_bins), False), + "Solarize_Only_BBoxes": (lambda num_bins, height, width: torch.linspace(0, 256, num_bins + 1, dtype=torch.long), False), "Equalize_Only_BBoxes": (lambda num_bins, height, width: None, False), - "Cutout_Only_BBoxes": (lambda num_bins, height, width: torch.linspace(0.0, 50.0, num_bins), False), + "Cutout_Only_BBoxes": (lambda num_bins, height, width: torch.linspace(0, 50, num_bins + 1), False), } def __init__( @@ -866,7 +893,7 @@ def _get_policies(self, policy: str) -> List[List[Tuple[str, float, Optional[int [("ShearX", 0.2, 6), ("TranslateY_Only_BBoxes", 0.2, 10)], [("SolarizeAdd", 0.6, 8), ("Brightness", 0.8, 10)], ] - elif policy == "vtest": + elif policy == "test": return [ [("TranslateX", 1.0, 4), ("Equalize", 1.0, 10)], ] From a38df46b94be6c7931bee9e2922b5f46466088e8 Mon Sep 17 00:00:00 2001 From: Ren Pang Date: Fri, 3 Mar 2023 01:43:29 -0500 Subject: [PATCH 20/27] remove 2 useless comments --- torchvision/transforms/v2/_auto_augment.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/torchvision/transforms/v2/_auto_augment.py b/torchvision/transforms/v2/_auto_augment.py index 72ad51772b7..67dc92e3bda 100644 --- a/torchvision/transforms/v2/_auto_augment.py +++ b/torchvision/transforms/v2/_auto_augment.py @@ -840,11 +840,11 @@ class AutoAugmentDetection(_AutoAugmentDetectionBase): "TranslateX_Only_BBoxes": ( lambda num_bins, height, width: torch.linspace(0.0, 120.0, num_bins + 1), True, - ), # TODO: check 120.0 + ), "TranslateY_Only_BBoxes": ( lambda num_bins, height, width: torch.linspace(0.0, 120.0, num_bins + 1), True, - ), # TODO: check 120.0 + ), "Flip_Only_BBoxes": (lambda num_bins, height, width: None, False), "Solarize_Only_BBoxes": (lambda num_bins, height, width: torch.linspace(0, 256, num_bins + 1, dtype=torch.long), False), "Equalize_Only_BBoxes": (lambda num_bins, height, width: None, False), From b15cb717d04e227ecd53aae453229d2d112f84f8 Mon Sep 17 00:00:00 2001 From: Ren Pang Date: Fri, 3 Mar 2023 02:14:01 -0500 Subject: [PATCH 21/27] add some comments --- torchvision/transforms/v2/_auto_augment.py | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/torchvision/transforms/v2/_auto_augment.py b/torchvision/transforms/v2/_auto_augment.py index 67dc92e3bda..c9471256107 100644 --- a/torchvision/transforms/v2/_auto_augment.py +++ b/torchvision/transforms/v2/_auto_augment.py @@ -20,8 +20,10 @@ def solarize_add( ) -> Union[datapoints._ImageType, datapoints._VideoType]: # TODO: ? threshold max value: bound = _FT._max_value(inpt.dtype) if isinstance(image, PIL.Image.Image): + def pixel_fn(pixel: int) -> int: return max(0, min(pixel + addition, 255)) if pixel < threshold else pixel + return PIL.Image.eval(image, pixel_fn) added_image = image.add(addition).clip(0, 255) @@ -806,17 +808,19 @@ class AutoAugmentDetection(_AutoAugmentDetectionBase): "AutoContrast": (lambda num_bins, height, width: None, False), "Equalize": (lambda num_bins, height, width: None, False), "Posterize": ( - lambda num_bins, height, width: torch.linspace(0, 4, num_bins + 1, dtype=torch.long), + lambda num_bins, height, width: torch.linspace(8, 4, num_bins + 1, dtype=torch.long), False, ), "Solarize": ( - lambda num_bins, height, width: torch.linspace(0, 256, num_bins + 1, dtype=torch.long), + # TODO: this is extremely ugly because 255 is multiplied in _apply_transform + lambda num_bins, height, width: torch.linspace(256 / 255, 0, num_bins + 1), False, - ), + ), # TODO: it's previously [255, 0], now [256, 0] "SolarizeAdd": ( lambda num_bins, height, width: torch.linspace(0, 110, num_bins + 1, dtype=torch.long), False, ), + # TODO: it's previously [0, 0.9] (10 piece) with random negate, now [-0.9, 0.9] (11 piece) "Color": (lambda num_bins, height, width: torch.linspace(-0.9, 0.9, num_bins + 1), False), "Contrast": (lambda num_bins, height, width: torch.linspace(-0.9, 0.9, num_bins + 1), False), "Brightness": (lambda num_bins, height, width: torch.linspace(-0.9, 0.9, num_bins + 1), False), @@ -826,11 +830,11 @@ class AutoAugmentDetection(_AutoAugmentDetectionBase): "TranslateX": ( lambda num_bins, height, width: torch.linspace(0.0, 250.0, num_bins + 1), True, - ), + ), # TODO: it's previously [0, 150.0 / 331.0 * width], now [0, 250] "TranslateY": ( lambda num_bins, height, width: torch.linspace(0.0, 250.0, num_bins + 1), True, - ), + ), # TODO: it's previously [0, 150.0 / 331.0 * width], now [0, 250] "ShearX": (lambda num_bins, height, width: torch.linspace(0.0, 0.3, num_bins + 1), True), "ShearY": (lambda num_bins, height, width: torch.linspace(0.0, 0.3, num_bins + 1), True), "Rotate": (lambda num_bins, height, width: torch.linspace(0.0, 30.0, num_bins + 1), True), @@ -846,7 +850,10 @@ class AutoAugmentDetection(_AutoAugmentDetectionBase): True, ), "Flip_Only_BBoxes": (lambda num_bins, height, width: None, False), - "Solarize_Only_BBoxes": (lambda num_bins, height, width: torch.linspace(0, 256, num_bins + 1, dtype=torch.long), False), + "Solarize_Only_BBoxes": ( + lambda num_bins, height, width: torch.linspace(256 / 255, 0, num_bins + 1, dtype=torch.long), + False, + ), # TODO: the same as "Solarize" "Equalize_Only_BBoxes": (lambda num_bins, height, width: None, False), "Cutout_Only_BBoxes": (lambda num_bins, height, width: torch.linspace(0, 50, num_bins + 1), False), } From 73316ebef3a3c0b573ae5cfa9142084e79dbafae Mon Sep 17 00:00:00 2001 From: Ren Pang Date: Fri, 3 Mar 2023 02:39:33 -0500 Subject: [PATCH 22/27] fix type linting --- torchvision/transforms/v2/_auto_augment.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/torchvision/transforms/v2/_auto_augment.py b/torchvision/transforms/v2/_auto_augment.py index c9471256107..fdcdc52be34 100644 --- a/torchvision/transforms/v2/_auto_augment.py +++ b/torchvision/transforms/v2/_auto_augment.py @@ -36,7 +36,7 @@ def pixel_fn(pixel: int) -> int: def cutout( image: Union[datapoints._ImageType, datapoints._VideoType], - pad_size: Union[int, Tuple[int, int], None], + pad_size: Union[int, Tuple[int, int], None] = None, pad_fraction: float = 0.0, replace: int = 0, ) -> Union[datapoints._ImageType, datapoints._VideoType]: @@ -138,9 +138,9 @@ def _apply_transform( inpt: datapoints._InputType, transform_id: str, magnitude: float, - interpolation: InterpolationMode, + interpolation: Union[InterpolationMode, int], fill: Dict[Type, datapoints._FillTypeJIT], - ) -> Union[datapoints._ImageType, datapoints._VideoType]: + ) -> Union[datapoints._ImageType, datapoints._VideoType, datapoints.BoundingBox]: # TODO: magnitude is not always float, it could be int (e.g., posterize). fill_ = fill[type(inpt)] @@ -221,18 +221,20 @@ def _apply_transform( return F.equalize(inpt) elif transform_id == "Invert": return F.invert(inpt) + elif transform_id == "Flip": + return F.horizontal_flip(inpt) elif transform_id == "SolarizeAdd": if isinstance(inpt, datapoints.BoundingBox): return inpt return solarize_add(inpt, int(magnitude)) - elif transform_id == "Flip": - return F.horizontal_flip(inpt) elif transform_id == "Cutout": if isinstance(inpt, datapoints.BoundingBox): return inpt return cutout(inpt, pad_size=int(magnitude)) elif transform_id == "BBox_Cutout": # TODO: Is there a better way? + if isinstance(inpt, datapoints.BoundingBox): + return inpt return cutout(inpt, pad_fraction=magnitude) else: raise ValueError(f"No transform available for {transform_id}") From ebc434196a4fd6f7d10c9c558323b9c74391f41e Mon Sep 17 00:00:00 2001 From: Ren Pang Date: Thu, 6 Apr 2023 03:48:51 -0400 Subject: [PATCH 23/27] update --- torchvision/transforms/v2/_auto_augment.py | 59 ++++++++++------------ 1 file changed, 28 insertions(+), 31 deletions(-) diff --git a/torchvision/transforms/v2/_auto_augment.py b/torchvision/transforms/v2/_auto_augment.py index fdcdc52be34..82e8a5c9a48 100644 --- a/torchvision/transforms/v2/_auto_augment.py +++ b/torchvision/transforms/v2/_auto_augment.py @@ -16,19 +16,25 @@ def solarize_add( - image: Union[datapoints._ImageType, datapoints._VideoType], addition: int = 0, threshold: int = 128 + image: Union[datapoints._ImageType, datapoints._VideoType], addition: float = 0.0, threshold: float = 128 / 255 ) -> Union[datapoints._ImageType, datapoints._VideoType]: - # TODO: ? threshold max value: bound = _FT._max_value(inpt.dtype) + if check_type(image, (datapoints.Image, is_simple_tensor, datapoints.Video)): + bound = _FT._max_value(image.dtype) + else: + bound = 255 + if bound != 1: + addition = round(addition * bound) + threshold = round(threshold * bound) + if isinstance(image, PIL.Image.Image): def pixel_fn(pixel: int) -> int: - return max(0, min(pixel + addition, 255)) if pixel < threshold else pixel + return max(0, min(pixel + int(addition), bound)) if pixel < int(threshold) else pixel return PIL.Image.eval(image, pixel_fn) - added_image = image.add(addition).clip(0, 255) + added_image = image.add(addition).clip(0, bound) result = torch.where(image < threshold, added_image, image) - # TODO: check if this is appropriate way if isinstance(image, datapoints._datapoint.Datapoint): result = image.wrap_like(image, result) return result @@ -141,7 +147,6 @@ def _apply_transform( interpolation: Union[InterpolationMode, int], fill: Dict[Type, datapoints._FillTypeJIT], ) -> Union[datapoints._ImageType, datapoints._VideoType, datapoints.BoundingBox]: - # TODO: magnitude is not always float, it could be int (e.g., posterize). fill_ = fill[type(inpt)] if transform_id == "Identity": @@ -207,7 +212,6 @@ def _apply_transform( elif transform_id == "Sharpness": return F.adjust_sharpness(inpt, sharpness_factor=1.0 + magnitude) elif transform_id == "Posterize": - # TODO: we don't need to convert magnitude to int because it's already int format. return F.posterize(inpt, bits=int(magnitude)) elif transform_id == "Solarize": if check_type(inpt, (datapoints.Image, is_simple_tensor, datapoints.Video)): @@ -223,18 +227,13 @@ def _apply_transform( return F.invert(inpt) elif transform_id == "Flip": return F.horizontal_flip(inpt) + elif isinstance(inpt, datapoints.BoundingBox): + return inpt elif transform_id == "SolarizeAdd": - if isinstance(inpt, datapoints.BoundingBox): - return inpt - return solarize_add(inpt, int(magnitude)) + return solarize_add(inpt, magnitude) elif transform_id == "Cutout": - if isinstance(inpt, datapoints.BoundingBox): - return inpt return cutout(inpt, pad_size=int(magnitude)) elif transform_id == "BBox_Cutout": - # TODO: Is there a better way? - if isinstance(inpt, datapoints.BoundingBox): - return inpt return cutout(inpt, pad_fraction=magnitude) else: raise ValueError(f"No transform available for {transform_id}") @@ -764,12 +763,11 @@ def _unflatten_and_insert_image_or_video_and_bboxes( @staticmethod def _transform_image_or_video_in_bboxes( - fn: Callable[..., torch.Tensor], fn_kwrgs: dict, image: torch.Tensor, bboxes: torch.Tensor + fn: Callable[..., torch.Tensor], fn_kwrgs: dict, image: torch.Tensor, bboxes: datapoints.BoundingBox ) -> torch.Tensor: - # TODO: ? Do we need to assert bboxes format is XYXY? new_img = image.clone() - int_bboxes = bboxes.to(torch.long) - for bbox in int_bboxes: + xyxy_bboxes = F.convert_format_bounding_box(bboxes, new_format=datapoints.BoundingBoxFormat.XYXY) + for bbox in xyxy_bboxes: bbox_img = new_img[..., bbox[1] : bbox[3], bbox[0] : bbox[2]] out_bbox_img = fn(bbox_img, **fn_kwrgs) new_img[..., bbox[1] : bbox[3], bbox[0] : bbox[2]] = out_bbox_img @@ -786,7 +784,6 @@ def _apply_image_or_video_and_bboxes_transform( ) -> Tuple[Any, datapoints.BoundingBox]: if transform_id == "BBox_Cutout": random_index = int(torch.randint(len(bboxes), ())) - # TODO: this wrap_like solution seems very complex chosen_bbox = bboxes.wrap_like(bboxes, bboxes[random_index].unsqueeze(0)) fn_kwargs = dict(transform_id=transform_id, magnitude=magnitude, interpolation=interpolation, fill=fill) image = self._transform_image_or_video_in_bboxes( @@ -800,7 +797,9 @@ def _apply_image_or_video_and_bboxes_transform( ) else: image = self._apply_transform(image, transform_id, magnitude, interpolation, fill) - bboxes = self._apply_transform(bboxes, transform_id, magnitude, interpolation, fill) + result = self._apply_transform(bboxes, transform_id, magnitude, interpolation, fill) + assert isinstance(result, datapoints.BoundingBox) + bboxes = result return image, bboxes @@ -810,33 +809,31 @@ class AutoAugmentDetection(_AutoAugmentDetectionBase): "AutoContrast": (lambda num_bins, height, width: None, False), "Equalize": (lambda num_bins, height, width: None, False), "Posterize": ( - lambda num_bins, height, width: torch.linspace(8, 4, num_bins + 1, dtype=torch.long), + lambda num_bins, height, width: torch.linspace(8, 4, num_bins + 1).round().int(), False, ), "Solarize": ( - # TODO: this is extremely ugly because 255 is multiplied in _apply_transform lambda num_bins, height, width: torch.linspace(256 / 255, 0, num_bins + 1), False, - ), # TODO: it's previously [255, 0], now [256, 0] + ), "SolarizeAdd": ( - lambda num_bins, height, width: torch.linspace(0, 110, num_bins + 1, dtype=torch.long), + lambda num_bins, height, width: torch.linspace(0, 110 / 255, num_bins + 1), False, ), - # TODO: it's previously [0, 0.9] (10 piece) with random negate, now [-0.9, 0.9] (11 piece) "Color": (lambda num_bins, height, width: torch.linspace(-0.9, 0.9, num_bins + 1), False), "Contrast": (lambda num_bins, height, width: torch.linspace(-0.9, 0.9, num_bins + 1), False), "Brightness": (lambda num_bins, height, width: torch.linspace(-0.9, 0.9, num_bins + 1), False), "Sharpness": (lambda num_bins, height, width: torch.linspace(-0.9, 0.9, num_bins + 1), False), - "Cutout": (lambda num_bins, height, width: torch.linspace(0, 100, num_bins + 1, dtype=torch.long), False), + "Cutout": (lambda num_bins, height, width: torch.linspace(0, 100, num_bins + 1).round().int(), False), "BBox_Cutout": (lambda num_bins, height, width: torch.linspace(0.0, 0.75, num_bins + 1), False), "TranslateX": ( lambda num_bins, height, width: torch.linspace(0.0, 250.0, num_bins + 1), True, - ), # TODO: it's previously [0, 150.0 / 331.0 * width], now [0, 250] + ), "TranslateY": ( lambda num_bins, height, width: torch.linspace(0.0, 250.0, num_bins + 1), True, - ), # TODO: it's previously [0, 150.0 / 331.0 * width], now [0, 250] + ), "ShearX": (lambda num_bins, height, width: torch.linspace(0.0, 0.3, num_bins + 1), True), "ShearY": (lambda num_bins, height, width: torch.linspace(0.0, 0.3, num_bins + 1), True), "Rotate": (lambda num_bins, height, width: torch.linspace(0.0, 30.0, num_bins + 1), True), @@ -853,9 +850,9 @@ class AutoAugmentDetection(_AutoAugmentDetectionBase): ), "Flip_Only_BBoxes": (lambda num_bins, height, width: None, False), "Solarize_Only_BBoxes": ( - lambda num_bins, height, width: torch.linspace(256 / 255, 0, num_bins + 1, dtype=torch.long), + lambda num_bins, height, width: torch.linspace(256 / 255, 0, num_bins + 1).round().int(), False, - ), # TODO: the same as "Solarize" + ), "Equalize_Only_BBoxes": (lambda num_bins, height, width: None, False), "Cutout_Only_BBoxes": (lambda num_bins, height, width: torch.linspace(0, 50, num_bins + 1), False), } From 338d4ed7a38649b48db0460e37798819e39673c4 Mon Sep 17 00:00:00 2001 From: Ren Pang Date: Thu, 6 Apr 2023 04:47:14 -0400 Subject: [PATCH 24/27] remove test policy --- torchvision/transforms/v2/_auto_augment.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/torchvision/transforms/v2/_auto_augment.py b/torchvision/transforms/v2/_auto_augment.py index 82e8a5c9a48..592c29c0704 100644 --- a/torchvision/transforms/v2/_auto_augment.py +++ b/torchvision/transforms/v2/_auto_augment.py @@ -899,10 +899,6 @@ def _get_policies(self, policy: str) -> List[List[Tuple[str, float, Optional[int [("ShearX", 0.2, 6), ("TranslateY_Only_BBoxes", 0.2, 10)], [("SolarizeAdd", 0.6, 8), ("Brightness", 0.8, 10)], ] - elif policy == "test": - return [ - [("TranslateX", 1.0, 4), ("Equalize", 1.0, 10)], - ] elif policy == "v2": return [ [("Color", 0.0, 6), ("Cutout", 0.6, 8), ("Sharpness", 0.4, 8)], From 29c9db58f5719cec18a5abff1443e225e569fee0 Mon Sep 17 00:00:00 2001 From: Ren Pang Date: Sun, 7 May 2023 21:20:30 -0400 Subject: [PATCH 25/27] remove todos --- test/test_transforms_v2.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/test/test_transforms_v2.py b/test/test_transforms_v2.py index 5b71e3145cd..078a4c9db4f 100644 --- a/test/test_transforms_v2.py +++ b/test/test_transforms_v2.py @@ -91,13 +91,11 @@ def auto_augment_detection_adapter(transform, input, device): # AA detection transforms don't support masks continue elif isinstance(value, datapoints.BoundingBox): - # TODO: this will only test the first bbox if bounding_box_found: # AA detection transforms only support a single bounding box tensor continue bounding_box_found = True elif check_type(value, (datapoints.Image, datapoints.Video, is_simple_tensor, PIL.Image.Image)): - # TODO: this will only test the first image_or_video if image_or_video_found: # AA transforms only support a single image or video continue From 791d6209855297cad876992fcc92a8088ca64738 Mon Sep 17 00:00:00 2001 From: Ren Pang Date: Tue, 16 May 2023 17:44:18 -0400 Subject: [PATCH 26/27] update --- torchvision/transforms/v2/_auto_augment.py | 72 ++++++++++------------ 1 file changed, 33 insertions(+), 39 deletions(-) diff --git a/torchvision/transforms/v2/_auto_augment.py b/torchvision/transforms/v2/_auto_augment.py index 592c29c0704..f98d4fb4af2 100644 --- a/torchvision/transforms/v2/_auto_augment.py +++ b/torchvision/transforms/v2/_auto_augment.py @@ -1,5 +1,5 @@ import math -from typing import Any, Callable, Dict, List, Optional, Tuple, Type, Union +from typing import Any, Callable, cast, Dict, List, Optional, Tuple, Type, Union import PIL.Image import torch @@ -15,7 +15,7 @@ from .utils import check_type, is_simple_tensor -def solarize_add( +def _solarize_add( image: Union[datapoints._ImageType, datapoints._VideoType], addition: float = 0.0, threshold: float = 128 / 255 ) -> Union[datapoints._ImageType, datapoints._VideoType]: if check_type(image, (datapoints.Image, is_simple_tensor, datapoints.Video)): @@ -40,7 +40,7 @@ def pixel_fn(pixel: int) -> int: return result -def cutout( +def _cutout( image: Union[datapoints._ImageType, datapoints._VideoType], pad_size: Union[int, Tuple[int, int], None] = None, pad_fraction: float = 0.0, @@ -64,8 +64,7 @@ def cutout( right_pad = max(0, img_w - cutout_center_width - pad_size[1]) cutout_shape = [img_h - (lower_pad + upper_pad), img_w - (left_pad + right_pad)] - v = torch.tensor(replace)[:, None, None] - return F.erase(image, lower_pad, left_pad, cutout_shape[0], cutout_shape[1], v) + return F.erase(image, lower_pad, left_pad, cutout_shape[0], cutout_shape[1], torch.tensor(replace)) class _AutoAugmentBase(Transform): @@ -127,18 +126,6 @@ def _unflatten_and_insert_image_or_video( flat_inputs[idx] = image_or_video return tree_unflatten(flat_inputs, spec) - def _apply_image_or_video_transform( - self, - image: Union[datapoints._ImageType, datapoints._VideoType], - transform_id: str, - magnitude: float, - interpolation: Union[InterpolationMode, int], - fill: Dict[Type, datapoints._FillTypeJIT], - ) -> Union[datapoints._ImageType, datapoints._VideoType]: - return self._apply_transform( - image, transform_id=transform_id, magnitude=magnitude, interpolation=interpolation, fill=fill - ) - def _apply_transform( self, inpt: datapoints._InputType, @@ -227,14 +214,6 @@ def _apply_transform( return F.invert(inpt) elif transform_id == "Flip": return F.horizontal_flip(inpt) - elif isinstance(inpt, datapoints.BoundingBox): - return inpt - elif transform_id == "SolarizeAdd": - return solarize_add(inpt, magnitude) - elif transform_id == "Cutout": - return cutout(inpt, pad_size=int(magnitude)) - elif transform_id == "BBox_Cutout": - return cutout(inpt, pad_fraction=magnitude) else: raise ValueError(f"No transform available for {transform_id}") @@ -408,7 +387,7 @@ def forward(self, *inputs: Any) -> Any: else: magnitude = 0.0 - image_or_video = self._apply_image_or_video_transform( + image_or_video = self._apply_transform( image_or_video, transform_id, magnitude, interpolation=self.interpolation, fill=self.fill ) @@ -492,7 +471,7 @@ def forward(self, *inputs: Any) -> Any: magnitude *= -1 else: magnitude = 0.0 - image_or_video = self._apply_image_or_video_transform( + image_or_video = self._apply_transform( image_or_video, transform_id, magnitude, interpolation=self.interpolation, fill=self.fill ) @@ -564,7 +543,7 @@ def forward(self, *inputs: Any) -> Any: else: magnitude = 0.0 - image_or_video = self._apply_image_or_video_transform( + image_or_video = self._apply_transform( image_or_video, transform_id, magnitude, interpolation=self.interpolation, fill=self.fill ) return self._unflatten_and_insert_image_or_video(flat_inputs_with_spec, image_or_video) @@ -687,7 +666,7 @@ def forward(self, *inputs: Any) -> Any: else: magnitude = 0.0 - aug = self._apply_image_or_video_transform( + aug = self._apply_transform( aug, transform_id, magnitude, interpolation=self.interpolation, fill=self.fill ) mix.add_(combined_weights[:, i].reshape(batch_dims) * aug) @@ -702,6 +681,25 @@ def forward(self, *inputs: Any) -> Any: class _AutoAugmentDetectionBase(_AutoAugmentBase): + def _apply_transform( + self, + inpt: datapoints._InputType, + transform_id: str, + magnitude: float, + interpolation: Union[InterpolationMode, int], + fill: Dict[Type, datapoints._FillTypeJIT], + ) -> Union[datapoints._ImageType, datapoints._VideoType, datapoints.BoundingBox]: + if transform_id in ["SolarizeAdd", "Cutout", "BBox_Cutout"]: + if isinstance(inpt, datapoints.BoundingBox): + return inpt + elif transform_id == "SolarizeAdd": + return _solarize_add(inpt, magnitude) + elif transform_id == "Cutout": + return _cutout(inpt, pad_size=int(magnitude)) + elif transform_id == "BBox_Cutout": + return _cutout(inpt, pad_fraction=magnitude) + return super()._apply_transform(inpt, transform_id, magnitude, interpolation, fill) + def _flatten_and_extract_image_or_video_and_bboxes( self, inputs: Any, @@ -767,7 +765,7 @@ def _transform_image_or_video_in_bboxes( ) -> torch.Tensor: new_img = image.clone() xyxy_bboxes = F.convert_format_bounding_box(bboxes, new_format=datapoints.BoundingBoxFormat.XYXY) - for bbox in xyxy_bboxes: + for bbox in xyxy_bboxes.to(torch.long): bbox_img = new_img[..., bbox[1] : bbox[3], bbox[0] : bbox[2]] out_bbox_img = fn(bbox_img, **fn_kwrgs) new_img[..., bbox[1] : bbox[3], bbox[0] : bbox[2]] = out_bbox_img @@ -786,20 +784,16 @@ def _apply_image_or_video_and_bboxes_transform( random_index = int(torch.randint(len(bboxes), ())) chosen_bbox = bboxes.wrap_like(bboxes, bboxes[random_index].unsqueeze(0)) fn_kwargs = dict(transform_id=transform_id, magnitude=magnitude, interpolation=interpolation, fill=fill) - image = self._transform_image_or_video_in_bboxes( - self._apply_image_or_video_transform, fn_kwargs, image, chosen_bbox - ) + image = self._transform_image_or_video_in_bboxes(self._apply_transform, fn_kwargs, image, chosen_bbox) elif transform_id.endswith("_Only_BBoxes"): transform_id = transform_id.replace("_Only_BBoxes", "") fn_kwargs = dict(transform_id=transform_id, magnitude=magnitude, interpolation=interpolation, fill=fill) - image = self._transform_image_or_video_in_bboxes( - self._apply_image_or_video_transform, fn_kwargs, image, bboxes - ) + image = self._transform_image_or_video_in_bboxes(self._apply_transform, fn_kwargs, image, bboxes) else: image = self._apply_transform(image, transform_id, magnitude, interpolation, fill) - result = self._apply_transform(bboxes, transform_id, magnitude, interpolation, fill) - assert isinstance(result, datapoints.BoundingBox) - bboxes = result + bboxes = cast( + datapoints.BoundingBox, self._apply_transform(bboxes, transform_id, magnitude, interpolation, fill) + ) return image, bboxes From 3afeb300c0818affb1f311dfb39e0ed9b1092fca Mon Sep 17 00:00:00 2001 From: vfdev-5 Date: Wed, 17 May 2023 10:20:44 +0200 Subject: [PATCH 27/27] AutoAugmentDetection -> _AutoAugmentDetection before we validate the results Added another smoke test --- test/test_transforms_v2.py | 39 +++++++++++++++++++--- torchvision/transforms/v2/__init__.py | 2 +- torchvision/transforms/v2/_auto_augment.py | 38 +++++++++++++++++---- 3 files changed, 68 insertions(+), 11 deletions(-) diff --git a/test/test_transforms_v2.py b/test/test_transforms_v2.py index 7d447adfdfe..bfb403c7abe 100644 --- a/test/test_transforms_v2.py +++ b/test/test_transforms_v2.py @@ -141,10 +141,10 @@ class TestSmoke: (transforms.AutoAugment(), auto_augment_adapter), (transforms.RandAugment(), auto_augment_adapter), (transforms.TrivialAugmentWide(), auto_augment_adapter), - (transforms.AutoAugmentDetection("v0"), auto_augment_detection_adapter), - (transforms.AutoAugmentDetection("v1"), auto_augment_detection_adapter), - (transforms.AutoAugmentDetection("v2"), auto_augment_detection_adapter), - (transforms.AutoAugmentDetection("v3"), auto_augment_detection_adapter), + (transforms._AutoAugmentDetection("v0"), auto_augment_detection_adapter), + (transforms._AutoAugmentDetection("v1"), auto_augment_detection_adapter), + (transforms._AutoAugmentDetection("v2"), auto_augment_detection_adapter), + (transforms._AutoAugmentDetection("v3"), auto_augment_detection_adapter), (transforms.ColorJitter(brightness=0.1, contrast=0.2, saturation=0.3, hue=0.15), None), (transforms.Grayscale(), None), (transforms.RandomAdjustSharpness(sharpness_factor=0.5, p=1.0), None), @@ -336,6 +336,37 @@ def test_common(self, transform, adapter, container_type, image_or_video, device def test_auto_augment(self, transform, input): transform(input) + @pytest.mark.parametrize( + "transform", + [ + transforms._AutoAugmentDetection("v0"), + transforms._AutoAugmentDetection("v1"), + transforms._AutoAugmentDetection("v2"), + transforms._AutoAugmentDetection("v3"), + ], + ) + @pytest.mark.parametrize("seed", range(10)) + def test_auto_augment_detection(self, transform, seed): + torch.manual_seed(seed) + image = datapoints.Image(torch.randint(0, 256, size=(3, 480, 640), dtype=torch.uint8)) + boxes = torch.tensor( + [ + [388.3100, 38.8300, 638.5600, 480.0000], + [82.6800, 314.7300, 195.4400, 445.7400], + [199.1000, 214.1700, 316.4100, 399.2800], + [159.8400, 183.6800, 216.8700, 273.1200], + [15.8000, 265.4600, 93.2900, 395.1800], + [88.2300, 266.0800, 222.9800, 371.2500], + [176.9000, 283.8600, 208.4300, 292.3000], + [537.6300, 230.8300, 580.7100, 291.3300], + [421.1200, 230.4700, 580.6700, 350.9500], + [427.4200, 185.4300, 494.0200, 266.3500], + ] + ) + bboxes = datapoints.BoundingBox(boxes, format="XYXY", spatial_size=image.shape[-2:]) + input = (image, bboxes) + transform(input) + @parametrize( [ ( diff --git a/torchvision/transforms/v2/__init__.py b/torchvision/transforms/v2/__init__.py index 72115c694ee..24728bcdeaa 100644 --- a/torchvision/transforms/v2/__init__.py +++ b/torchvision/transforms/v2/__init__.py @@ -5,7 +5,7 @@ from ._transform import Transform # usort: skip from ._augment import RandomErasing -from ._auto_augment import AugMix, AutoAugment, AutoAugmentDetection, RandAugment, TrivialAugmentWide +from ._auto_augment import _AutoAugmentDetection, AugMix, AutoAugment, RandAugment, TrivialAugmentWide from ._color import ( ColorJitter, Grayscale, diff --git a/torchvision/transforms/v2/_auto_augment.py b/torchvision/transforms/v2/_auto_augment.py index f98d4fb4af2..4a4a620471a 100644 --- a/torchvision/transforms/v2/_auto_augment.py +++ b/torchvision/transforms/v2/_auto_augment.py @@ -220,7 +220,7 @@ def _apply_transform( class AutoAugment(_AutoAugmentBase): r"""[BETA] AutoAugment data augmentation method based on - `"AutoAugment: Learning Augmentation Strategies from Data" `_. + `"AutoAugment: Learning Augmentation Strategies from Data" `_. .. v2betastatus:: AutoAugment transform @@ -798,7 +798,33 @@ def _apply_image_or_video_and_bboxes_transform( return image, bboxes -class AutoAugmentDetection(_AutoAugmentDetectionBase): +class _AutoAugmentDetection(_AutoAugmentDetectionBase): + r"""[BETA] AutoAugment data augmentation method for object detection task based on + `"Learning Data Augmentation Strategies for Object Detection" `_. + + .. v2betastatus:: AutoAugment transform + + This transformation works on images, videos and bounding boxes only. + + If the input is :class:`torch.Tensor`, it should be of type ``torch.uint8``, and it is expected + to have [..., 1 or 3, H, W] shape, where ... means an arbitrary number of leading dimensions. + If img is PIL Image, it is expected to be in mode "L" or "RGB". + + Args: + policy (str, optional): The name of the AutoAugment policy to use. The available + options are `v0`, `v1`, `v2`, `v3` and `test`. `v0` is the policy used for + all of the results in the paper and was found to achieve the best results + on the COCO dataset. `v1`, `v2` and `v3` are additional good policies + found on the COCO dataset that have slight variation in what operations + were used during the search procedure along with how many operations are + applied in parallel to a single image (2 vs 3). + interpolation (InterpolationMode, optional): Desired interpolation enum defined by + :class:`torchvision.transforms.InterpolationMode`. Default is ``InterpolationMode.NEAREST``. + If input is Tensor, only ``InterpolationMode.NEAREST``, ``InterpolationMode.BILINEAR`` are supported. + fill (sequence or number, optional): Pixel fill value for the area outside the transformed + image. If given a number, the value is used for all bands respectively. + """ + _AUGMENTATION_SPACE = { "AutoContrast": (lambda num_bins, height, width: None, False), "Equalize": (lambda num_bins, height, width: None, False), @@ -821,11 +847,11 @@ class AutoAugmentDetection(_AutoAugmentDetectionBase): "Cutout": (lambda num_bins, height, width: torch.linspace(0, 100, num_bins + 1).round().int(), False), "BBox_Cutout": (lambda num_bins, height, width: torch.linspace(0.0, 0.75, num_bins + 1), False), "TranslateX": ( - lambda num_bins, height, width: torch.linspace(0.0, 250.0, num_bins + 1), + lambda num_bins, height, width: torch.linspace(0.0, 250.0 / 331.0 * width, num_bins + 1), True, ), "TranslateY": ( - lambda num_bins, height, width: torch.linspace(0.0, 250.0, num_bins + 1), + lambda num_bins, height, width: torch.linspace(0.0, 250.0 / 331.0 * height, num_bins + 1), True, ), "ShearX": (lambda num_bins, height, width: torch.linspace(0.0, 0.3, num_bins + 1), True), @@ -835,11 +861,11 @@ class AutoAugmentDetection(_AutoAugmentDetectionBase): "ShearX_Only_BBoxes": (lambda num_bins, height, width: torch.linspace(0.0, 0.3, num_bins + 1), True), "ShearY_Only_BBoxes": (lambda num_bins, height, width: torch.linspace(0.0, 0.3, num_bins + 1), True), "TranslateX_Only_BBoxes": ( - lambda num_bins, height, width: torch.linspace(0.0, 120.0, num_bins + 1), + lambda num_bins, height, width: torch.linspace(0.0, 120.0 / 331.0 * width, num_bins + 1), True, ), "TranslateY_Only_BBoxes": ( - lambda num_bins, height, width: torch.linspace(0.0, 120.0, num_bins + 1), + lambda num_bins, height, width: torch.linspace(0.0, 120.0 / 331.0 * height, num_bins + 1), True, ), "Flip_Only_BBoxes": (lambda num_bins, height, width: None, False),