From dc17fcf3805a914891f9f22edf2eb33dd27b227f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E8=8E=8E=E8=8E=8E?= Date: Mon, 5 Jul 2021 03:40:05 +0000 Subject: [PATCH 1/4] =?UTF-8?q?update=20AscendPytorch=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E4=BC=97=E6=99=BAFAQ.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...41\345\236\213\344\274\227\346\231\272FAQ.md" | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git "a/AscendPytorch\346\250\241\345\236\213\344\274\227\346\231\272FAQ.md" "b/AscendPytorch\346\250\241\345\236\213\344\274\227\346\231\272FAQ.md" index fa48133..0f8dc50 100644 --- "a/AscendPytorch\346\250\241\345\236\213\344\274\227\346\231\272FAQ.md" +++ "b/AscendPytorch\346\250\241\345\236\213\344\274\227\346\231\272FAQ.md" @@ -815,7 +815,7 @@ Python版本不对,执行位置也不对 所以这里想用外面的环境直接conda deactivate 为了一直有效直接添加到环境变量中。 -### FAQ30、Alexnet dropout 精度不达标规避方法。 +### FAQ40、Alexnet dropout 精度不达标规避方法。 * 现象描述 Alexnet dropout npu精度不达标 * 处理方法 @@ -858,6 +858,20 @@ Python版本不对,执行位置也不对 ) ``` +### FAQ41、mmdet在做hook定位时反向过程报错 +- 现象描述 +![](https://gitee.com/wangjiangben_hw/ascend-pytorch-crowdintelligence-doc/raw/master/model_faq41_0625_fig1.PNG) + +- 原因分析 + +这个是torch的原始BUG,如果是空dict就会死循环;因为mmdet自己会包装dict,所以这里一定要读到tensor,才会正常执行 +- 处理方法 +代码参考路径为:/usr/local/python3.7.5/lib/python3.7/site-packages/torch/nn/modules/module.py +适配代码参考如下: +![](https://gitee.com/wangjiangben_hw/ascend-pytorch-crowdintelligence-doc/raw/master/figures/model_faq41_0625_fig2.PNG) + + + ## [2.2 NPU模型分布式运行常见问题FAQ](#22-NPU模型分布式运行常见问题FAQ) -- Gitee From fa916570598de0289da7400606b01532a3537302 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E8=8E=8E=E8=8E=8E?= Date: Mon, 5 Jul 2021 03:41:34 +0000 Subject: [PATCH 2/4] =?UTF-8?q?=E4=B8=8A=E4=BC=A0FAQ41=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E5=9B=BE=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- figures/model_faq41_0625_fig1.PNG | Bin 0 -> 19539 bytes figures/model_faq41_0625_fig2.PNG | Bin 0 -> 27219 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 figures/model_faq41_0625_fig1.PNG create mode 100644 figures/model_faq41_0625_fig2.PNG diff --git a/figures/model_faq41_0625_fig1.PNG b/figures/model_faq41_0625_fig1.PNG new file mode 100644 index 0000000000000000000000000000000000000000..01436e7faf02ea0be9d41d641e496daedb6503b8 GIT binary patch literal 19539 zcmb5W2|SeF`!_zamV}g@Q7V;CDQjjdMSX-yLTD_B3RB3InIVd@O!j0MMIpQF+o&)i z#*%#*+t|en!|eBe^!Yx|@ArRR&;Rv2|9QP;x$pbB&pFpQ=RW7U-q-t@*Eh^fg!W1A z1A#z7*REc^1p;vkaDG<^@NquR5(UFKUtB)7ObkKA-LgxZ10FX6GXoH)3@ylX;^iFg zeR9>-2Lw9sWB1L4gXi4`flL>#T{gHKaBnT6vusnx8z&dmshZ*-*0TB_KS^w(+m!e0 zwVH}2JPFNb%*7{_Q|uDHpOY5;!lhA{#&hy!A8?1YjEqo_W_^#!X-Cm`*<+ARXme*>vqvF;8p4y5 z&qQxdr3+1S6pK6`@S^`1z2q%4Yz^E!LV12#X$eq&O=``~z`VH#i7AF2u*Lc=R9o+0 zHKnjncf{FC*aPHop%=;5-$kO`e&gI;i)siQ9m2?A5vhkQ(XvbFU*~S4zpm_DhxAJH zp70QX$SeDs_&k3=SnPtA{6XDflnh>*5gX!{hk`|-v}JhqwU>9E@{sivHoHKdelm#b zH6O2J*|(Peh=gp700&v!ErVQB-UxeJ;Xs2K zBUIvR_Q{fsc!!#)TIHGn-YD!QA1!|8`3CQ07h?b3Q^1ej|{>k*#W2t>(0A; zf+*W^q^fDW^`^Jbyr+mUw|5?Q70=o0gHA8jR4ZN-b`nFzg8v+FUfSXH=+F$({k^tx zR~%F!Y01(gU?m=sM7`ag{kmd-b@LR_SzBMjejNq7zDHG+Uxa#Y>0YzgCXBo$A##Pj z8;~rAHIQ;egl^iCN6K+R6!O5KxMOnu}Z$capXUH#_ zI-85BSgK;X!&XfMw&2>gH!vB@AS#&^yFGGvaIA>(tun5J_^~YH;B3hp<`e1^?0ym2 zA;96ywAIL^!maFa)n`(~^x@2I$o+*E8K^`3eNCg-vF$E;{#uZsIV1}A znd)`{``AzK^qt7HQ-b%7ApO|3BxTp=8EktqHG`EqA29+Xk@88_4Rxj(-hlQTl%91K zBDF0{0SZz6%<7J8*-q%KUuiD9H?h6co9wvgZsv*44 z@W}Cx?m07{_h(Nz#WN43dy3_0hImd1o&r6afsU4JWq zKc48VhmSm>R@!9-i{}+5!t7>BD)F18f+IR_QGHJ>SjN?UA@<9wWPAWpq?mc(p-+K< zyT2v-8cBJJ=|;mjn<5W=@&14?PsS9N`g=Ssn}e%@7lBLFwzTtXJ7O|w51rb&xU6{) z`hBqMV?o40f>-TfZ1i!A$eLdVx~JAt=9K&c_S;{@$a}!PH9Jmc932@Nz?0EdUXDxH z^vxc#bZBf_0_^#W3l%=e_wBIAw-7@-7fH)3U1*Z$Nw!KUkCOPY##(5hH?nXc?Wze> z74vhV%HYYO#M8lrXgV&Na4}shc(y}$dY^&eCR{PCb7v8^X+rjVOY+Gbt3Os>t$#rS zWF*65iu(Rm?WgUzcvLJ?t#CQFZuy0K3Cg(Bu8y{(pHR@Mw&=b9KGIT>MMqQ83_mIT zBoeR3;!t;ilx3ec$Q@t7dt3NBv;wN;vp`mG_a8QX%x$esQy`wL98FR_-vjL;)%Uvz zW|9cyU#;cQn&ms~U}@~W47SAmcQm8(^>it=gUD$0*3RfqzuF)?*uo=;@WYC54ka6t zv+$;ow8Yq9%J39*Uk}hUD>>>Op`IUgmEp_DR%HqS-D^Z7Fk)S+Gdqh)%Rd#loMr*wZ^> z*jiwd>Ab6HGV1(1_0uwEQb=Pj%IQ(K$Au40c)Kyr(DZ<-RoCby9uC`G;P)tPL&lxp zk=kHIYjQv$4(%z0A!I! z&}s6to7m2vL?L~j<*2z~P+yqtW7W$M-WEt>)+UK)Z*BoZ&qFQP$HS?I6StKC9*r2n z&EgrtN6Qj`- z2W%y(s>Py9*P7*>sR5yMW}|*F2Z;Wxgw6_PpaS(DFyVT+1iO*s0uNAvPcPpOE2Sgm+;rCKY(T*Pc^|&#rg%C4Rh= zEz_}RqV?cBT;JRICMRn^Nl+51~E~lGQV;*Tfz$lbAjXHDQq#FguoY;DcooNty7FcQARD!y13f z_}T8C3dxSa_MWzjB(nYJg6j4%`c2w+kEz5|7Nhxc%+lDGgkA2Lxy+Ou*AlNXsXhX%A zo8H!H{`2sXrg=;x1ZySW`Hq$_t?`@Hf0uA}bX%9SHqblMKZGY^ai|RDvpKhK@1ef! ze2-k|DPW7v~zuKnDrWeRK^H#ngPR`()@ z@R6n8okyynd)Rq^;`eaZJ!>Q&#R^ybNOjkD{^AydTD$E7&(%l%I5iwK7w00IF?q$4wF$!l^lB`??t}q5JFwRPyMzFU z;8#c~1eEeKKzfe3hC%@jm)3cMTll7>NY~Iuitd3qHop?lM?;_@?~*s^Nd+_eoP_lf z?pZEXv`b1;U|k*+^<(WT?30Oqm^nkS_z2Lm=eFJN{ym%PSb$j#2r~7~+yIWITbABm z!;!Hz>~k{VN-b{q8jj^^GP6=2b_|QHo^3QNUxH z05+v$=?ew3G!8IWLx4Rdg}N>DU6i$AOVaL@6a<0zltvW7L%;5b3p||0NxUsuDdc=domp3=MEH)%);laMbG)p$JU2+5c36>9Ip9nx|GhKEpJbSOY zq5ziW_Bb8I+#&pUv4tJhmPMSam+Ax_Xww$T3?gL=$ZpJf@Xn(ji_74DfR438fc31& z)OAw+Djz6B%;$}eVQ|dt)QX4Y0%0t2Vfn?-O_#O6%c)c7c=+2Bzs_q9P>YZC&PkqV zB--CCoH(s_8X*4krW97+cY9eL+3zSA?)p?Dc9WoQ2JXj50UUzZt!Ijr6(GpRtw$nD6K&6hL?M9ysI$- z4jq8KW;Qg!| zAL*Hy^NV??>klGO_QaT9cL49g6>ujulXnq@1lCaO^&QwE&F^lApF}FZr^tRzOTVJ} z?vs}0MLF$^8iI=y?hW$Y1HH>u7tm=NqdR?! zs&1zpuFZqW!QCk-tA$$bVU9HaiiV!AYV!V6oM8;MDr9fZfOXxMhgBBd?=>2>AM;2} zFi&l*eq}E7s%2(VBRWzx!-U@#^a%S=-73<-kMYVpQgtXj!5e<7BmN?1fXBpMRHE?G zxy%7-88u~@7aW&Pw1MDO!H0It*%jpiM*wp%unHOkn!4P83{wzdt1E5T0Qxk(rLwdK zVFcD4PzA4s}vu=cx+5-VYnZz|2;qi zM!AL+wUIya(YpZUPE$<0M(S+PfN)*W1c9`~l!g`B@ozu39#6{Md!P2468+HluD}_b za3bo$hY4_q>$P{6b5u> zvxgV9(f45nG0;lS#KVnsbg>t*e+b``ue?%3bp+~hCTnX@p?xGgu2+7n`vCBc9(UaY zNnwh`jWITv4OiYmh{_`E* zcSNCQVBz`>f3e9|c3%1``^_3Pnqz}b;@1rn-ZkZ;@*<2=>sh$ zK6EDc<4Kn7A0ayS7?f1l0RAOx2cmeJs`5MGaaQN zAc+5E;UU6w9Df&vLxZPQIw?WpN2wF6uqI!fc@GhHL)+p#hcwscHpztfx`WAk{2^kMWo75Sk$qKrH#JeM8g+buKS`I=5R z5?qJSO|3SNY@G331eLjlm_nKMlYHKFp#{C`zJ-)1vD1x&hBM_$F2>L^um^MalM`B| z@GDLluY#aXWu;903mw`{!JmafQXC8Xcvtt*YL#H)+nC$H!`Zh#nv7WW2@lCd%u08r ze;sXFpeZ0sWUCLiGnKYnf3}gGgt$sr48R3H-NE*$uydMZQQ9n3dhQ0}$Y@uJ#2=lP*?q{Uv0rGjMsUF(7mE3JW zbN-r4xZyv?%6t+pi*$6%%3ecCH&it)jOsR5a=R!f^(ZbTo_V&%ihk2=ir&hBaB6yf zd2SlCz%f~{t%q;%e4CFKL&hQW^GlvfhYXBA0qzKMJW3Dc7R|iLvgYQuIe^9?oPU5D;1zZj$EBMV@OFOxs#Cz(?)sO$&m zPv5Qe##!q@_$dh-X2*4sFEqV{bVC1wuKpZo;isbETG?I?>G<)yl)PTHzDF=q|`6x|jev=|Q{Fr|-(zmdHU`#t$ zPxSB3@8Dxf%+72GySZWqn{W_bG}6q=Q~t+;o-X(S+DC0%1-u6(q(|5YEMf`m8L*uf zd^A?!qxPIRdwIZaqs+LPrMRV(8q1!j#J6K?*?OloH3U>61oqxo6cQn6J!^Qi#I<;a zd93ly-kCFQxD?)3V-Qy->HEy_rEU2E2jLrApL(C?jU_?vLd(CQJahZWCSTw*Y-=|5 zh+A#P=X43U(Hp-UgXLaG0iJk`CW@A!^GiKq3dE}{$&JD9izUf@SE&6i3V5+~I|U1< zcJu|Ec$T2pmRjLfS{C+LL{cgVEKQJ}h`fW%L>1BBJIGo!eMGgi6BK680>T6m$)LILFQ>)|HS4NU}&7z4r`M>w0`>JS;Q%8-GU=&K|CI z1)l$_Lu!Z~s&y4mm@TC}O-5OC&@=_^W~Aor{dhd2M>{~f1Ro0(4>4y1(J!9i?(vSE z>u+h(x$+6s^@r}j;sGjfhY&6F0a|=;tR+VQS8ur>@mqZZ7Xz=>kX?=;QzuC$VP(3` zG_9Tl_{c&z;SKf^D(f-oK?z%xbz%`tbbA0}qPI${VD2#IYIcT?j>k4EI*N$xC0TD` zLi1rh*L%AjOyTm2nc~4m1`0eRw_p$Ysoi73z-KqIgrRBzb~Ive_DViv4)J9ow8 zQS}fu?^hbYzl=$RK!X@VY2+6|FOsgVoPQs^wCu?N9P)MnhdqevRI^k?17+5zvOoi* z05`TdoV#SQ09mejor$=|d{4340vBPHmL(#s2{hrTJhM!GV|E@}h4`U~x&NyLN(GQ7 zUTClOn|C{Um}T{gDH#JhQS~FZJC7-2vj7`3Sgn2?(PWnDig}32#)v@eP+x|sF~dbD zc6BNyo4!LEWLqu$XE z-$M4zRHi8Dd}5FKLvFFyRMYz~vX(L9y@oCH6BfZok29U3|&j$1f+ifXM;}iXAC_j&j}eSq}%!RDl7SQ<|Vwk^59f9I5qNT zjo7KZmE}o|DTF_E7XlD>N;049XIxC}1^Bikf?^R3!IHtq|9d{X3xPc62ZGa1DBS@2_RpD33_b3}*(ELfbGWlJa0Z zE{CB6YELEVG7ylNfl=RDC+13_x|-U*u`jNabUp@-U!c_i6s8;*ruvxR{2ec~j+F-z zVs2we4kpkM?CoOWYrdtco~uRR#kuOB*h4ad7X9a7>^GNb`SQ8TsOz~lgCuykuNdOO zH&lx%KwaFyda??1frA_jWv3)uqse#E%?JoG;g|uF=|SaCaF1|$sy`aYT~MPhNUqO9 z4NM+}4meRXvb(}x&cwb{I@yeZ<6f~TvAdW6$O!u6!K5A=lZjo#xCEOab9F`NiV$gE ziDk$QU@R1vj28yO$~b{95C|fQ+w3?CN4X*ykcyffjlfX>@32-K{_5jhh~Eqb3a+b~ebl2mIF znv#MJKL5#gq%q%-5_Dx(DnyN2CLI243m!D!1en~S7yJ^av-`km?>G$`{%Vk=lT8cL zmDm*o4J!l-g~{;Xl{Y4lVUAw$e@{X%njAm+r5)wN8@kaUO2j|zqIaQuE=egk)9nuE z`kd|TDEgW|w4>e-Lu8beqf_D> zKB`OHIv_f9p!D)H_a2r7yLcCpjgj~EGl(lKyh^Z| z^TF0%OepyM69(-%?q~^zO~Z_)#FOc{Nv0&C3=f?=<2iDOS8tPM|H_a5n-x~yd*dC) z8v}uwB!~E>cQEX|y9Xdpso299#GP>&o+aw-AnTe>vujq9Pt1coj^9h=03ZU^_Y-?<wgzv+O#)lq6YFiM$Yv@+z=LjikXMbo@HL=n_ipOjZ$DpS2&Fk+2-F0`ACT z3nG9M6+(uOX7k_*i&%qpnaGbR8!|6_(>3(_PPExVeR48(TSPT4HIO`V2H81#o^mt> zY12V4+_c#*M&iC#8;#@{Q$1MZ9S_6uF5Y3i9V|wj$)>CMvP>6c!d*%VbE^{APUpa@ zM9<3Yest_{hZW=Lhzh;=*EYhqwF6N_z15TyY+1pIfj8C5_Q~V zLB30tSN-#!?ChQfef{rv)}FtoK#p88JV_jrJt#kuR1D*$w^VZ@jz0$AE*0!!8+Ke$ zL9z5k7vb%#Lex;CdY#%B|W|hVpoaf_Nh~*S6tVl`xno z1|E#~Yx^J3_=AcbBA5LdKR&y2UC%qmr#s$Kue+F_PP+`doW>cgF3oMU-X>m& zwluazFsgz%m|}WNIH*?Q*-q8`(x*LozqMC|F2(xI6r&qYY@WIdrmv!2Bi)==K+kF+ z#f1?K6;0s?KcIuIea}+)|0+o8%)CbgzHY(VddZr2Xp4GV+^^~}Y=-B`4~P4;o0)B? zSMF;5-o*W22g-yO?d|t=-{W}=6eQ8aHYnSTlIs8An(SK_98QEE*=E*@{8xz73E^31 z`hSd&8Y&_Cnb@aDT~ok8>n_rf_MX$Y*YpnAc5X7uc{#BY(25Y4*IW2)?|DiHc_p7 z5VyE8jFuHR*Kj&5A_+I(-X`B$h7EYOT$#!V_=4>oRE1NwPb`Lp}HnFZUM+DO*W`4zk79E(W8 zEptkk+Gg#=a-^SaRthX_rldlYXhR#rV_UI}Y*Eos|KG3)@08$kQ{Yq3>N)?H?=c$m zS>9XBsyU1Z_QiRm75k@7JL&L~mZ4>!j5SF;M1;2CbYsK&Gy!YT1HY|*8L>&KyEXH}q+oUP=f z^$zZe4!{)x7 zI(mF+f1Nk4Tt)dm99weHNb%gKpmBI%di;ZoV=n*~L<#C8{R>>+2l6W-7tk^cl$ITm z%Q8&V{esffkGlkk%*8Ho`_5!vl^yVM@}9cka0*-10(*>EaFQs0rU2y3X3}H4)1MH(kG*_zBed7Eg+NIwI0a9SH4bpA=OhkO7mN4$W? zkiL#Rb~B1{)yo!f7}oa=@Mg9WBpDe)P|-VmX-#+zH#P}gQMe#ou77nk$p?F`)?!Q{uj$BsM%T6qa8p|-`qyAFTPi<2w#Y;ASeleMkQC7V zG*BO(_9n=eqAXh*(vGXxKCZ3I18WQ7X1SOmbWS8Ck&Bu00moe~V0jC@MIn3l5%n0- zbu@{abi?Y*UeuXi)cD{cK#(;3gx33Ndt8oeO++&McL1;2Pp}19Yun~Df*z}ou1@?K zgnl|K2K_W%fbqQ-K4*$^)mXqqj9`y;3~a$;ueo~h-7`;E!!#L4QZUU?ngV8L3(g0I z8vVS!PlDzvGq<3zBOcfEq<_n6%LnqK`jP2BzQ)$jO#L$l$g~%75B7N9hhAoUr!i1r zS=DL-s6@Anf1Y~=zO|^mbzg;OFxhu6YlUE6RRPW;<5#c&t0r5}p%P6lclz;YA;aI6 z?P|GfKL(4<$Vx%2P^&zjjrk9%(R&Ayn$i*Md~&uY;S0D!k0wRI<5GOI^;qifflIU$ zks0e7qa{qS;R{HU+Bc{u^F}r}axDT|L{Ql90Ym&c;9D!n{G%k7e}El2iU>7){Wy!7 zvyKfV{rCdqj5H2k%~VW+jw%t#HeXVe`U2C2G!1|c%m9Cegdt+rBe~2Nq;r6n(e+s1 z1ji-Wf!sno59`@7GGQ~ALmz&Y%-|2^D#1neOpi<6ICW##32X0MRzmSRS?W0l}3 zfy0JVr@zl!XC1D!%AC@;)tqwP40>-+3UvA|*tEPd;LW+aIGiW8fK@>?qZr9j?GEjc z*yanP3IbK>OAU`OXLmU^W2nFoQRe6}wnN<#`h8e|r-eygTz>>rn1A)uJb9w&<;O4C zm4ti({aqw?zBA4X*gwy4z2cB;5!ZNkw8;g4_ZM^a;?Zj@zOFIhOM+Vc6pFQYDL`orKOAF4y|(A`egmo&_RbQpxq7IA#aj ze8RRH$03LLi=Z+rt4qvcg(&D&Lfn53Pl9KQW+k-l0{%PrlLQy6b8JR#E7y+ByqMP|7kNYknz36zDd8co zNVQiOP!8Zlv24D$^k|8Ge00l0mZ`(8^fp+jQ^noh{3y<{?VCT9-p12uDVZg6d> zmOF`Wx=YM%V4**qmDNy<(1B-4VB=v}lmlx&travX&NkAd*?`>*V7lziLgUzh~ zW`tg>AAV+{I#Xs4a2$t*@%1ymmI3Cg{_9U8tT)jE{JZ6edx%sW6$)89N7uPWNsin; z4RUb!h;|(}YHZHvM)cjc_7xJlN-2B$sPCU@O)z~3UK^PJ#+Hk^&KJ0n2)3%Z@6Yh_ z8KVKK_|+ujK+^jsvChB^<|~R)9_!DQd7s@(5&F_ZUNs=mBuzoX2u4{MX~DSg$Ge;GHG;bB`T$2UEhmAbr&XlUQY zqASx4U9r?tTP#vqF4Q3C0>rPy8aKG!&dlsbW}P`iEt`DWVO13}xCvdD{|Kh-3|3?l z;YR)28sSv6LRO93wI&?<#SOwQi`-z>;G3I2blET8C0-#CgIwq~G=uvx2jsB(F91(i z{?YI+s8=`)|Lu~&m8T6Wz+RfwPp}+N^jD`)j!t1g`W9g?bwo>aYBfS-ugmJERVlN0 zCRz+m3&%Tc9O6fP>9=dRs^f8zu!@SC+|%I#*f8f8Ep9kGBiP6 zZ1Gpfh=m<@2G>vF#@U7#o5^-BVuTO!&sG3e(gX@MdgXfJbOmNKdCT`m3u-z~$gsH_ zWsnD_K`|~JL(I>_h=Hct-LHupy8@+c5`~Q;s4voR<<*wFK!Ld2E}{Da-Hh@uyFSA z*!kt=2P1Gs?m9}Xq&`ePdc{JZ%-igV27;B>HA}8PJBZXL8?6Ue!8Y>u=;0f>H-)y> zBfGfGhPX8a_K$F;1Ih*INAw^2q>;pY(h7^pSQE2*RSm!yPf;(IF~-#$>~8Ji^5z^; z#9M?56{UqWX7xLcKsa-IcOIk+KShOy9u<~%b?(NW{Uh)AU{+H9q2p(}DIz?mZEN9< z*K4sHz=d?P8$RC_2qWsqri$6AX(~T%LnO6HN zIS9c_TC5uB&~gC{%rpg%iM)C*d81OXQtN@|-(xs*RcV?zL(Cg-5!y)3mi@Us{y+^{ zxXpczJq;(oMcy+V7ouZerz{vv7Z>Tdy(k>@GaWZgxa=M_)3*YIW(r#Yc54yd${byO zEREcdRN*3i#?^Xa(!F&6pI>GszH1;M-{hP({p_$7wnOQ1yde={QCp&Ii zy$BvY>y6L@##Qqdj|dIa;=eY&O_<4K()r*#G~8)c@UKZ z{N@|!U91abQ+0KkPO+b&p~CrdutJE0fuJPfU|;7qhN2l8 z^Fk5Tb>&z9>_IflDU{kvBmHDS9VzR*-k<}!*n-Y?&{cSXNT)!7Y>0aHJiP9o*Fqco z>KBlogxWUb6gH0jyL6E_m;>jPzK?EL;>+2lGC5n!zYs$RuZKv}dk)5+vvFGQ@2QQa zj$s>JSK-0`3c$MT;36H5+h+<^hd1B%o($q{J`x3^lWe?F%7Wy^oYr&$pE3T5PN~qM zbp^K0iEXRSyJ!l$tho7>&@cOL5W=$Y#JT7XEBuuTkqd6)3-zhJl0B--{3F~thx77U zbveBv{7EE3$gmJUs&Zj%2pkj#X))9p4=dzs6RuILnj>GJhb&h(7jLg6FmIjkJn8}1 z|KQ7^ONvg`aP5}6A=*IUn;xWv7Cqzt5WH7w&=dOUp7?Mh`6bI=JZWa^aRWTwu%Kx{8@SnRHAN~`-n}*5p5^=vd9vl+h ztpYm}E$H|u*lC^bn>*G&_Eiq78WCGz@Qw)nd)G!RrvXRg>|qAhngT>oDWpdw=uU@( zpO*;vFxA!PtA}?@uuIqzq4S1gEV{3GE^D7t*x4@V-+QOzXdyy|S+-f3z=0RO>Ditl zd8=pwhA5gH^0$_pC>+#GuJ?ZmkLwEb8A3M`2?_yY!uG}01dJU+(b+Rhq@$R&UPyQp zT3i9>d*QZ)|1-*%j$MsrFAmrRFXnh0LRpFs^mEK!vXe8}cF}!pj&XL~q8j_|GAMS@ zUR`z}9Mo+1#@UIPb+zw=zCDcuh~k+)61oyH9>BlT2(*zJ+$_g4ogNpqg2q|O-DS%-F`0uCVyvMbQd zY46v-Yz|3B=GOYfqN&C*@{@#)gCy8>tt0|*_A;*&f^l4s0 zK9Sfhfchw%gO2t{B34)BCHi-C^)$Q0WwxG8%^SH=_V}=ls5b_8Mhq^dhi<0{83vuW zG+g!YN7k9bawcXNN#!t~Pw2fcGnMIx_{}l7NtGvOJDd-3qP1c4<>Q#E2op#Rmoc*j=XKcA zYwC>>u;;6S3!L~N30xi{Z+X!9LPe?Nj2*MTd;n{=T)my*@_hB{mSP3-RL$!62be(t zd`V*2yc7N5((c@ARyykx_O{sZ4qne%@REyFauRWE>Vrk)tu;6&Q)N}6u3SK+fU$xx|l7O_@dy+!N4)zs6$Z#;s6 zuR(T!?GOuR4j!18q`Xd(3TkRssNJewm!jNe`*h-Ma4*G_IW9I~6qyK=7NyreJMx<% z2cwp?NF|)SWkD7=a%4Y(kY@5$#XSMJfC}ei9SNx)Uv4maX-m! zYgvYF)-6o7LhTn=3)1+Dg$F$5q_uqi7~be~vMKZg(?P8?y1HF}=z7jt{Oy`uwEQ#v zF_=pFAoTmQ-g@$T%8-UYS=T>U+zYh(+KSp7_`JJ;YKCGq&N{{-w_!U>4(1akG7QHQ zV=|zrSwrz*w~#hO@eF!0a+7S-$-OMG^Db@WJV#$p@WBB-10Ak_Yl3;~qcR~0{Uh&o zAEv4LWE@7ce z_5^PyYLoRmPNU;U#2uXd*4Fbuz7PHXsrWO^P1$a<-x!;4|0mQvSob2K$>6FBj_?fa(Y^kpG_YUYchn=4X7AADGQsdA%vv$204Bpjd zn@FA@*~UJ5cND`$68XOU0pDQ@;nAdG{SNLj1oHZ?5Bx?n<@3v!oAIy%OJMP`ri)nR zS&L(fgfwU)DXH5|@)y*FJ$V6I6~J^W2H(p-mCSM|EHBQ24kz;Da7CP0Jq8u}GsdT| z&hz$uiPGmp1*@5_%FRj0M2{Hcoxt$m;ei5$#S~r8h&WiT{rsH4-G9;Q?#%y6+xcX< zyG6_N->f9`Hr>W7$RKQ~Rr{qc*bGvX4Ox^I9~5xdM^Mb{5K84MvL$S5FUhVWAGzTQ zsWu+Os|s$BA6qh$G(O5IqZqVmDkt1?)Q}NNFEDv@47Q(Y(t%f@IeeJUjbT%7s3G&a zB4R_&H(h&5oNaU^6jHZ19m6Dd2pN7LK*wn*E@yVYQTG^K=j4IpZ_I&_1<)D8)kbYO?h!NWw-Z%;pa@*yom+kiZy z{!!?LqAziuj=O7;Y%aSuLXL1K=Pv^7AHx3vu;srSdu{D<`2T`IpVVABZRoafa5wix z^~P0sjDA01%f5tq@}NnjuF$WE*Qv|@&?=9!?=mh4*S{^|rYXto{D%9A@jvv2IuEen{4dXD2gz$;n(xbYS%XwsWCv2s zka5}FCGawlZ3+EYuH&zOGUL!*_x;mdGozjbF2OIWY%<&#_gFcb$+KtH_uXR%JZ2y8 z9Nu){FRq@$28_F-rmbi@I^9@RG|iBoVI zy5r&W50ABFOkBs(aEFFrdFu2Q>~(}}3jbEar#usD?29VU{{Ne7nk%I@Ccmm39llYz z<)35`X@SlrTJL9SS&{qS+~Z(7k7F#-Hhz9tkKE^rxI~}jPzF-Jg|dFU7;>Y?Z$@U> z9VeXJSysxBAQ7*FzpP`h^_wojDL})TU{!3}&Rm0ISkIEXY1W|Yq3hCb-vkG>v2qau zqYCuzX8rZOc-sD{FGcU%gJeD;AMj5t2>N;a^W^_ms!Vouc;Vkcb6PH}18;=;t)CqtYA1bsj*p zo~hpPpGmPyo45;G+|2y~jmWTGShr!PZu(nJ!Xox+G2JR*z4WP5oO%A2vr_jpV>cK0 z4<|Dv*9#_{rTY$ToSww_U-#YwyI0nekjq%7{KugJfowSSiR~i8TUMU1W`5Sy zzrN_y80WO$p9KeOdiA(Mj^??Ip|5|PsbED;?nVyyZ0nGQO?n!V*bS*MfZ-oQwr;9<(MpIi6K|TF zZrUR}vfDGiN3o37tl1BtEeDy|h{)C~cF%#vedxyZOJfBnfqd4DD67e#H5MUBc(?4c zZ9^U+SN-gnt|QD@gDqkMZs^FvbF$*`Ge_ez_QiPJguoK}oGYwRYHHgSRZ62N&@0{0 zhGR(#O@X=o9=7*DCe#1A`L;d5GG=F`01gX~9QT z)LFr)!xLAW;bCtj)``QqD(B6BIo{wQNWu7vWlKA!P(0_U2mbU}ge`ZEhy3k}2B~3% zmf7iaqG)P#P4lPL&lLvlv7UDou#%n7WQ6*v@Ok8)9fgQs3$%7wOj-f!gkSh)4ByX5 z@4pUdb3~|+Vbco-y`4#isZ2yz>8y;9Dj*xk@e+_|4x1+%d4~}LDD$u`@cI57FDg%| z!AZe(^7T6U{>IYbOI>`SzS#u}qt3R?TNd;kC#-?M8qhO)g$54{EB(L%vD!lJ-ys@+ z@o;%hQ!z$&>6h3Kdd^Pl{<8omM0jpfQvi0wW(tCE@jlzfw|eqkdD*Vp z1=5n>@R;^5S>=Iu;!1KoMfw~Lj{n7enyY=tLWY6GO+U!(#-2DHS%La*c(^u zk0!TCgWbD9AUA@--)|0%^z+{=|4QUxH+m4f_Di&KE3SMS&@f)H*n>U%wzg;In8tX< z5x(^vj}@#TJDqhv^p9gG*DD6jnzXiUv1e29U5k&V!07#`*VF)GL~ydC6X?(g<;|e& zIZAt6x3;M{MXMe;r8hhVZQ8q4sqKj5N#Hn*S>g7@@f;rd)Mn4OBdie3N~G61@t30jFaB*OTM6q^ISRL!EFMc zFRju3K#kC-T~=Y~7GsYF(JoRCP~Btp>I*Q>ux641+CL1Olh9*jRvIi;{O8XB9&I-#!qNouu4I~%Qp7^(e>9RlVg zrWhg~$P9CN14Kbzj9(F^+t^p;Rn82xGKlK5p4^HO9o;(oW0s2SmgpkcOb|zP+F4wV#t-WNqC~*R7-xTB?&$ z%SbznXsZUJ3=?9sW!>qN=!jcOLeO@W3aT#S+G;DP`<)1-E{zhUSYo{{bxUb9kxWA_ z`?B3RXZP%!-S^M;pZ7WMbI$X8e$VgoeFV|UbijfTMXTax=CX#Aw!2<4bP!T@wwpS= z65p*WmZA-m=2tXWrKTG+Roocu)Hx?%nUV$7(2m;%c$`x>{QkT(SdaW?0G^bZoL4}T zHlRT#yRVgISW@l2B>-3-iM2l;M|V#20M|TR|EmiU(0g^%fIMm>PFwrKBF*`MdF#>S zs3Sy$l!55X)4bSC?5y(g#BwmdF&LLIGl5DIM5qiXuBirkQpSlfEQos$NoacZjQDbP z%k7ndCG10~u^=$W{xCfIdC~a>WWvC5$U3t~A zd9g>(n!${)Wsp|%_>$Co4pzD8D^s{u$JR-yduVrl->INMGmG0Rb6Cd@6Xvp?<(pvw z+DQ%;_#;M~hISfsZ&Aq_kuMiJSiWnsECuxL?K>O6ay{0yRHVp#4;(Gg*sm*5RR7cp z`heyTi@`@wvP^yf4!O6>dP~cJ+J-JsLFQWmhM&A&7~uPRNSG6->UFMCfA`cUfA}jT zZVRhyOPK2%6lrSbiS->AU2Hc&H5-qR9E*7Yc{Hs_cJx}vzS4Wi>hG(9_K_~)BjY)< zE-hgpUAAWSuTuBt?~q}zQV;ES92pC9h42R05^5G)lKxl9zT(dlVdi{()HRl|lH zwhlJLc#MlRx-zST=C5(REqQvoCGV#hI{!<^X#71PvfEuvwQciPMiS}k-EP7T@=o>aAn+6y|ZH6DgNP zn`!ikC1*^?2D2RvS%67cDea%+u~PjK?J#4*)v*=Y+C!f)w{!ev#@RB$__I1o&&H+g zPH1fyEWzYATN?p(l@31>4>99^rpp*(+$>3l&Dvll8Jb}S{gZ{h9!R1JpwCHzaeR{M z0$CRb;YoF85C&a_#O~q)cX$E%0^*Zctd91IGzXKeQxqWtp3t_B!wXV95IE;8Mu&=n z+oSZggi9-ualH^Y_0_T*kiE}538W>EB6$~&aqn6$EfpD)mwnT{x28dHp3&dlTo>^c z!{}~MdJ|*iuS-}DLgAv5t@Lpud?!#*P0`3v8;Fzop4L~-^fM{=&~#kP+fpLS;XsSO zc=yrq-HsfY?%%w@Z7t# zka>5cFZ74E6M+}Ux*7P<`zPl82}3E9vH7|4(1QfGBOi~nSclyzuNX{F-4SfAX5 zHH+G_9@j-%%_YP8ZFRNDF0m*$I-0yy4E7wsNkA@e!5nBzB!bL7lwMp`s~+thA8?aW zTI4sWPOFlsET8Kvo!eXX?Z2Zb7p^)ia*R$4drRUX#N&D)H(a_aghzM3CU!_>_#X_C zq5|e&o9GMWK>|Y9mY)p?fHu*4u5kTgJ({?Lq>RyxuYbi(*3QC23PgWYW?UVM*;F@F zL(8L9QBh`)71WT7bJrD!wk&|>;tyor%5>_2i3}a!u6#6AGQC8 dKMkVrVimZUDWM?pvEexqoA9o&H(~} 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 Y(KWI<((nt;T_)tRp7F(!3w96x2LoDG)c^nh literal 0 HcmV?d00001 -- Gitee From 55c15773a0bc243c5f51041fddb1c7deb8853667 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E8=8E=8E=E8=8E=8E?= Date: Mon, 5 Jul 2021 03:46:08 +0000 Subject: [PATCH 3/4] =?UTF-8?q?update=20AscendPytorch=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E4=BC=97=E6=99=BAFAQ.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...50\241\345\236\213\344\274\227\346\231\272FAQ.md" | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git "a/AscendPytorch\346\250\241\345\236\213\344\274\227\346\231\272FAQ.md" "b/AscendPytorch\346\250\241\345\236\213\344\274\227\346\231\272FAQ.md" index 0f8dc50..8576c37 100644 --- "a/AscendPytorch\346\250\241\345\236\213\344\274\227\346\231\272FAQ.md" +++ "b/AscendPytorch\346\250\241\345\236\213\344\274\227\346\231\272FAQ.md" @@ -859,16 +859,16 @@ Python版本不对,执行位置也不对 ``` ### FAQ41、mmdet在做hook定位时反向过程报错 -- 现象描述 -![](https://gitee.com/wangjiangben_hw/ascend-pytorch-crowdintelligence-doc/raw/master/model_faq41_0625_fig1.PNG) +- 现象描述 +![](https://gitee.com/zwx5317131/ascend-pytorch-crowdintelligence-doc/tree/master/figures/model_faq41_0625_fig1.PNG) -- 原因分析 +- 原因分析 这个是torch的原始BUG,如果是空dict就会死循环;因为mmdet自己会包装dict,所以这里一定要读到tensor,才会正常执行 -- 处理方法 +- 处理方法 代码参考路径为:/usr/local/python3.7.5/lib/python3.7/site-packages/torch/nn/modules/module.py -适配代码参考如下: -![](https://gitee.com/wangjiangben_hw/ascend-pytorch-crowdintelligence-doc/raw/master/figures/model_faq41_0625_fig2.PNG) +适配代码参考如下: +![](https://gitee.com/zwx5317131/ascend-pytorch-crowdintelligence-doc/tree/master/figures/model_faq41_0625_fig2.PNG) -- Gitee From 77cf6ee04462bb798c64da734d56264f2b92fc1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E8=8E=8E=E8=8E=8E?= Date: Mon, 5 Jul 2021 06:11:36 +0000 Subject: [PATCH 4/4] =?UTF-8?q?update=20AscendPytorch=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E4=BC=97=E6=99=BAFAQ.md.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...rch\346\250\241\345\236\213\344\274\227\346\231\272FAQ.md" | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git "a/AscendPytorch\346\250\241\345\236\213\344\274\227\346\231\272FAQ.md" "b/AscendPytorch\346\250\241\345\236\213\344\274\227\346\231\272FAQ.md" index 8576c37..b607ca8 100644 --- "a/AscendPytorch\346\250\241\345\236\213\344\274\227\346\231\272FAQ.md" +++ "b/AscendPytorch\346\250\241\345\236\213\344\274\227\346\231\272FAQ.md" @@ -860,7 +860,7 @@ Python版本不对,执行位置也不对 ### FAQ41、mmdet在做hook定位时反向过程报错 - 现象描述 -![](https://gitee.com/zwx5317131/ascend-pytorch-crowdintelligence-doc/tree/master/figures/model_faq41_0625_fig1.PNG) +![](https://gitee.com/zwx5317131/ascend-pytorch-crowdintelligence-doc/raw/master/figures/model_faq41_0625_fig1.PNG) - 原因分析 @@ -868,7 +868,7 @@ Python版本不对,执行位置也不对 - 处理方法 代码参考路径为:/usr/local/python3.7.5/lib/python3.7/site-packages/torch/nn/modules/module.py 适配代码参考如下: -![](https://gitee.com/zwx5317131/ascend-pytorch-crowdintelligence-doc/tree/master/figures/model_faq41_0625_fig2.PNG) +![](https://gitee.com/zwx5317131/ascend-pytorch-crowdintelligence-doc/raw/master/figures/model_faq41_0625_fig2.PNG) -- Gitee