From dc12812dc6c41f0062d311312870792bdcead104 Mon Sep 17 00:00:00 2001 From: xujiao Date: Wed, 7 May 2025 14:07:54 +0800 Subject: [PATCH] fix name confuse --- netrans_py/__pycache__/config.cpython-312.pyc | Bin 0 -> 1779 bytes netrans_py/__pycache__/config.cpython-38.pyc | Bin 0 -> 1257 bytes netrans_py/__pycache__/export.cpython-312.pyc | Bin 0 -> 6083 bytes netrans_py/__pycache__/export.cpython-38.pyc | Bin 0 -> 4145 bytes .../__pycache__/file_model.cpython-312.pyc | Bin 0 -> 2301 bytes netrans_py/__pycache__/file_model.cpython-38.pyc | Bin 0 -> 1835 bytes .../__pycache__/gen_inputmeta.cpython-312.pyc | Bin 0 -> 1794 bytes .../__pycache__/import_model.cpython-312.pyc | Bin 0 -> 8617 bytes .../__pycache__/import_model.cpython-38.pyc | Bin 0 -> 5356 bytes netrans_py/__pycache__/netrans.cpython-312.pyc | Bin 0 -> 7774 bytes netrans_py/__pycache__/netrans.cpython-38.pyc | Bin 0 -> 4777 bytes netrans_py/__pycache__/quantize.cpython-312.pyc | Bin 0 -> 3975 bytes netrans_py/__pycache__/quantize.cpython-38.pyc | Bin 0 -> 2668 bytes netrans_py/__pycache__/utils.cpython-312.pyc | Bin 0 -> 4226 bytes netrans_py/__pycache__/utils.cpython-38.pyc | Bin 0 -> 2725 bytes netrans_py/config.py | 4 ++-- netrans_py/import_model.py | 4 ++-- netrans_py/infer.py | 4 ++-- netrans_py/netrans.egg-info/PKG-INFO | 6 ++++++ netrans_py/netrans.egg-info/SOURCES.txt | 7 +++++++ netrans_py/netrans.egg-info/dependency_links.txt | 1 + netrans_py/netrans.egg-info/requires.txt | 1 + netrans_py/netrans.egg-info/top_level.txt | 1 + netrans_py/quantize.py | 4 ++-- netrans_py/quantize_hb.py | 4 ++-- netrans_py/utils.py | 2 +- 26 files changed, 27 insertions(+), 11 deletions(-) create mode 100644 netrans_py/__pycache__/config.cpython-312.pyc create mode 100644 netrans_py/__pycache__/config.cpython-38.pyc create mode 100644 netrans_py/__pycache__/export.cpython-312.pyc create mode 100644 netrans_py/__pycache__/export.cpython-38.pyc create mode 100644 netrans_py/__pycache__/file_model.cpython-312.pyc create mode 100644 netrans_py/__pycache__/file_model.cpython-38.pyc create mode 100644 netrans_py/__pycache__/gen_inputmeta.cpython-312.pyc create mode 100644 netrans_py/__pycache__/import_model.cpython-312.pyc create mode 100644 netrans_py/__pycache__/import_model.cpython-38.pyc create mode 100644 netrans_py/__pycache__/netrans.cpython-312.pyc create mode 100644 netrans_py/__pycache__/netrans.cpython-38.pyc create mode 100644 netrans_py/__pycache__/quantize.cpython-312.pyc create mode 100644 netrans_py/__pycache__/quantize.cpython-38.pyc create mode 100644 netrans_py/__pycache__/utils.cpython-312.pyc create mode 100644 netrans_py/__pycache__/utils.cpython-38.pyc create mode 100644 netrans_py/netrans.egg-info/PKG-INFO create mode 100644 netrans_py/netrans.egg-info/SOURCES.txt create mode 100644 netrans_py/netrans.egg-info/dependency_links.txt create mode 100644 netrans_py/netrans.egg-info/requires.txt create mode 100644 netrans_py/netrans.egg-info/top_level.txt diff --git a/netrans_py/__pycache__/config.cpython-312.pyc b/netrans_py/__pycache__/config.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..516b1be793b00f8e5bd36a8ea0941c5579016c25 GIT binary patch literal 1779 zcmaJ>&1)M+6o0e3l2%`K;yQNhhOiAusakBM6k3OdP~)a)!HCl2Btn<9c4V)-TB)<6 z)DjXA)TJ_{*gg~)N}<={Q*Zenda>h}rdvY-$;CIfb|LiCH@hp@@u3g)y*F>(zIh+N zncvds1PJ<-EDR_B&;3QnBB4C|5|u8PU=kbhfh2i?Ysr?%a$YVgd8Hi5M+iu83ru+# zOob|&a`1mXYDShJAET-nU3?3GsS?oGW*D46ozzJtwlCJXjO--}3$(DPR}H@44Nh~; zthpMeGnJ}E8E!IaaHXo^Y7uT@_!*zAt6-Q`V```Do3zag>E|s!hSJ+~< z>Ntj8G|HA;&pMPd!*P33uhz2#Ki|n}or(E127~-3dxyr*=$=9LvJHD`dL_24p5GYX zRWBc+4GLk>LWd}Rewigyy3hn6Pg9Ga{bX}OhnB>9D1nlQbc&kfM?_6iLN5KJywWT= z*SMg~Q-?AfsAf6U8ZT3BXcH6Vib-v)F+N#xD-Nz*S~Y}|Ibj;ym@{086N`mS@e;nf z?igk2NfpviJe!p>dIpPo~t{Bfv#HK9$s-b}Y>kSL**yGvzV-tp!}n*{4#fryWbP zkGdA&VhBDp5zm`pEr{W>eS1I8mfVy}ul4N5viE%W7e12P7eN~5ZaSPY&Co)4X<~eD z?2EQ}soc#wUrgt2>z_~G`81R8WScskj3D(CgU#RbB2{KN+*9b1#hEzJi_TL{oqJ5& zEHCw0?`GVhj*o(j!bWh1ofF$KJ|mt|tT_c&3`9c;;H;Dl%VBS$O*p$0SsPx&5)a;6 zom!dtrnNyH#m4Yy*c!Oe|@{$)hL?k9Mclr#7b7KWxvw7#i+o)-xNq zouPNyvwMl*wYxuG-$`6;&+H{fH{_kZi#lfQ^*cvLdbK7{|SkwaBUl| m9VuyIk&b=@LjJ9#$k@R}P*R=7BYEr(Mg8`Z0~wTYKk|Pb8iqUo literal 0 HcmV?d00001 diff --git a/netrans_py/__pycache__/config.cpython-38.pyc b/netrans_py/__pycache__/config.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..fac5d37c4ed5dfab2b1a96fa3c3639355f1a6fa1 GIT binary patch literal 1257 zcmY*YO>Y}F5aq}2YQ2?gH+2HEC<^t^0y@~b^;8rwj38|eLXo7Gy%6gqWv{$nCAn!V zNGAozk7x@h#~kx_c+JUwp{LGpMwN4yn5NUY63yk}J#_~HD#(lx;ywBA zr|ET5sp;#*^sh$WOxwE7#5}8t@^)G)tFzkNe?@yc%{|Ps_EyJ$VgS>4oOF5AS8#Tp zJEw4XKM;Ea^8%*%5zLA#$eMzsYi8M&ujt>P#EOAs{|29`;DtMoVGvlrs`^OwI)630tbI}SRyAk$Z`T-fTO zwk}Yw3#-4x8_|`rs(z)hf^_)Xz4%X6?HQT``UFn&R~XBopU@tWFIZ4zMg0h3 z{C`8(A&qIm6PC~fJpBXS26-?FewYKFT7QSTVP}id^pYTh9*8H{-_rQ#UN+w-K4tuK VFYzx(iW!25A=L>xK8}xK`ai!(DmnlF literal 0 HcmV?d00001 diff --git a/netrans_py/__pycache__/export.cpython-312.pyc b/netrans_py/__pycache__/export.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7e47a0525716c258e64b6fcf6c58b02e1a18ff9d GIT binary patch literal 6083 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 T+#wtOLD4@ywL>DRQ9I{<8`H2y literal 0 HcmV?d00001 diff --git a/netrans_py/__pycache__/export.cpython-38.pyc b/netrans_py/__pycache__/export.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f70b24df962b310c41088af4e39db355c4944d9f GIT binary patch literal 4145 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 literal 0 HcmV?d00001 diff --git a/netrans_py/__pycache__/file_model.cpython-38.pyc b/netrans_py/__pycache__/file_model.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f9453b07213619ff74fa79bc6f4e257cdd6c014e GIT binary patch literal 1835 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

