From e48e724ca97431c53796a7b6dc17324f738bea73 Mon Sep 17 00:00:00 2001 From: Colin Date: Mon, 2 Sep 2024 17:52:33 +0800 Subject: [PATCH] Refine minist dump. --- tools/show.py | 2 +- unsuper/conv1_output.png | Bin 5556 -> 6550 bytes unsuper/conv1_weight.png | Bin 760 -> 678 bytes unsuper/conv1_weight_grad.png | Bin 586 -> 700 bytes unsuper/conv2_output.png | Bin 1507 -> 205 bytes unsuper/conv2_weight.png | Bin 4905 -> 662 bytes unsuper/conv2_weight_grad.png | Bin 2824 -> 702 bytes unsuper/fc_output.png | Bin 109 -> 109 bytes unsuper/fc_weight.png | Bin 3672 -> 688 bytes unsuper/fc_weight_grad.png | Bin 1183 -> 520 bytes unsuper/minist.py | 22 ++++++++++++---------- unsuper/pool_output.png | Bin 0 -> 114 bytes 12 files changed, 13 insertions(+), 11 deletions(-) create mode 100644 unsuper/pool_output.png diff --git a/tools/show.py b/tools/show.py index 236ce3a..a546963 100644 --- a/tools/show.py +++ b/tools/show.py @@ -8,7 +8,7 @@ import numpy as np import os -def DumpTensorToImage(tensor, name, forceSquare=True, scale=1.0, Contrast=None, GridValue=None): +def DumpTensorToImage(tensor, name, forceSquare=False, scale=1.0, Contrast=None, GridValue=None): if len(tensor.shape) != 2 and len(tensor.shape) != 1 and len(tensor.shape) != 3: raise ("Error input dims") if ("." not in name) or (name.split(".")[-1] not in {"jpg", "png", "bmp"}): diff --git a/unsuper/conv1_output.png b/unsuper/conv1_output.png index 37a8ff0fa564a4246357454d074ced66c1c5ed08..e0b1f3c94fb1079c365089f50036f284946b0062 100644 GIT binary patch literal 6550 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 SUtwzi0000e&A diff --git a/unsuper/conv1_weight_grad.png b/unsuper/conv1_weight_grad.png index b96d0e822ef6fa1a1ddeb16ab4f85c816d8c20ae..80168eeed90e556636e22dd040311ed5bee0ed10 100644 GIT binary patch delta 676 zcmV;V0$csc1iS^1B!7cRL_t(26_vqjXcJ}>fZ_L4Cj}z}ttdfDL7ajWB6F)~EIOie zcmV~2H?Uq{6G~A;3}U`7IVnyAMQbMr$|}qYMIA#aYT^yz)I!B+|5TWlYHO8RgH-HF z$=UW#$ge(+G+I5-L1m6ekbIP^9!hN4_3Np(TNs8H_ywv96Mqat8Jwqo?1Urika}wj zk{@PtgxnA7TKzdyDNy5?2X)we@yk@D!2jaa)^_Jqwcn~j(g;8;HYlkn6iijh32q`z z+n%acX)BnjdPQssuJTr`5C-`aLQRpko*;v-yFA?ffQ6Y>k?C-t{`Gc6Q)-_2Ucb~pRadGv%y=B4TlV|9SQ5B^Swd(mca$N|%W9Q7j`HIdk^V zI=3rL5wWXCg;5Ek`Tp~*2)QIa%wLb&XVU~x+#QBAMZ}pha{mImN*NF%73TT?0000< KMNUMnLSTX^TSSWh delta 561 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 k*UXvQMjuf?j5_A-KWf4y5ac0FeEf@4920FkG3 zNRT1~R9ZkmB7{IfFVX{qF-UummmAm2TeIF4NZ-#5YX8{3Gs-@Xac1V#=&A5m3nXvbhR0EV)XWG5$ieB{_ zlxu{`>LfF{nofb6<^7p2f-zVX-$w#98AI=l#$%`#)6~Ljb@o{m$(xlx_xVZM`C4A4 z%ZA>&Xey@8D1uhimf8m?4sP@-PjkAzC{IKkSUfJhc+KK;|I18dk=0R>ZI-D!K@-zv z>Li+qX*ePYk}7)m-veQ4-&fk@BmTPLkHDWP6Aizo`j5aLd;RdYAV71j$8b8~)$H{6f#z5S7>6bwd6OuTv~U;3GI)@e->=jaAxoLbq&p+H@lAE zP$`ltJYK7Di8KcLRK{}QOdr;-G=0QtaQ^P6&l_82uVWd1}a4eJ=`^2eL6yQ%CCfVRN zb`5E|4&7+d`xZ3MTvcMg4-%)djf>33n~1_UCnVEr3K(H;%bMT;=Umdgs5f%V;cwg(u1(P& zn7{k;e6kG#lC8nn&>^P7^0Nl6vV3#ALR%H&743HI_KyJIk!OVu6Lj6ni0C{n?SpDy zY_Fzo3B!*RUDHVE;OosB?uYoTlC1_>U!}W0Vkx&y6#odj+5+4Y%yU?y6lsCS+4Dtd zppv_tm_rgqC|VTYB*!*$KX455s`y&P?$``1#eU@JHE+Jic!L_~{GsG3tAW#4(>*t$ zcEwmt%bssoC)W**JR!jjMit;4J;c!fmP4_EA7g zf01DIMi8IWP2T7d5RGTLhAm3l9h}#3$UI1aW#9-KK0d z6lwUSypGvT&>i#lvVl6qBe7#bM)ZXgE=P6Tq-h((m!$+z((vbw8W;bv3iXWwzx(Lo zHdCMTB0y|tQ^rF|D{!_AAsy=z4BCx1!{%a%co8WFZtv8cv>VIByR)tiEuZv>{kLTA zn;b_(t*&1{BGxy6QnYi0jI>t!u57~#s}|%a0WmiV8_VDnRK`W+AVdxov9B+@zCVEFw@Up^_tk$;p zVTI=0%Dt_{ow^`#h1Z!S3-Nx~?D1p`qGAtelSebkvu`*B?8CXHQSf{YP!&e%&_lFN zBcp@cW}p4+OI<&&Z16p6qZTdjrTzrNk>==ieML}dT8xAsOB>HCJ1!UMTIBb3M8DZ?$$tl>wi#(SqSMz@ws zJP(C?(PoYhd9n#>Ii$S>OH??&ucsUm!>>i=p`CIcvC$~%dX#yM5 zjo#W&QAIquoV<>{)NK9yXRb(qrM{4fy{2{b8@h)bxuy*6JOvGSVrK>*{@JDse4HeA*aFwa|Od9}au8v2$NTE+x!@ zPc+MysEp>7_I_Huvh}IJk-a~v7OmygqgVDOB}0G3@VNmPw64|9*l+at9e46+J)XpG z&QDC0tqVLt%YO5{L(XZ-kz-Aw6XL=ObBJew(d9iIUx3G*OLHW)xaW0A5k*UcJt(0{ zB{XjZH>}cZ>tvP$!~&me<>q?vR5yXF8Nss>fKj?2Je`3-e6I_ zB#;dB77B_SCPkazM9$&0lszGOg*4{nRqd!-ijJdKc*m+pX=d+ZB`c+OI3)+qgrU3! zVN5VJnV)!8c=XW{qzRNuUaC^=l)A)NGad6+(4b|249W3^F)p}$W}{i-mau} zyw!e27};tY2}mY8?u#Qz-OQ&>f!{TnL;bjuRaw9K$5}C$-!%v=aydfnOwUFt*46Ya zWes>5vqvjCyVa&M*W4ob#!5*&oF<#GT^YCY#X*}s6|8LM0hPfybJu9|`rBq%fGzqP&s+$1ST`~+7xW$UqZL){HJ&*2JKUPPExn7ZEm E7lgxODgXcg diff --git a/unsuper/fc_output.png b/unsuper/fc_output.png index d5cab67f7305e77930fe9acff11f0d08feb11127..5c1849e7dc5674db377d6795beea5fb38626adb5 100644 GIT binary patch delta 70 zcmd1JouK3R=YLz{!KTD-Z%z2xFH#Rad YGQ4@rmysnN)xrP-p00i_>zopr09HF3ZvX%Q diff --git a/unsuper/fc_weight.png b/unsuper/fc_weight.png index 2f3e4c6e079de3cc3cb10a7c4c3b445b8f5edc9e..d2abf1c798081fdec8e77339f95b644bdb3d946f 100644 GIT binary patch literal 688 zcmV;h0#E&kP)t zVV*}M4U0oJwBC3`vv?Jck`M~9szbc;@r>chQawh9fiFg*2KYg0IIU3Rk91E(I=z;~ z$BERzO zxl`(M!@V!OK}(gVxa@$>f=~?lZDe3aWQ7+M1(s>8qDL$SJ?ji@g#&1)X%LSmoyAJB9t?zMJQ)bi%`y>7NML$EkZeiT7+^2wf+GT WLk$oCZa5bJ0000nH*@{+}I3t>(?GK7u3CN{DKS znydC>f=JKBH;oVnY7J;haQnS_xNwj%M=Y5B!!A~OQshHk0+BrqH#`ZpeQWHKA(u;U zi@|!SM37{SC7JLDl9CBub#dpR@$)~v{llIi%dN4PQ0L(jN~$;cJ-@FLB~tfQytpLC z+0o?stn_-J~sUVlpwSL7HM%Kga6#W$7ERp0IWWAX5ETypXKZsMY{ zbAyf8I8gicu?Lt~w|J`xvp-oDtj7%dt@sZQZ}MA~bPC>oq#TzULx;&|F?voxIzd6C zU;A>@^v$Q6u=6E1h;$WZ6KWUAO{jrFymIkv!fqwIa`E+~D1gkCRh`Pd8LXi`i3ssT zb}Pa&oaBlI=acp`XEdLo@9wtXQ&B}HJvq!H)NwoP1awa1R8Kr-_2Hls=*Yy;7?IE0eg zv90xx)qF1si|~wQLnx`cSh<$OOagq#70>0HMr__b{^01WdH!Vik@MTjF*`b}iC~8~ zFKMETI#E@HlM$Q$yxcmu!`WoQ z`-}N9FIGQZ5yjHoh>aah=>)~K=?+=V|G4D`@_0D4Pa$42PMyHatT`vbNXf@LZk0~| zjS@t<8k2_l_K#jZ@7*d`n*8}o*8^`9{=lo#TagI@`5=>*yERLgHZ zxVDxA;CZHCFiO0^Kn=>hs05zs9hrhTL><+lM z-PBpdi&ojmfEI9|HWyz%atiSZAhYA%*6W{)8re{A&VJIwYiBW2;lrR3^h1<#Tr5}{ zu{kf^|4iMjr;f*&M{$6Z<;Jf3C*3a5xjYUW^WgP~qFsBis#o$F@4t{Qw zq!AK9k^!w9P35@Mqp3%;TQurqJ145tm}XWVFC8!>k^}=<8;lOrUR*Wqmv25uA45ux7xnVbq#9t*Of>TitrqB{

n_T{(~;^j@g1?wj4X52in$78t{h2^+>eE)|R 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 M>FVdQ&MBb@0F4_Wod5s; literal 0 HcmV?d00001