From 17cecf2cf5e933adb3a8efca79d5e3cfb55a4acb Mon Sep 17 00:00:00 2001 From: Tinazhang Date: Mon, 11 May 2020 17:52:12 -0400 Subject: [PATCH] Added TCs to RandomCrop and RandomCropAndResize and modified visalize() calling --- .../golden/random_crop_01_c_result.npz | Bin 0 -> 644 bytes .../golden/random_crop_01_py_result.npz | Bin 0 -> 644 bytes .../golden/random_crop_02_c_result.npz | Bin 0 -> 644 bytes .../golden/random_crop_02_py_result.npz | Bin 0 -> 644 bytes .../golden/random_crop_03_c_result.npz | Bin 0 -> 644 bytes .../golden/random_crop_03_py_result.npz | Bin 0 -> 644 bytes .../golden/random_crop_05_c_result.npz | Bin 0 -> 644 bytes .../golden/random_crop_05_py_result.npz | Bin 0 -> 644 bytes .../golden/random_crop_07_c_result.npz | Bin 0 -> 644 bytes .../golden/random_crop_07_py_result.npz | Bin 0 -> 644 bytes .../golden/random_crop_08_c_result.npz | Bin 0 -> 644 bytes .../golden/random_crop_08_py_result.npz | Bin 0 -> 644 bytes .../random_crop_and_resize_01_c_result.npz | Bin 0 -> 644 bytes .../random_crop_and_resize_01_py_result.npz | Bin 0 -> 644 bytes .../random_crop_and_resize_02_c_result.npz | Bin 0 -> 644 bytes .../random_crop_and_resize_02_py_result.npz | Bin 0 -> 644 bytes .../random_crop_and_resize_03_c_result.npz | Bin 0 -> 644 bytes .../random_crop_and_resize_03_py_result.npz | Bin 0 -> 644 bytes tests/ut/python/dataset/test_HWC2CHW.py | 21 +- tests/ut/python/dataset/test_center_crop.py | 11 +- tests/ut/python/dataset/test_random_crop.py | 484 +++++++++++++++++- .../dataset/test_random_crop_and_resize.py | 287 +++++++++-- 22 files changed, 728 insertions(+), 75 deletions(-) create mode 100644 tests/ut/data/dataset/golden/random_crop_01_c_result.npz create mode 100644 tests/ut/data/dataset/golden/random_crop_01_py_result.npz create mode 100644 tests/ut/data/dataset/golden/random_crop_02_c_result.npz create mode 100644 tests/ut/data/dataset/golden/random_crop_02_py_result.npz create mode 100644 tests/ut/data/dataset/golden/random_crop_03_c_result.npz create mode 100644 tests/ut/data/dataset/golden/random_crop_03_py_result.npz create mode 100644 tests/ut/data/dataset/golden/random_crop_05_c_result.npz create mode 100644 tests/ut/data/dataset/golden/random_crop_05_py_result.npz create mode 100644 tests/ut/data/dataset/golden/random_crop_07_c_result.npz create mode 100644 tests/ut/data/dataset/golden/random_crop_07_py_result.npz create mode 100644 tests/ut/data/dataset/golden/random_crop_08_c_result.npz create mode 100644 tests/ut/data/dataset/golden/random_crop_08_py_result.npz create mode 100644 tests/ut/data/dataset/golden/random_crop_and_resize_01_c_result.npz create mode 100644 tests/ut/data/dataset/golden/random_crop_and_resize_01_py_result.npz create mode 100644 tests/ut/data/dataset/golden/random_crop_and_resize_02_c_result.npz create mode 100644 tests/ut/data/dataset/golden/random_crop_and_resize_02_py_result.npz create mode 100644 tests/ut/data/dataset/golden/random_crop_and_resize_03_c_result.npz create mode 100644 tests/ut/data/dataset/golden/random_crop_and_resize_03_py_result.npz diff --git a/tests/ut/data/dataset/golden/random_crop_01_c_result.npz b/tests/ut/data/dataset/golden/random_crop_01_c_result.npz new file mode 100644 index 0000000000000000000000000000000000000000..32e10a8d72f91fbc5b42eaf0097b4e15a17c28f3 GIT binary patch literal 644 zcmWIWW@Zs#fB;2?#Jdkm{xC8yfG{V62t#5~QM`d(UO^=zg8*0%q!1(t0+anheFGvH z8Oj){)l*W7lZ(`?6x3_{)pZoq)AEZ-iW2kU^NUhaLBei{ImM|!@#2icf>a=1!%#=T zNK;3lR)KuL)xeybSDIT;sh6Bzl&Y6onp2VqbZ=rMSA0=wa(-TMNl|HX30ENlL={(F z3PiS$(VL;Qkja@bsgSw7kR_;)Rl}PR2$|Xn*`P{ON-7IdxeD1Mn1J5&w=nq0O83gY7+`EXf}W;|oa=1!%#=T zNK;3lR)KuL)xeybSDIT;sh6Bzl&Y6onp2VqbZ=rMSA0=wa(-TMNl|HX30ENlL={(F z3PiS$(VL;Qkja@bsgSw7kR_;)Rl}PR2$|Xn*`P{ON-7IdxeD1Mn1J5&wa=1!%#=T zNK;3lR)KuL)xeybSDIT;sh6Bzl&Y6onp2VqbZ=rMSA0=wa(-TMNl|HX30ENlL={(F z3PiS$(VL;Qkja@bsgSw7kR_;)Rl}PR2$|Xn*`P{ON-7IdxeD1Mn1J5&w#cWQV5a+fysWMz5$Vp z3}p<}>M5zk$wlf`3hFif>N*PQY57GZMTvRw`9&$IAYr$}oZ?iVcyUHzK`M~1VW^{E zq^YA&t3W>BYG6*zE6pva)Jx7UO4Z9P%_+$Qx;L?sE50Z-IX|zsq^LBxgsYGNqKYdo z1tMF>=*`et$mGnJRLI<3$P!e@s^QHDgiLLPY*3{sC6xuKT!rirOh9k?TNHA5Gk7z$ z7jgy_a%p%oM}YiaQ^@V-=jZhw2*8B5eMuotQfF)-uSNtbP(Cv^F+H`AFSd|hBZDCW zY^6X3&_2PSLLrcSEUksY84wH7ObSIH7KjEFioqn+a literal 0 HcmV?d00001 diff --git a/tests/ut/data/dataset/golden/random_crop_03_c_result.npz b/tests/ut/data/dataset/golden/random_crop_03_c_result.npz new file mode 100644 index 0000000000000000000000000000000000000000..b3a52243a4d660ff8dfde41256c43e0c479a7e56 GIT binary patch literal 644 zcmWIWW@Zs#fB;2?J%>!y{xC8yfG{V62t#5~QM`d(UO^=zg8*0%q!1(t0+anheFGvH z8Oj){)l*W7lZ(`?6x3_{)pZoq)AEZ-iW2kU^NUhaLBei{ImM|!@#2icf>a=1!%#=T zNK;3lR)KuL)xeybSDIT;sh6Bzl&Y6onp2VqbZ=rMSA0=wa(-TMNl|HX30ENlL={(F z3PiS$(VL;Qkja@bsgSw7kR_;)Rl}PR2$|Xn*`P{ON-7IdxeD1Mn1J5&w#cWQV5a+fysWMz5$Vp z3}p<}>M5zk$wlf`3hFif>N*PQY57GZMTvRw`9&$IAYr$}oZ?iVcyUHzK`M~1VW^{E zq^YA&t3W>BYG6*zE6pva)Jx7UO4Z9P%_+$Qx;L?sE50Z-IX|zsq^LBxgsYGNqKYdo z1tMF>=*`et$mGnJRLI<3$P!e@s^QHDgiLLPY*3{sC6xuKT!rirOh9k?TNHA5Gk7z$ z7jgy_a%p%oM}YiaQ^@V-=jZhw2*8B5eMuotQfF)-uSNtbP(Cv^F+H`AFSd|hBZDCW zY^6X3&_2PSLLrcSEUksY84wH7ObSIH7KjEFioq>#cWQV5a+fysWMz5$Vp z3}p<}>M5zk$wlf`3hFif>N*PQY57GZMTvRw`9&$IAYr$}oZ?iVcyUHzK`M~1VW^{E zq^YA&t3W>BYG6*zE6pva)Jx7UO4Z9P%_+$Qx;L?sE50Z-IX|zsq^LBxgsYGNqKYdo z1tMF>=*`et$mGnJRLI<3$P!e@s^QHDgiLLPY*3{sC6xuKT!rirOh9k?TNHA5Gk7z$ z7jgy_a%p%oM}YiaQ^@V-=jZhw2*8B5eMuotQfF)-uSNtbP(Cv^F+H`AFSd|hBZDCW zY^6X3&_2PSLLrcSEUksY84wH7ObSIH7KjEFioq#cWQV5a+fysWMz5$Vp z3}p<}>M5zk$wlf`3hFif>N*PQY57GZMTvRw`9&$IAYr$}oZ?iVcyUHzK`M~1VW^{E zq^YA&t3W>BYG6*zE6pva)Jx7UO4Z9P%_+$Qx;L?sE50Z-IX|zsq^LBxgsYGNqKYdo z1tMF>=*`et$mGnJRLI<3$P!e@s^QHDgiLLPY*3{sC6xuKT!rirOh9k?TNHA5Gk7z$ z7jgy_a%p%oM}YiaQ^@V-=jZhw2*8B5eMuotQfF)-uSNtbP(Cv^F+H`AFSd|hBZDCW zY^6X3&_2PSLLrcSEUksY84wH7ObSIH7KjEFioq#cWQV5a+fysWMz5$Vp z3}p<}>M5zk$wlf`3hFif>N*PQY57GZMTvRw`9&$IAYr$}oZ?iVcyUHzK`M~1VW^{E zq^YA&t3W>BYG6*zE6pva)Jx7UO4Z9P%_+$Qx;L?sE50Z-IX|zsq^LBxgsYGNqKYdo z1tMF>=*`et$mGnJRLI<3$P!e@s^QHDgiLLPY*3{sC6xuKT!rirOh9k?TNHA5Gk7z$ z7jgy_a%p%oM}YiaQ^@V-=jZhw2*8B5eMuotQfF)-uSNtbP(Cv^F+H`AFSd|hBZDCW zY^6X3&_2PSLLrcSEUksY84wH7ObSIH7KjEFioq8;)z1Zl0vB@m?hF6OJsryWucbHWrzXw$lb1rxO7%iE#~g&M`=2_`i1f( zg$i&ziXc5oL50dtJt|;5@v=9U%ZRKEFk9&^xc~Ok6@{uLg=$HusU?N#NqPa^j7%cT gxDpP~|4`5XPAl+a6yVLu29jX}LUSN(4hmof03gt?KmY&$ literal 0 HcmV?d00001 diff --git a/tests/ut/data/dataset/golden/random_crop_07_py_result.npz b/tests/ut/data/dataset/golden/random_crop_07_py_result.npz new file mode 100644 index 0000000000000000000000000000000000000000..68339c0aa46c2b362e1bd180bb1a17e6ca088ffa GIT binary patch literal 644 zcmWIWW@Zs#fB;1X{-n}Pe;64UK$w$3gdwr0DBeIXub`5VK>#cWQV5a+fysWMz5$Vp z3}p<}>M5zk$wlf`3hFif>N*PQY57GZMTvRw`9&$IAYr$}oZ?iVcyUHzK`M~1VW^{E zq^YA&t3W>BYG6*zE6pva)Jx7UO4Z9P%_+$Qx;L?sE50Z-IX|zsq^LBxgsYGNqKYdo z1tMF>=*`et$mGnJRLI<3$P!e@s^QHDgiLLPY*3{sC6xuKT!rirOh9k?TNHA5Gk7z$ z7jgy_a%p%oM}YiaQ^@V-=jZhw2*8B5eMuotQfF)-uSNtbP(Cv^F+H`AFSd|hBZDCW zY^6X3&_2PSLLrcSEUksY84wH7ObSIH7KjEFioqWLx;Ja*zHqadm-1#O`xnZW z6e_^=D1!7T1r;ho^{9aLtXQoc|BX#*a)0T^cHN%suM1U63e}QQQ%efflk@_-8JR?w gaU~p}|Dm7(oL1n;D8QSQ4J5+|gyuln92CF|0A%a0vH$=8 literal 0 HcmV?d00001 diff --git a/tests/ut/data/dataset/golden/random_crop_08_c_result.npz b/tests/ut/data/dataset/golden/random_crop_08_c_result.npz new file mode 100644 index 0000000000000000000000000000000000000000..d4d08cb224c4b93b51cae2998b283f5bb443734b GIT binary patch literal 644 zcmWIWW@Zs#fB;2?JFb=8e;64UK$w$3gdwr0DBeIXub`5VK>#cWQV5a+fysWMz5$Vp z3}p<}>M5zk$wlf`3hFif>N*PQY57GZMTvRw`9&$IAYr$}oZ?iVcyUHzK`M~1VW^{E zq^YA&t3W>BYG6*zE6pva)Jx7UO4Z9P%_+$Qx;L?sE50Z-IX|zsq^LBxgsYGNqKYdo z1tMF>=*`et$mGnJRLI<3$P!e@s^QHDgiLLPY*3{sC6xuKT!rirOh9k?TNHA5Gk7z$ z7jgy_a%p%oM}YiaQ^@V-=jZhw2*8B5eMuotQfF)-uSNtbP(Cv^F+H`AFSd|hBZDCW zY^6X3&_2PSLLrcSEUksY84wH7ObSIH7KjEFioq8;)z1Zl0vB@m?hF6OJsryWucbHWrzXw$lb1rxO7%iE#~g&M`=2_`i1f( zg$i&ziXc5oL50dtJt|;5@v=9U%ZRKEFk9&^xc~Ok6@{uLg=$HusU?N#NqPa^j7%cT gxDpP~|4`5XPAl+a6yVLu29jX}LUSN(4hmof03gt?KmY&$ literal 0 HcmV?d00001 diff --git a/tests/ut/data/dataset/golden/random_crop_08_py_result.npz b/tests/ut/data/dataset/golden/random_crop_08_py_result.npz new file mode 100644 index 0000000000000000000000000000000000000000..cc26b0322f806944446ead425aee540c2110844d GIT binary patch literal 644 zcmWIWW@Zs#fB;2?lG!bxe;64UK$w$3gdwr0DBeIXub`5VK>#cWQV5a+fysWMz5$Vp z3}p<}>M5zk$wlf`3hFif>N*PQY57GZMTvRw`9&$IAYr$}oZ?iVcyUHzK`M~1VW^{E zq^YA&t3W>BYG6*zE6pva)Jx7UO4Z9P%_+$Qx;L?sE50Z-IX|zsq^LBxgsYGNqKYdo z1tMF>=*`et$mGnJRLI<3$P!e@s^QHDgiLLPY*3{sC6xuKT!rirOh9k?TNHA5Gk7z$ z7jgy_a%p%oM}YiaQ^@V-=jZhw2*8B5eMuotQfF)-uSNtbP(Cv^F+H`AFSd|hBZDCW zY^6X3&_2PSLLrcSEUksY84wH7ObSIH7KjEFioqgkx7IZ gSHc1M9|{`4X$78)0=!w-Kr)O#Xbz;!K>^GF0OK^SA^-pY literal 0 HcmV?d00001 diff --git a/tests/ut/data/dataset/golden/random_crop_and_resize_01_c_result.npz b/tests/ut/data/dataset/golden/random_crop_and_resize_01_c_result.npz new file mode 100644 index 0000000000000000000000000000000000000000..9deccf5eec53e39e47a1f6ccee341efb844d25bc GIT binary patch literal 644 zcmWIWW@Zs#fB;2?6(86`|1dHzfG{V62t#5~QM`d(UO^=zg8*0%q!1(t0+anheFGvH z8Oj){)l*W7lZ(`?6x3_{)pZoq)AEZ-iW2kU^NUhaLBei{ImM|!@#2icf>a=1!%#=T zNK;3lR)KuL)xeybSDIT;sh6Bzl&Y6onp2VqbZ=rMSA0=wa(-TMNl|HX30ENlL={(F z3PiS$(VL;Qkja@bsgSw7kR_;)Rl}PR2$|Xn*`P{ON-7IdxeD1Mn1J5&w9lu2x5^47OA4iuV3tUOERhK+l!aO%mmvn!W0sbZzE*9Ohk?wp=hpKDCl<<= z6e_^=D1!7T1r;ho^{9aLaBkz`Fp>Lpd(VQ|g{L&O$``7Z6sjeqrj`_{C+P)vGct)V g<4QO{|3g6oIIX~wQGhoq8%Tx`2+e`CIVgY`00`TyV*mgE literal 0 HcmV?d00001 diff --git a/tests/ut/data/dataset/golden/random_crop_and_resize_01_py_result.npz b/tests/ut/data/dataset/golden/random_crop_and_resize_01_py_result.npz new file mode 100644 index 0000000000000000000000000000000000000000..67459b2e824bad588b2b0b7c322b95d742c0bba8 GIT binary patch literal 644 zcmWIWW@Zs#fB;1X|Lb?+{xC8yfG{V62t#5~QM`d(UO^=zg8*0%q!1(t0+anheFGvH z8Oj){)l*W7lZ(`?6x3_{)pZoq)AEZ-iW2kU^NUhaLBei{ImM|!@#2icf>a=1!%#=T zNK;3lR)KuL)xeybSDIT;sh6Bzl&Y6onp2VqbZ=rMSA0=wa(-TMNl|HX30ENlL={(F z3PiS$(VL;Qkja@bsgSw7kR_;)Rl}PR2$|Xn*`P{ON-7IdxeD1Mn1J5&wA-D=0f?B zLIt=UMUWn)ph9J+9u=^j6Z7TmCtsTXCot0Dxhii>NTF&;p;}UEYDuAbl3su}Ba;X- gu7m^hKNK{8(+WHp1$eWvfn*qg&>Tpcg94ZV0ADAs3;+NC literal 0 HcmV?d00001 diff --git a/tests/ut/data/dataset/golden/random_crop_and_resize_02_c_result.npz b/tests/ut/data/dataset/golden/random_crop_and_resize_02_c_result.npz new file mode 100644 index 0000000000000000000000000000000000000000..6f1b0517698d5379f4a92a3d6f101462fa915f71 GIT binary patch literal 644 zcmWIWW@Zs#fB;1X-A$i`{xC8yfG{V62t#5~QM`d(UO^=zg8*0%q!1(t0+anheFGvH z8Oj){)l*W7lZ(`?6x3_{)pZoq)AEZ-iW2kU^NUhaLBei{ImM|!@#2icf>a=1!%#=T zNK;3lR)KuL)xeybSDIT;sh6Bzl&Y6onp2VqbZ=rMSA0=wa(-TMNl|HX30ENlL={(F z3PiS$(VL;Qkja@bsgSw7kR_;)Rl}PR2$|Xn*`P{ON-7IdxeD1Mn1J5&wPIN=TzLnQz&0j zr~uca2-2ezRHzKqqXO1r<6(bOQo%7v{8?g2yU#cWQV5a+fysWMz5$Vp z3}p<}>M5zk$wlf`3hFif>N*PQY57GZMTvRw`9&$IAYr$}oZ?iVcyUHzK`M~1VW^{E zq^YA&t3W>BYG6*zE6pva)Jx7UO4Z9P%_+$Qx;L?sE50Z-IX|zsq^LBxgsYGNqKYdo z1tMF>=*`et$mGnJRLI<3$P!e@s^QHDgiLLPY*3{sC6xuKT!rirOh9k?TNHA5Gk7z$ z7jgy_a%p%oM}YiaQ^@V-=jZhw2*8B5eMuotQfF)-uSNtbP(Cv^F+H`AFSd|hBZDCW zY^6X3&_2PSLLrcSEUksY84wH7ObSIH7KjEFioq8(>1*t&3hM|sv zk*1D9tpfRgtARN=uQa!yQZG5bC{-`FG^ZpJ=-$LiuK1$VQXzADAxlsptA;lt5HhtDvO$%mlvEa^auu>iFaf>kZ&AqM&EU=0 zUdS0#$fe=U90BrwO(D0RpP$!%AOI8I_9cZpNu9BUyc!X#K>5tv#PrlczSu&3jSPki zu$2NCK>GxP3WY%Sv9uNnXFx1SGbt2-SRfiyCQMpfdAIYsji-0)48!8=uQJ;L))%Ul6sjeqrj`_{C+P)vGct)V g<4QO{|3g6oIIX~wQGhoq8%Tx`2+e`CIVgY`085Cl9{>OV literal 0 HcmV?d00001 diff --git a/tests/ut/data/dataset/golden/random_crop_and_resize_03_py_result.npz b/tests/ut/data/dataset/golden/random_crop_and_resize_03_py_result.npz new file mode 100644 index 0000000000000000000000000000000000000000..621460e34ca7ba50d60de400e2d18d8e7ee93ef4 GIT binary patch literal 644 zcmWIWW@Zs#fB;2?Yc(vAe;64UK$w$3gdwr0DBeIXub`5VK>#cWQV5a+fysWMz5$Vp z3}p<}>M5zk$wlf`3hFif>N*PQY57GZMTvRw`9&$IAYr$}oZ?iVcyUHzK`M~1VW^{E zq^YA&t3W>BYG6*zE6pva)Jx7UO4Z9P%_+$Qx;L?sE50Z-IX|zsq^LBxgsYGNqKYdo z1tMF>=*`et$mGnJRLI<3$P!e@s^QHDgiLLPY*3{sC6xuKT!rirOh9k?TNHA5Gk7z$ z7jgy_a%p%oM}YiaQ^@V-=jZhw2*8B5eMuotQfF)-uSNtbP(Cv^F+H`AFSd|hBZDCW zY^6X3&_2PSLLrcSEUksY84wH7ObSIH7KjEFioqUHxb z-xl2$`~Boglh{JZl0vB@m?hF6OJsryWucbHWrzXw>%D^jfL(3%2(|gbU?M z3Kigb6hV5Ff(n(PdQ`xA#2B 0: - break crop_and_resize = item1["image"] original = item2["image"] + # Note: resize the original image with the same size as the one applied RandomResizedCrop() original = cv2.resize(original, (512, 256)) - diff = crop_and_resize - original - mse = np.sum(np.power(diff, 2)) + mse = diff_mse(crop_and_resize, original) + assert mse == 0 logger.info("random_crop_and_resize_op_{}, mse: {}".format(num_iter + 1, mse)) - # Uncomment below line if you want to visualize images - # visualize(crop_and_resize, mse, original) num_iter += 1 + crop_and_resize_images.append(crop_and_resize) + original_images.append(original) + if plot: + visualize(original_images, crop_and_resize_images) + +def test_random_crop_and_resize_01(): + """ + Test RandomCropAndResize with md5 check, expected to pass + """ + logger.info("test_random_crop_and_resize_01") + ds.config.set_seed(0) + ds.config.set_num_parallel_workers(1) + + # First dataset + data1 = ds.TFRecordDataset(DATA_DIR, SCHEMA_DIR, columns_list=["image"], shuffle=False) + decode_op = c_vision.Decode() + random_crop_and_resize_op = c_vision.RandomResizedCrop((256, 512), (0.5, 1), (0.5, 1)) + data1 = data1.map(input_columns=["image"], operations=decode_op) + data1 = data1.map(input_columns=["image"], operations=random_crop_and_resize_op) + + # Second dataset + data2 = ds.TFRecordDataset(DATA_DIR, SCHEMA_DIR, columns_list=["image"], shuffle=False) + transforms = [ + py_vision.Decode(), + py_vision.RandomResizedCrop((256, 512), (0.5, 1), (0.5, 1)), + py_vision.ToTensor() + ] + transform = py_vision.ComposeOp(transforms) + data2 = data2.map(input_columns=["image"], operations=transform()) + + filename1 = "random_crop_and_resize_01_c_result.npz" + filename2 = "random_crop_and_resize_01_py_result.npz" + save_and_check_md5(data1, filename1, generate_golden=GENERATE_GOLDEN) + save_and_check_md5(data2, filename2, generate_golden=GENERATE_GOLDEN) + +def test_random_crop_and_resize_02(): + """ + Test RandomCropAndResize with md5 check:Image interpolation mode is Inter.NEAREST, + expected to pass + """ + logger.info("test_random_crop_and_resize_02") + ds.config.set_seed(0) + ds.config.set_num_parallel_workers(1) + + # First dataset + data1 = ds.TFRecordDataset(DATA_DIR, SCHEMA_DIR, columns_list=["image"], shuffle=False) + decode_op = c_vision.Decode() + random_crop_and_resize_op = c_vision.RandomResizedCrop((256, 512), interpolation=mode.Inter.NEAREST) + data1 = data1.map(input_columns=["image"], operations=decode_op) + data1 = data1.map(input_columns=["image"], operations=random_crop_and_resize_op) + + # Second dataset + data2 = ds.TFRecordDataset(DATA_DIR, SCHEMA_DIR, columns_list=["image"], shuffle=False) + transforms = [ + py_vision.Decode(), + py_vision.RandomResizedCrop((256, 512), interpolation=mode.Inter.NEAREST), + py_vision.ToTensor() + ] + transform = py_vision.ComposeOp(transforms) + data2 = data2.map(input_columns=["image"], operations=transform()) + + filename1 = "random_crop_and_resize_02_c_result.npz" + filename2 = "random_crop_and_resize_02_py_result.npz" + save_and_check_md5(data1, filename1, generate_golden=GENERATE_GOLDEN) + save_and_check_md5(data2, filename2, generate_golden=GENERATE_GOLDEN) + +def test_random_crop_and_resize_03(): + """ + Test RandomCropAndResize with md5 check: max_attempts is 1, expected to pass + """ + logger.info("test_random_crop_and_resize_03") + ds.config.set_seed(0) + ds.config.set_num_parallel_workers(1) + + # First dataset + data1 = ds.TFRecordDataset(DATA_DIR, SCHEMA_DIR, columns_list=["image"], shuffle=False) + decode_op = c_vision.Decode() + random_crop_and_resize_op = c_vision.RandomResizedCrop((256, 512), max_attempts=1) + data1 = data1.map(input_columns=["image"], operations=decode_op) + data1 = data1.map(input_columns=["image"], operations=random_crop_and_resize_op) + + # Second dataset + data2 = ds.TFRecordDataset(DATA_DIR, SCHEMA_DIR, columns_list=["image"], shuffle=False) + transforms = [ + py_vision.Decode(), + py_vision.RandomResizedCrop((256, 512), max_attempts=1), + py_vision.ToTensor() + ] + transform = py_vision.ComposeOp(transforms) + data2 = data2.map(input_columns=["image"], operations=transform()) + + filename1 = "random_crop_and_resize_03_c_result.npz" + filename2 = "random_crop_and_resize_03_py_result.npz" + save_and_check_md5(data1, filename1, generate_golden=GENERATE_GOLDEN) + save_and_check_md5(data2, filename2, generate_golden=GENERATE_GOLDEN) + +def test_random_crop_and_resize_04_c(): + """ + Test RandomCropAndResize with c_tranforms: invalid range of scale (max