x>~;Sig)%)N$AQ#=vZv1FLBb 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 literal 0 HcmV?d00001 diff --git a/netrans_py/__pycache__/quantize.cpython-38.pyc b/netrans_py/__pycache__/quantize.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c69efcf80d1642354b467794f2931a499e1014d2 GIT binary patch literal 2668 zcmbsrOK;pnc*Y)kz0T%I+w=i+;DA`f?ow5hO0=j|h-f)1ZPJR$l`yVnHgV#|c08MQ zEw6+WBu)tKP$@a~#_#c!Q+@y(%JZAqU9v>w#8~tBd(C{0`8=QR&(FIE#vec7?XMaL z{j7-DL4ddcGw%Xmh~XG{<2Uv&&_-+|re`L^BZ=i%7=416$;j7;5l;3^&t?|0zeZk- zJFK>Ah);QKA7R*M6E&S9*b{Y|X61(4JlysBf!wYZZ%QemM+3>%vVOz`2n7!$_ro|3 z)q>ff+*2cO1K>!xS66l!!tPl;LnXM_1#<=hBqiEGBMcCa41mVSEHT3$D4xL# zIHR^SnYllS5O@T5*O)aT>Dxfr>J(WGsPjNMKs{h}pc=5sovs3WPT}xwl;#hJ&6fn= z!ZT~a9ZSi9b%;h*X|cssG_s{#+H8p}vz2en?^Z@NSu1M?&LP^zBjKPf;CE2MTxMlqii(kRs>9P)%&OFl*NOCZzBp8(#xT~cB@N7vA8tmL5X6Mf# zpfBhZuj+kY)9`f-FP6>^=-J}Pgw7HjfiVn7?0_bNN!W@TGpclQR+pb!vY!PT(;#? zSz%FF1KDd`h0oaGX_ztCpu&DpZ%>b*a4$T(d?}$Kp|r5*g@^AY#d~yiv|5h>8E&_7 zxDV*1SqW{m9&7tW=LB2uM}sJ4C%99ag1*2lp}xi9;t3TUS!=2YE}edv0xf8JC(qKC z$yzD_u<)(+7@5&&wN%PlQQ9BK7E}+Y(P9hkCZHAB9wzaOI)(Tc--|*{*Y4auAqe8F zOu%jl-Hm+~?QyXM3FarXBFTj=p_~@4juU|>a+ur)ebo2h&+WO|^IOi*4>H5aT zXB$vz>KvL2Rc&(RRrAx7=vu5?ohKhkomW<0Ksi=MmRI%`m*Epuk*v?t%8UWjp+~S7 zK9Ia3x{cWUX_QOQ6+FrIV0qq;BU#z`Fqb@O&WSpli&zCvEliEFu~nk%dCL>-@u%S} zhXWyaDj^YqhcXjG&w=_I_bt+kV(!(`LE>vayyIAuq%y;ViFsvIg9T-IX=>Sr1gJis zoXR}_$gnXyreiqR!33r~oxmZcgU} zL3$jb>O4ZlDJ%eL=BjTwc*QiZ=KZUmD+Sfhb))(M5Q!w-G4`Q3?IJQ zkw9$iiSvpkP@hsZ~n@fV;d^<$vxO`O%c!Vg7dia|P) zc3oK{38HizRPq%7$XI|%aZR`88ZK@?^@tDEayV_J2Y)Pe?TWapxNw(7aXvm_m7y8G k)GG0g0>{UET+Yt5am9S3a*@ODB%HN_PZ>)$oK*+^4Ft)!O#lD@ literal 0 HcmV?d00001 diff --git a/netrans_py/__pycache__/utils.cpython-312.pyc b/netrans_py/__pycache__/utils.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a3fc5588a19d22b79b698ba65679c99e7c59ea9b GIT binary patch literal 4226 zcmbVP-A^0Y6~A{pwg+Qy7LrYXd^jvAn9bT%q?9E|QL@l1(yC6o;h~~!rexB#)eqi zv{#yQ@7#0l*Ezp)?zw+zXb2D}|9VQt`s)b!EB-h|EI0Ol4UHwD5|yUNuwBz(stR*t zSWrDcJ*o&)RJ}mGst>47Any~^KSxyQiD1t&?B{)T&=+v~B&|-ZAMYZBol=9t0fA^V z`KGghO05N+Q2UP(knvRiXK9v38eSkfu9T&?EUxQ;Z@&r1eK^598Ko+nlRlz(dXq$i zgW_J0I)mbW1o8=8BBnc8o+QhM0G3-STQYGhFG-)%s?<-)O_)Wh^g6Ba9yt7&su{RJ z9Ijp09$8smAPb&6xedqq4gH-@CwbvB`b#+CDvd{cR)aF8DdTclGg%^SSbnD=WDLu9 zTQijz)e1~xR4pY>Cd@I*tBk2Si-?v-NhK^X!EPItcbr$^=u}!U5E$Wbc=n$cV`G^K zEp{gvo5`^8*kn4LkVg{}dMX<$FXGhlWHvTs>M0{SnYH{gEHOE$v0R(IGh8)#C6!SU zDWfl1W}?xI>p=c7OG?tQg0eLJaC}p0FV#0J_Ad1P;&Sn=mFRNxd3{$Y*tj^jFj%;` zbnD@*&0xnDq2@yWTBxho@jTS^_}qG^Yfb9fM@_DR(OC!@>}9e^3yp2O@9&;Zl`wM#9`BweI9QiSA*V@adK^gI13 z&68gdRru87a49jtMeUNTffBV^(#38v=!~h5LiH?&yXYKKtU|P$GVY@U=t^5+7#)FeaIvHZ6~lH7pVOOjZv<5o!ei0f-7YotV%J z+)i23b+)DfV(b+3w!&vz1_EXV)AlU%EcPw*70++hcb24vLZEo17+ve?U2D9wDP1l} z^^4MiRA_n-EQ!ARgLen#f3zjGzG@US2sg?zXh7_uUvHLa%4il0p%U(n?N!oF6oh%4 zl5~ya^i&&B6{ZNzRx#EA!=QS2sbv^dtQZ>%XFAuN#J9nhU9e-n?nd!xI_}o;pla;?KV|}-qMr(mn%Rj;l&=+? zxer#!gAc-H?UHC&E9Cz$fR@LsG2YnIUyR2c)9O# z-{b(We7Z5Jr!>pQw292Lwn{DWu%kBHEO`uK00agZ!1d)MN~ zwo9HmsKuyVKAP36WG1t6!kL|i+lXL^hL#$&0!C(vDVm%aN%Gq+T#mt#EbD3Al;zxs zL;H$497s!ufmb8AycFD)!s}A_aqE_J-quR>?onyne{Vr!3Bu^t?|y*%7$VO{f{9~z z$wS6c$$;`SFE|O}ld=pY586cc)E?`o42jF3Q$uP4Q4uv^`GJd#h=)aC1r`HhH6B!w zfm1^o!|#9g4*cZaI;@Nuy1fK~#@j$ZFQ?nLPxq{!?s*pY^XdNicq!Oi7$`=6+xfKn zS$d=UyIaBdOAk3SKwk}cs6MW;Z$X2r4C=!r=_;tgabR_`3;@9bTdKMOwzR}?Eo%VU z@w8PyXBXf<*Kzo4wKUj=Bk_WmC4ULEY=_#{L+#t4&h=2|Mkul-MfgEh1&kWz6ide= zeq0^{2P_|uWym6@QrHg4@=vD{DVxL4wYY|@paFK#l?lxp%cy)~tQnb@RoR9>)iNZg z8RIOFIkGQM?>l=w!Fz-5O2pUn68^jQJxpN-B`@5;)!f}c z+kIF3mz6PPJygISYvh1VEUBJ5FT$VuM#;mQLUuDwxLJg_<-;6bQ6d4J-{E_LzZvY? z1%YFU$&8-nnS}GGKoBs@S1o^H#NgSZe_CTB8AG!g03~Tt&uOxmoz&o(;_liH!VE*9 z)#&h5F2LT0P6PDK)_W`cFl{MQcLN0%hJrlnWg;0{NsV` zj*IIZ7oXnQIDU0rd=T8}j;={jXoZU6qfn{!=^)=S9SId+l@ zpL%;<+>-3n6XLCR3ew>a`1Ba|NfDj1;MFA0#Z yPWb8hmjuXe6A^>+x#ymiozSt_!5uL;`yNmIey}ON`2}38V_V|!T|X&j?f(I;&pKWJ literal 0 HcmV?d00001 diff --git a/netrans_py/__pycache__/utils.cpython-38.pyc b/netrans_py/__pycache__/utils.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c8e2b5edb14b45b6d8e5d8a4fe9cd487603165c7 GIT binary patch literal 2725 zcmZ`*TW=dh6rS0;UB_vgQdNM!&{A+!IS42>RaHw%;mJa@yjY;sW@plDZ11|Wi}9O3Sf#Lg;2S0yVr7qsm0hP7 zV%8L^n5|+K$(lIZca#$6dUeV7&&c`#=S;e?zKdS)2dsVmCGKY3lv8(D9Q33c)$%Nw zpV=lC&}c7u#%J`Ed-8+1@Z0pkCulUAv29M5XlLI&pqbZq)fLQq8j~8oV09D6{o%}< zUvcOQ-fahFCEb!~KhC9ANnV<8K5&ZC1dpUnp9oVQ7D5iQQO@K6Nj+@ixbK`hxv^V|}X_%Jrw)>rV>RUmxXp5^pBMY%p0rJb&KDqsjVMXM?gc znwap3N=758&XZXY8pi9q$s2t7Mx`Zb(78D%(qvHH>Ksa|6$rK+)j+3Ksi6gRhMFcC zQ$PCn9Ok8mhVh24$kitTK|!J2yQqhL-RAqwj2-aus&)mRvEP_*p1ao5-o7tf@~me2 z0m&f548iic)B3$k$y66=(wd%Yi9(jGywENAG%I!MotOWjv_s|N8sk~F26hXs9H}hV z#w{nM@vx>9`Jv5C1CAqS#(6T7m4((!YhkUj5P^A}G_PFO;Ai1JbqOn{j3fYABX46M zxCVIop=y%)GZ+ErT*DfmL}m%6AE|4!r#(@b?(YY}g321~cTJ=F^~3M)bRWdu-Ff)! z!|C;|l%l1JRw-e1zLP27A=j;)L}kgwK(>yHza+QM-4RyOxdnk*!;ZQ@&1=+LBtfny zL`yDEWKj#XBp48GJbno^;&$hh0~S&K5z>esB3nhWG8$3l&z%FVu4B)$QMYr7^+Lk2 z65WM_om({U3Kw%U_?_*t$ftfsBs!Toole`gvA40chMFKNH?x5>fs(^wN77q*RiM|Z z?RX0~0=Q!O=7Zx_pGVNCsuosHSxrP^!%j{j&akwEz$)5-X9+CoEov;dP9Y4z`4GD$ zi8HR=L7UR>c%ew#MlCyNBm=V&s{%#8!!5$w^T4gX2#8yyFG3ORL5*Hu*|BC;?`W;E zjj@(@i%}+37p{O)^jPJoy%mR2p)uWL&7nsyWBY8z=a2BvAhVVhqe-01&$O?n?HI3= zgH2N}i?K>&Tx@JF+Z)AkmS;MSKf}?7=1wmy>DHMGozRT53g?<#J*L?`_S3~@jt10b zj&^2z=IlDVE@zMH1e8i+*IbCfx=R{^m+_Fu3KL?N25nc-+3I~Xz2->+myA*GLFP-; zL*{Gp>E&fhUg4(yM-OFLWEH%cgN5Rbfy+de!ez$m%Sj0|k#5Vnw6S)Jbg{v7rdO6V zd6oI?kWQxufz#`8jC?d6(6|xDkH^WN+EMfptg)t1!bw>=lzOWWitaq7#{$*rU2J?x z$`E5lyy-@s!|iH{g%gDc<2GvfCYlARLqargO?dW!YZvq%A>k;QXc?yi5c(K={`vi` zx{U8qV*Gib@q&i#VFE<3m}y=S%r+?K0I4VTW{wAU$4KOHV0S|}KR6)iUycG&;}imTU;MCQLR;o07sEsWysIniaS> z*V$CYdNPvWE(^RH5LWa9(reE5g%wa=(9TKzu%WR}wW8+$Bt`it;M27uXD!|nviZk2 z|=b)vc>Htx>-T;7NxS1STy3%YE+AYh)U3GG;0ykQJwz> DV2)8# literal 0 HcmV?d00001 diff --git a/netrans_py/config.py b/netrans_py/config.py index 2ab9c52..496fb5c 100644 --- a/netrans_py/config.py +++ b/netrans_py/config.py @@ -1,7 +1,7 @@ import os import sys -from utils import check_path, AttributeCopier, creat_cla +from utils import check_path, AttributeCopier, create_cls class Config(AttributeCopier): def __init__(self, source_obj) -> None: @@ -29,7 +29,7 @@ def main(): network_name = sys.argv[1] # 构建 netrans 可执行文件的路径 netrans_path =os.getenv('NETRANS_PATH') - cla = creat_cla(netrans_path, network_name) + cla = create_cls(netrans_path, network_name) func = InputmetaGen(cla) func.inputmeta_gen() diff --git a/netrans_py/import_model.py b/netrans_py/import_model.py index 340cf57..433a01d 100644 --- a/netrans_py/import_model.py +++ b/netrans_py/import_model.py @@ -1,7 +1,7 @@ import os import sys import subprocess -from utils import check_path, AttributeCopier, creat_cla +from utils import check_path, AttributeCopier, create_cls def check_status(result): if result.returncode == 0: @@ -218,7 +218,7 @@ def main(): netrans_path = os.environ['NETRANS_PATH'] # netrans = os.path.join(netrans_path, 'pnnacc') - clas = creat_cla(netrans_path, network_name,verbose=False) + clas = create_cls(netrans_path, network_name,verbose=False) func = ImportModel(clas) func.import_network() if __name__ == "__main__": diff --git a/netrans_py/infer.py b/netrans_py/infer.py index d0435e2..d3f40dc 100644 --- a/netrans_py/infer.py +++ b/netrans_py/infer.py @@ -1,7 +1,7 @@ import os import sys import subprocess -from utils import check_path, AttributeCopier, creat_cla +from utils import check_path, AttributeCopier, create_cls class Infer(AttributeCopier): def __init__(self, source_obj) -> None: @@ -79,7 +79,7 @@ def main(): netrans_path = os.environ['NETRANS_PATH'] # netrans = os.path.join(netrans_path, 'pnnacc') quantize_type = sys.argv[2] - cla = creat_cla(netrans_path, network_name,quantize_type,False) + cla = create_cls(netrans_path, network_name,quantize_type,False) # 调用量化函数 func = Infer(cla) diff --git a/netrans_py/netrans.egg-info/PKG-INFO b/netrans_py/netrans.egg-info/PKG-INFO new file mode 100644 index 0000000..7cf5242 --- /dev/null +++ b/netrans_py/netrans.egg-info/PKG-INFO @@ -0,0 +1,6 @@ +Metadata-Version: 2.1 +Name: netrans +Version: 0.1.0 +Home-page: https://gitlink.org.cn/gwg_xujiao/netrans +Author: nudt_dsp +Requires-Dist: ruamel.yaml==0.18.6 diff --git a/netrans_py/netrans.egg-info/SOURCES.txt b/netrans_py/netrans.egg-info/SOURCES.txt new file mode 100644 index 0000000..6bb0446 --- /dev/null +++ b/netrans_py/netrans.egg-info/SOURCES.txt @@ -0,0 +1,7 @@ +README.md +setup.py +netrans.egg-info/PKG-INFO +netrans.egg-info/SOURCES.txt +netrans.egg-info/dependency_links.txt +netrans.egg-info/requires.txt +netrans.egg-info/top_level.txt \ No newline at end of file diff --git a/netrans_py/netrans.egg-info/dependency_links.txt b/netrans_py/netrans.egg-info/dependency_links.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/netrans_py/netrans.egg-info/dependency_links.txt @@ -0,0 +1 @@ + diff --git a/netrans_py/netrans.egg-info/requires.txt b/netrans_py/netrans.egg-info/requires.txt new file mode 100644 index 0000000..4bfffaa --- /dev/null +++ b/netrans_py/netrans.egg-info/requires.txt @@ -0,0 +1 @@ +ruamel.yaml==0.18.6 diff --git a/netrans_py/netrans.egg-info/top_level.txt b/netrans_py/netrans.egg-info/top_level.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/netrans_py/netrans.egg-info/top_level.txt @@ -0,0 +1 @@ + diff --git a/netrans_py/quantize.py b/netrans_py/quantize.py index b634d0a..0e5e1b8 100644 --- a/netrans_py/quantize.py +++ b/netrans_py/quantize.py @@ -1,6 +1,6 @@ import os import sys -from utils import check_path, AttributeCopier, creat_cla +from utils import check_path, AttributeCopier, create_cls class Quantize(AttributeCopier): def __init__(self, source_obj) -> None: @@ -83,7 +83,7 @@ def main(): netrans_path = os.environ['NETRANS_PATH'] # netrans = os.path.join(netrans_path, 'pnnacc') quantize_type = sys.argv[2] - cla = creat_cla(netrans_path, network_name,quantize_type) + cla = create_cls(netrans_path, network_name,quantize_type) # 调用量化函数 run = Quantize(cla) diff --git a/netrans_py/quantize_hb.py b/netrans_py/quantize_hb.py index 78eef56..845221e 100644 --- a/netrans_py/quantize_hb.py +++ b/netrans_py/quantize_hb.py @@ -1,6 +1,6 @@ import os import sys -from utils import check_path, AttributeCopier, creat_cla +from utils import check_path, AttributeCopier, create_cls class Quantize(AttributeCopier): def __init__(self, source_obj) -> None: @@ -81,7 +81,7 @@ def main(): netrans_path = os.environ['NETRANS_PATH'] # netrans = os.path.join(netrans_path, 'pnnacc') quantize_type = sys.argv[2] - cla = creat_cla(netrans_path, network_name,quantize_type) + cla = create_cls(netrans_path, network_name,quantize_type) # 调用量化函数 run = Quantize(cla) diff --git a/netrans_py/utils.py b/netrans_py/utils.py index cb29427..dadf72a 100644 --- a/netrans_py/utils.py +++ b/netrans_py/utils.py @@ -63,7 +63,7 @@ class AttributeCopier: def _get_attribute_names(source_obj): return source_obj.__dict__.keys() -class creat_cla(): #dataclass @netrans_params +class create_cls(): #dataclass @netrans_params def __init__(self, netrans_path, name, quantized_type = 'uint8',verbose=False) -> None: self.netrans_path = netrans_path self.netrans = os.path.join(self.netrans_path, 'pnnacc')