From 62509dbb8c0c856d27fbdee98b969d5919061381 Mon Sep 17 00:00:00 2001 From: Rishav Bikarwar Date: Fri, 28 May 2021 22:15:59 +0530 Subject: [PATCH 01/11] Assignment 5 submission by team 4 --- .../T4-Wikipedia_Simplifier-Summary.pdf | Bin 0 -> 257627 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Assignment-5/T4-Wikipedia_Simplifier-Summary.pdf diff --git a/Assignment-5/T4-Wikipedia_Simplifier-Summary.pdf b/Assignment-5/T4-Wikipedia_Simplifier-Summary.pdf new file mode 100644 index 0000000000000000000000000000000000000000..716e540e52ab4670184e8d2d4bf2fa3f78e9cc75 GIT binary patch literal 257627 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 z z z(gu-peT@MV4v=K9r0tfe`dGr+y$U7uAXX3cBvNE|K{xMlB% zrsNKD^%zPZwLR4LE73Lz`KjE3pGKq6TE=v@2zy49vRHb&tS=VhaKle&d3^^fp_UUA zi!HxL=&JG{6n@ylnS$ipz&bY(jA}8TRpU`oCxJ(}JJ&k&2lSE4M_OaO7>DJYA=wt1 z>>0M3s?UYL7rt%UH6Kih%5~Dqr%42X>IICXjZJDOUX@v^Zj!fS@H+99&c8^XS}QWv zNL(s>b3gh>xA!e2En>AOvwN#&v>sqWem|S%v2w-m4?|fi=EH2`+!KbuPITeOvGc4GW`+_EaOeR$*?bUSP=c$UR|p$pjaB=^;GHZ*r%rw z?UNo=Bu%rpKAg$?$3TnDI#_!qKhqlx)|) z@P$0rWMcjppFA$9xfGubqja(Q(#RdL$fnNK^SRbOnn=?-gfhx`gGB0{*&L?|``;eS z?;H_Yj&VMz>LOeSO_CeLX#BpC6Y@~KuE#ulT<2jv1X<=s3mXOpmE4S>-r$M&K+9P- zp(9xmNS@zEq}ku#SeGIbyUbn&m4j8Wo|HAk;tSTJ#F6 z`Y(MDJmvH14`9`{AbI_;;zba$$}1>Vm6}U3H*7L9x+fKPB)%!FRynqT1}T?`Ef6-S+;VICOj-%kKmud7 zLXmc0_~AaL^}HD#QLL!%qLYZsJz!A25v73<-eVC9Dl+N<+MfYS{f|F>u2#$B7#Sdt z*f@=N>+N2@gOM5_Ik6m%HH)QTDMzaSJ9eE_n4FzV$p!#fI*8jnjt#H7Q@zwe&)w&c}mp?v1!u z8x@GW>`jOnbjyr+lfwf#Re~{ocQJqKMmz48)52ZzV&@yrk{sLz8XuAvrlQKgkfXxy zKC!5(Fo}0GX$bSvJuR)Ufnv;_x9!t}P7v3;EQ7w|EE%H%u$OrC>uY7oNIOf;?PX@t zpErlMt1U#%*OzJxnWa8o|Dde0{B&^YLG=V0Ei`HM^J(oE?!CNNX_cRhgWKJu+fV(N zyG2KHFtzQRO~)t?Mi%vg9Q{7{N98J5bs$PIjgAxFRXeeY0$depB0LWpv}fzcHFFJCqLWQUWc88UcysA&(+vTkj`h(baOe(#<>U0j~Z>W zx;--l5buwM_Yn>ITb(==x{IDp4v!D1l&YH6h-W|UUASC)u{9AklD1HGhgUGt%>>;) zQFOPPc!{y-a_0^(9hS)de^R0NMx2(pb`^(^J7n=+D-^NtfTDZs`d01M6kM(h89Vo1ig74)M zlZ}F#XkO2ii+u0H)oDnL(sYKCg7BWc%m;}<-HpJ#NqVOry!iFHIxOlv`B+&VgT!|P z9mWLxNghxAr1B#5ewwsNHGR=ipz4rx%E^y?=_bBAnVSXLBuf>g(kRUxBy~J)O>9J` z3;JYHm7MwxR|?){qnhKB-rAd}V81MoU9m-$Du!BjbeCn*4WfIv@%Tw)DyFhp7^Asr zz_Be?#@bsJ3=Ne~Vl+65l_~OwJcVUM>{eM04?y6Z_%2F&>}%=43z2(4dd&keL)BI~ zDsQ2flxy!p9s3~5OPh$p5k06|5Kf$0CqY?RdFjvMxe=mcv8pEZO#x(DqCo`i+V}5z z2$pCvN;357iYy84`kf=d;t-9S`J2t4Qy$nBlK6xvx3Zx_H(!87-gWVdS{oaiM)o6F z|A(+pE`*P=E2VG*f|w47LVsVh@#fm z6OZA&w|gUR;7fok8!>q3q?&zYZsErh9geb$xRPpE-r|?Bk_l*Cvb;(6rI_QZ9q>lc zdiy8x@nyz zB+2~jSz3<_@q4VBvK*w!_YuBE+BmV_*vB1gw-7V>3m+IZ#fl+PU|s^M1BvQ^}1Reuo; zwUrf@@(5Ibs!-?vzs;j7 z%>8oKzm}GQo`ZC+y*Dvg(LJRvBn3G;C|^8@jV*BG&Od~^-p%00miqqAMBiFSSW?s7 zM$S@4$I@PfvQSObKp`*_yuA|8x`Dzl3ic~ae@&DB0gJ$oc(s-S62AsL(1c>Rb?`CP z)QKo2gyWIpVn2P{n4QPao@TJIxvwa*<=;`<_KqqJp)uUfyap$YdEsg+rJ|Qr*q!Dn zSsGDQ-OSjT3hFCK>T_KzR_to+=UQ5&S1zNji>;>7J9*@QsxcMQ+`GH$sL&AMT!%O9 z&|j{$oWoO1`(P|q83Yj8x4r4%bu@kP6TjVW`rN{0+8}^zZ5nL)ac`rDO%LScP*j{O zmsBUUz7xQR*fGyc-~-iynlH}Jjw5Er@T;5hE|p6b&d;!#vA34$@ih6|$YE9#Q=USG zO0NU5W3+g9c(jP<0$%s($)NRbbp)qQ$HYZM#3b&#Xg5L}Cc)eK=h4DwHRI&_`d zoboux=z4+^5fU2;(eq>D<>VbW5io*Y_C(JIt;er_ihdM;v~aY$&oh&S8}xiK>0z_*>hNO!*cNI{ii>{ax2$m_+CvvFm_>zOjQSiwAaP zCi2$VE!_6^Va;ci{*Ny+1yjDw^cL;mz&sI=J*i1T1UOG{#p=7A%>=y;w34PF)$?tu z@<}2eLgseffLOa1!VG8}0K^B$N44P{hyKrP;T;~yP1fmq4XW*S=;Z$0JdP)%Dt9(Q z65}N6>y`V%gQ@MC$EAtr;A-t08%y#{Bv@GbYVR5oc#5|U-= zJ(o_$@7bYyf_EEA=yL)ewy(y;x=a+8{`i`V=rFHe(x{t$eWtSADm9CXh=h8a2+BQ9 zIy#EkAa|&gEoJon>3Mj5R?@`Wy~*SMh`b2{bxgZlq(-0klEkDcNw8`_(J3VtDNo+# zFQevMy+w{|Tgss|)_2F+KEG~0WqqA?ui{6Wl(h_^j#KKCN-ge*^fYwQe5EMKIqR4o z=Ju_ySOsI+;FvY<-f1z)A!yyWrsThRyY=7Hyvc2u{OW zJIwZC#kAdxWPwV9xJDYY}_6GSYWg3#h-rKs>GW zhv#5{?Q~%&4;$kz^#q7$FEWkiIh_hJrOe41)L|S1-+k`%QPbvh`9Clz-AqV5h;BDk zuBgI^+Ain23$x-DKU|B>r0E$Jh97#ceGlE94adFb&kQ@IG660|gBD3cRm232tcD3F(J2{n1 z1M2z@lMb6siY|boPcSEZdD|!Z^xR;6>5)C%S=rh7&>Vp5{WMNc$@degxH{V8t*kHd zMQ-#rJq7B|&9y!wHNDBeS5eTi0ZeMz;jB_^vd*etPDWZ==P!!hyW0b5W(q2LYO?&a z3~43U18xL1OM%1odsfN_JC#Y&Fe+dj>=s!?IkQI? z^M8N`-rs>UnOP7F5@ht|#?snZyvGr8wevT4>8@n&_c=B^{xJbbQdmL);p*BPLHIP) ze1xgMhv1JN<>;(!pq}xM=gA|GPq?Bon)^xSo_l-LdOSacZXX1Af?941cAXEhljy}FN|5Jn)w z14#mvQ{Pp?+W7b@F7ex?=)>~1KJFgCnKI;+LkaOh6vxEns0UA8#Xh?ll%QsTy=b}6 zL2%Lc{JzE6qn;Zl8m|gQR8P{TXQ=c>f&5tm?gZEk~P0vZUFE|cwTd9db)!{ZV5G6#uQ>uy0Wat1;L3nnbc zV;LA{RD{e53FBOp&{8Kl2wduz`3HCPWR|yG z)Z#~8c}?rru)QI3n|cZ7S+*S@n_F-c3vo6!%q>PdFIqd%RLDH0Qj?D8JPy^9nkVg; zp{G)#`?kWNY*`9A$NUkl_)Hx=DGilooCAva>wHf%bR|VQQiB>`hW83zB-ZKWO-H_& zmzKH=SF|RyS^?VVkAw^hi~i-)qG7Q9#ojx|XL>TZN1$_&!pl--_o(pj1Y#NJvX(G_ zkAV%u0URoxh&I@2#2|vLyWR#Zer^HH5QmAsgO?Fn)^-TDT z$d4EwX<6v+_MK_Ed+K_6hZdis%+X(anReu7979P;)-=}JqACt|)Z(tFpxF+HVCAEy zU`hV+c3f4V-ji|9rWpdo{O--PpD!alX{A

}&$?gk5nA?u*G1r?c(5R%93)P;LdVpO`bBvt0O_yGkwOYueAB3eN>F-z)7^F} zr_fC+SJjRZf)=LX&U5#BBO^<$>{CNb2!W$fCjG|a8>syMxAq`9GFMCgFS%tifYvMw zM9QieM~rO!aTOm7PVLF}(IVOxw8gpUL4>vse}}Ai#G?v#l~}MBQzLqIA>sk-x%oS{ z_JBJGF=43xKD2>XFWYz&Pk!O~6oD-EdYV){6PzapMLeZ6pIlRTr-!K>L0X?C;-MdA zAZhI2(({8r%aLLkIQ03KtM>>oB2o{d^LQ0>L-$!RAv(LS^v%ji`4wvK!GbuJfd|P* zs}Env9@f}?TbcrqkUj++%%Tjv8c9aNexs3G15WcfuhPl~@xca`ECC1(?>X&+v{cEGHNsN_Ft2wm@52us;ZygDQ_m}Qfs$n z8pP|+f*;k=0|sD$(9S>q-LU^EaP2#Aclw-^W7Wz&0OLPd%_5VTLev<~H2e?Z-U2Sl zuIn4c0%@glKtiOuO925%=>}=(uAx)}Bu7QMq??g$Mno9tZWy{7hOTp2_wD^W@AsVd z{mysJLHq%8?Q8F~)~>bIUVHry@6zUrofUp=3pwrJ+sJtcX#nDBkO83emmt#!80>1O zKr2t88qM~5$XSUgJSYdw)}?j7IuBEVC(yVDXSHH+rKIU2cw@50g_zyYmE3+y{K{v4 zp{?9&A4DM{djZ$b8Zj1c0fOPeLPG&+f!O3<)Z&wof#<%4sO2anqgFmOa$LKT49{hzU;W7zP<^xm5R>-kB0nTD5(ga}y&{6aWw~{-p42*V9_{8$9zH%YEYu0# zCq}?({Yzj8m6esXwY9p>h!1$FVyGN46rL0Ci#vQ1Ne0wBW3Kp2Rjc5L4GP{1Y<8JiPfU-CtAz>OE#qj19744U?vZd)O zgot@)d`HER`m<+1n>pp>$ajzDnAzFbB72s}H&3fyr%6DrS@oJ8j!fEu#1ZGpS7w)0 z{@l|r2Ti6;(R(B)V60P>f+6RXCC93qbodLN70xqZ@8R>*D=UNT>#^V71cGjO#((_z zpdgonfi7;ji(B01xsqbb0VmgYV(zbSQe%TVFBR^CeU6gj;oS2v-l~5;2*0f!Z7FAUGCJtQ0ZUsa!m79WgtJ1~)gC9CG#C-KmM53!wIe6jSur1i8a?6BJR@OisC5L5KGxz2{$K>?5jx z?QMUD!~cZ7;dm5{DsH5hcmL!tR0sJ99JX$ee1GUv$)k#eCjKljx4}z?u<7rhE^TX&D8XoJ|wCb7qN*snZBAj zKk|3D9P!U`5Y>3FA<7{0>SvW9N|qr0?xbk*Vchzi+oP0VtZyb9y)aIYDA)G5d1N?G zZ0vj${Ow2h=MrEoz@u`woWA1S9yPXisQNi(s0TMEJpJi!0Hep^sp}g$rhs=F(Wbqo zz>S2?j+nk}C@>T_mltNJYRrIG0p2&5Iz~tM_S6{9I+usId%?s z9T2vckSmU!R0jlXngws{mmD!fTW^CqjY$Yu2~Px*;BIznTiemnlj z((Qtn+=x?#BM*BQC((;d>ztOdY~@7Qx}U_?EQ9rAB7a`HwaHD7{l^#$I!0dpBUNzr zq|sXEvHn0KrPLBnsFq5i>U0iV;XMtsc|8`YU*(iMaDHpOTS{GSFi6ZrAaRstV01oE zF{6Blx{&*}4H|_r%oiY>+dQA>+0V#sdwvX2)5ucgd@OLX_kfuK|YV4b3RkYeM)+>2<7id<=hvlN(`PXTvtuPIK`Qy1U9Z@4ij=xnwc zD$|UodglG#%$cG;7-^|=q9cSCA!<1EyO|jId6y!-%C3R3raYm|jg-p2eEm=5@9FS0d3SzghdW2@`C4T@Vt~ER`LeRk>_T~dX6SU4E+2D zTQR%PF2TeJeNXeOgEgPhR z6o+1!{Vt!5Vi$E*N@ib!Xvx2?e<0JFqD#~Y36ZU(lgGi9!wTf$SFR@VGP4KK_!joA z*x@}hj_LlV8_M{H;sd6n!D3!^C3;#A`t7S+El8KRk?kg@Z%fM<)c4%fQ&PrK8Iq@p z>vO)$I6Vz{vbfNOo{%1*b!v+r;skmgZ)3wB2mi%Z=3ERqUDRK?g< zmqsPZ2Sn_d0au=WE|(Oq8XK6n+m9l1>fn^HxTFO43dHlbyi4$tsTw!9FpD7c0e^(r zK-w^Qrdy2_Byl08N{o!2HwkG{{N)tQ$xTTb9da6AZV;vud_BO2YO>yM-rmuf6RKvz z5wBQUJBi$a43&=%(FKasFV4<-Ex+_v*VL%fozjdZo$|nOzsv`=uz#T_@JY_vhc{Wy z6^OwLrnD!}wGVQOWC2zWpycjQ?$+(M9hqEN!^iayKI>?%5N#T@=e5d$pDAwB9!=zg zyA2JSt&w3+*gTMkWX|w=3~8GAYxY7Ze0LYk)v6GA)@pag)!8MY7uawGa^DCPy*c+9 z1x97Fpgmg4Jw8FtoFgTTQ-i450ff;PAjJP~X&DOM7p&rey@w9I^Ees_+cmhpZ}cqR?*w%gs`PjpgQI1>jOJp@+YUoAK~AEKsO}P;NMjNtp0?7TSgn*&+XO5 zylHG7LEZs3cV0_CID!2)UeiI{2Ad>OKr^*l269dCufZE58omrdvP^qtU^UO89`N51 zMO^?cg#GM3ZTC6D#li+1@!IIo1~!f$p$Sl}mjK4~fK|4Ui6*V*0nYK|c)c z6Ou&oCMhj+jinCtM}lt904mha1&$>HY}=+1`82)cNb1?Q;Uu=W26lXa#J}4M0=ej` zLwsw5Z$P!K-}{?L;L;EAa2*P8?df+_k`O^QV0i+_{ly_ExYG&fj0b=1z#YA&k$|!x z1xV%>HZYq;PS%T zYkxk!Nm-pby;~?~z;Q$k#*%&cy9-Nz$k1wlYl7bkZ@BpiCmhg2|7VQzoy#3*OBSf+ z^_dC`Yx^=${ga0!*Go%bZohif(rszdAk&DkvofGfoWI)Sl_*&gB>#qD9yDfqVH za^#EXi2PAatg%3QoHw=iYRTmA_u_x^6roxq?o)PN&=9Wk6=^yxe7Xt7f*YGC+6^yd=G z_heBh2j5E_vZy78M2-4h7*H(#kcysn_DoqaDYTb6&xi)-P>kO@L~H2*jNsV?C)z)y zSXL|!j5Vo$l;m1pkIn(98}2}xfUcWy?8c1+U%W%i$wwnUm{ z1XQuyxK_SpR*(O5o%Ai>G5KqQ z4p$r!IpL2PVGdB$8`KQ|${_Q%>#^2CxucY7IXqcSr`@)qaMH_g{Sfmj3pF8|)p zVvI$#9ZCLFO;{!zi9}IxuK(jjKx_YJAxX%~=7)bS3K37!YltVx0a11)lP;gQbOfjw-xxbjE}#Sar4Zu@J_qivQ94-c=c zt;wO4@8ek_nmRYmF}#&uhm4QwCgZS|HFEvk4+762EiElm)lTzEU5Ql`5&I=^(4$QK zMyDPGJ}DP2E~G#U+HQ8-b=Cg24CX$HE^Tl7ulCa`D=T};w7(Uk3UluTWn4cVEipAI z8AVL{Jo_g(FJ7Q9;etdwXBGuSwogGYirSrrd&G79N68S^gWH}vy%UHivR8E;+qKoz zAK`}g{**&ujZ4qOiKhsmDKK$aMpK=eM0c7by?d-4^qN8`{_Npl5ucTcBmD&}@BUnn zo-a$&d?d8Nl81-=F(m%Od1+GlU=o8wbhm~0j&xSFVm=sM^9(rd{d+r!IY-B^OB+$!`6zchle5y6D z`qZbBUw>FA3ep}aHalM>t+B!tz2L6lsxY|HO#gGxwt+)z8|3So4Jh`(yP$#LAPOB$ zhqV2py2GtY&8uRpXOT5TSU>F$NkBkMi3OQXb2*@<-+~`kgyt1%2*S1m>qLi}w$&jk{ zIx0FD+L8`@Ou9Cp`!k~il)Lq??C+d;>EjJ3S0w!w>`m4ux9ZIK8eD>WTs<6FwsVPO$}juRH|<1}E67UoFd}w? zTF0%87QG&6jnE;~vc~b{nQkMtI$OgA=dr!{Sw+es$c3`K-g>>&dN!|oteq&a2E7Wo ztD@7gzoTKDQ%4MT0e{{7u*`%le8$q^3y$rEtIMe?a&DL5blQ6do3Gw~gDM#qXSaAMa(uo9Aw)!-eDm>uL6ewymK z)c}}@zGa=KPrS{8E^6Jj;;t^m{YivfhR<2;SI;Azrvnm|0*9-Z74Pfl?DR~FB`-tY zDGRB`c!3ZH9YZd4e1cGIp7k)n^`6$jH^FB^ihoWRl1$G2}mibc=@z($UpQQfABY9j z-hJ3J;5LuMg$do!pGxa@RO+VSwKz>koxG8eei6y)>7P{Qty19Q=@9bgavtyq+;;|7 zAbVsLe)eb?%HVt6)|n;jkjdw6T@h$$*}!XV>1m$WD!WN-6_q>mn0UESbX6EOry1R3 zHtb;rx;pPduWPQMOcrEQlkq9PG_)^MRldMo)FP_C2-#np$xJ$bb&jml69=0j1eMg9 zqFXZH!WVd|gZb%x>1P+RHrx;eurD^VWaz`zV~r^Z3vK<^1LKNrLpMT+{+lqsdT7IDLVUYX5P z6ZdV(@%GSO z_k>|ir$+E@(UUg}w=eBG*X1YMZ|i)V zPy<+j@?w6JpSX_bNT_3CP-pGtpiXv!*iq~&3oDqs;(ZOt^DIi{CDmYrFPPGBdfg0_(^1o*v+bhlckFKqfSu&sa@pm@QB0D2@%Eq&hV(d_ z3OUdD8q-UCo8FEBktBqlgQ-DA?g$0=00=?9OgKU$d(dRdrKfePZj_t`9BJxTrI^ov z1}Y9kku^}r2b80((%sk>SUTxjfiO#Kgfu~2SQBYmN5TkI3EDJ0c7G~G`wBp^P zpH|Jd_-fx0KfA|Cx61e+y@$cS@{nc7f-HbYGRA0iV@uPNS+th?PiC3nvh?6i<@uvo{ep^ zwqo)kvh$rh*pSUvF2!weVoTCrfwJ~t?o&*zNxq)!>=^}RL~e~-c)351(IR2>8_i#o@ABs@w!Y|Y|;6pF4#uzzVDkbNTNBJ zU;g@O4}(%_*`(LST8ojwrOzgNUo_>Q$bOH{Wu-Z;b;|vctJb6Yn^^f)&Fj%nyx)ck z7V7FPC}ed!ztr@?-oVAh&24`tRF-+ZV|B4QJalO;^Ru27n?WtOgFQ%%p>HL^x+$tq zmL0cBK9;Rc97~zmrh;YC{DZnV-NJBN?eGFuB2RjI63MjQ2-L7)$#4D9Q|B7lEW8g4 z!IMYT?u+daXK7Z15^kx%G^8!jtD-U-d4bBM>GgFz?{!b7xWl!XL$4mH-I8dv3g`%NMcncKMvdoCVs z4SO6FhS}Ct6cTb&uM#ZXQ@z^VP&-8Gjy~Scv0;;wV_sw~_w-*ZxcS@U4tPWsbOsOC z4OEy!u)VXvy04bn)ejtFY2YhYk?}Y`kqM3)-**s0?U&siM%-If_kg0=3^Ha75`i^_ zrW-YRzLmMA+J2T47Y?*s$|ZRgd`-+MpjJ)6fivNh%JTU>1>ZjxX!e%@2_jvZmxO=q>k+S zdL}q1!vyIxrlMfdI&L-pTBETimg#q3$5ukZoEC&0?k@b;U>)xCb`zAvfc2{KW z^}M%7^V=G6S~d=BY9Yr-@`;ut;BdFUL|3-g({K7R#VXb?VHt$K$Y0?Bo^($fvQ8T! z>@g@geL){L+x#y!g#@W-LZcEME@?l4SiaGuvV@H4EPOR;W?6hSjcQ z_HJ$aQVpEWeCs)+E}KI+F)H%|dbN6_lc(zkr`KFra`E&EphpYY_HXXvFeoA8q-fM~ z)iJDq#5qpKbHFvpHpC*{g5eI zkIo>WVRE0$hW3TwP54kU@GO%T}JX9%?b9)(&}!LDm_*p&z?Eol6e+} zawa3cpq}2;mS*hG0v7UCV$@X2-9>%Z6y59xzNEe}FK|i<-?uKUwF`wc&pHn;hTSX^ z&^`q+s}%e}qLqBgU-dhDtb zc87Jj5H9jr$LEKb`xI3mxh9jqM&%5>!}>bvAGJC>_xG;@u1BNHVvjUU(@!QM$UES0 zvme&IttQ6Wb$D5_Ocu@;_@1b_dbntP$BuVoRh{uZ9z7bEc_`-<|N%lR7PK{JJXn!o+e9V0aWB;QU>ZM5-6tyFUaPy(d$SB{Mhj`ACQcB%snj&jv0qVW$}OPL z`Q_y^l(ds)~dfm5}?{UV5y_)*T>}T~Enyf^0KU!06 zG2EEjM{+F&4#dv(!kGtX98&-@9PPL7#$AV;lvEMc_7D za>#D($yQi*>?nI_ry!D~6Z0<%FR}CJ04|sG&XaC*Xsl0Zw|uOC$3#roU^@fPwjR!d z-T0>Nz0#+_rVfy$mu4w^t=Gwd1|Vc}RBR6D z7d50!1Me9n*Sd}grf3(pu`@yo^YaTIu(S5}X`ScrEq4rpCA0dpbqteovi(@J?p-#X zw3#yv#Kw;TYH6Z4aG7G-uWrH?w7&M`S<7fS`tp7h){h0e1idEJNHDT_QSIzos^4PB zLZ&R;f-)upjxsd?#xb#erb+e*(md|`CVf6Ua$~eFLlZ(sX#B}!WAcd>>069nb?l0| zlYUt@EhL9WM%)U(yr{$B{&_xY3!F}Xx~WW)%PiqLuK2&(1c!S8aX^2aVU(c%?|q;S zq4b-N043WO)>8x!&VPQ%3G+|$A29|J2Yt696oE*k3^2>Q|7A{Hxocs`-2lSoXP;r} zPkx@NjNTM&70HKRmN*zym$?+er~(L0pFOj6MF#tm8^8Q{7{T`l!il>Kx%TTQ;uoR6 zk1BpV6-E8+(FX!XmVo$>H$V0IAJqey0D+j{??;J=AK`Jqpc}t^*FdDmJ`fi2>-^$} zn7~-S&o{mk4xF<6FB+ZQKS9Hx`1bAFF+tp3pA6OJR2@G71}icO7X=8i`+kalUr|x< zx z5E;>>T~D91R3DU&KTq%Y?uJN_l9I|qQk+o4Ij{7l`JNpHHqQq7?Ol8EYamEHAh58o z@H^YAvV6%1WKbJ}0imZ@FYf#rMu0ZucYf?K?dyRPw|6jN1Uo`_0~s78{um0TMzdZF%aK&QB4JWRSL;oWZMn24t7~Yve5Tn$lioOMKrdtT6K_9_42)l{06| zPU7-!icQ?vB9EWNDN3s1qj>5rjh4Nv`9-Z$khW;=5C>c5epOt8RH7nqehB0o`!Rs6 z4@LRN)Hl44uvG0br~MA{5%K-wsP)67A{-=cPop2+CWDq?-9pi1_eyUIKM9MkWt)aF zs07tJXS(fa*REE|bThBV(UGzpCvQASr5s|~JDcYXkK{iZh*=S+*jqCa^L?0*(bE%6 zsZ({_npIaS(${3RPX}%|3`$6l9x2!ALah^xIbB-=C$guwt2=WnSmzg&xjvqPr^>CD zVDhJ|a605nsOwGigGkAqOzC`LG*Yu(2a%A*t(CO3y+l0gCil3oRW?#Mw*$)5e)16%lc9Ai2^kM5GcI6w=9H}gKQ?>`L zqKxo=APMnISl1H~ZDU=PN#{I~Mf&!<(+>J$CiB8UddU1jQ3-nO^z{OmzDo+?(%AIG!oSR-%W_0|LSEuon0NL>0>X^K#Ydt<%RKnJ^nr~S~{h**zJ1n&J-yvsc( z!q4iUtOsha|0S|vefzSi#i3u6&!?%C)7rEaUVPr%>QUt|xzj(Mqb1U?`m9ori-U{L zgm}Z3S8{-mTw%Rrx2;?0qGUvC@)CNrUF)q?2)192&8nrHsI*upmquGvQ1IlXvb!)+ zQX9Y5pT;-!&H%`NU28WHqd1}b;ntj_`nE>$)K&Yb8+-jH_pSu&tG7Df(^|z+yh@Gf$!KI|98z76;YBU-mc17whf{Y8YF=nbFjuVsN4!?IG|-uHgM$!OH%z2CMm3 zCX1{dwgQ$wjDox?2LGhrvb?39#07plkI9Ae<`k}jFuls+(zndVhsQIr4hJO_M;E&% zuv8*5b97}tSAmJS0-=W0%PTPWNF|a-?{M?1hgI+V*jq4VW#-`+B8z|0d0S05((!94 zp7*Dv!EBir*!!k;HhD58XQ{ClivuPOwm|_U;Sc|qB=(~2i-fSt`Os+QOP?!ISc89a z4wKsRXJ+4A%}ydb8b0K4k=U%SVOd^+&nlGt5F{IvtJuLNzIUM$omxoso&{@vpqW3@)~| zqdsOQiXKq$_of(FShxdl-C!GWzvCct;f2bbXC}7g;w#wFHe8oJ1ENrj#B=1!_Iv)9 zDQCrcl?+w1csXP{?ZQUqt)pWyzNXbDEBLVLvley&`Zk%lf(Q@8tA$x1f1e-^W{zvX zPW@{u&8;~Y)!-MaJzJ=nrtsbGshX-izv1ic^Ss<>|J3fvt0Q2Y-(gJJ%Wl41oaJJj zQLWlRK)d;BC!&koXzX;n5*v5w_-cDRd74mtTibPUKDFYecN7}#gtAhSc#MGmd=+xg zcJ29svHY6PCB=AM7+{u^Dv-3zZ;Qec*4wYbcW>Y7_7T}N&rRpY_?}CJ#?;uOG{d&!Y+x|VNQXx zLEpz`O5XxxV0vZ59(EC`N2Oh5)nS7V`6|z_%9T8T&&TkGPH{o73^_OgBeySBms%2g zDqo+S?YSfTS{m3>@tDhNc#_#*R7s{WV+*yM}``2HeEf^{{>@;&8nn)_**% zoo(&q@m~D8y|+&9I3;jaZY@MIj|{zWY5;54Lv%5`-piBuLP$xW^EnDgy7rf{b86MS zOto3%TXPy?BfaBW9dC%~u_$Je@{_x9clh;I&y=>=Swm z5eGt94r2A5ZF>iLmG=5D`}qNntMjd?)8duSkNLJjad2a{&n}8OKnA;m35rlV-`T!t zRzF+F;3W53l0r|9RX1gSW9$PQ1wURPUcrQ&9sWtDj(&|q!?FDe&Pjd|KC6 zGZ;G}%PK+v_CTi)xiYK>-I~0pG9U-(I8QG@*CZO8f?a#|y!~N5Q!yh|jpe6fo0itK zouM%CvtVggCw05X!L?s7E)pIDaMx<|D75Ju(Wd{J4|N`;=1 z=bark#dZCU6+loQw{qH$PDR}d9IPs{DWRxaQva$}uzy4)2R}vZ{kwNgD?5Go(|PN@ z7tI;XkD?-@yjIG3lzo^7h^^=o7Hnxu_}?g7PzW5i^*JnLEqbZC6;(MraB6CG6SL;K zo7RupZ zkZzbffK@w>fsz@(2wsz5q5Q>ZbHA9~HiqCxmvU@G-C#KT)JS{kH5Z;9@AnG4j~&*+tDJT`W7njztX+aR1YM zQAuU!{_t{5S?kho2p&{?Od*C?P3_YMhts~daq~KvM+#-VhA&zW^Xu5`(O*Xts+#-E z7B0~AQ)$0u*0gpheJoj6jI?Py0&qaMaP#Af%zV>*?CDN zQ%#(B*ewP}7c!p`zIj|$nob8>x8Vi3oBB-HLyN5TmXc}u-{$k%yCSpk0^jnhu{gP` ztsW50QMEHhItOLZ0dB~iA8yFYsstcK{10=kr5$8iRD+Dm?4;bZDq`*)v9c0$=8Ww~ zMwn8h2*{_YGMc5A2YAm%Ipr&kyqSqR-zh3WFsFa zE!7n=Nbg2e*SzIeom5#XQS$c7wMRuojV_Z*7O_>SI)sqfjd1CZ%|r5u z(pohQLqRUWc2NGN$Z0`qet&xqQNh%cB2$o&Wj@>!i6|c=W`2Ec>&shVM36YJ$wj_z zhD5iGlJAqT9121$7+7?z-C)Izd}#EER20=w@TWy-%QXU8cOM~GuyS#B9$d5KgmeJX zNvR(k-zrfj$3ULG+KX{dt<#n7vWOPEPPr7C?$glt>1kriGP*jUyF+YQV}0f)Aa_f4 zKDFN4jgs7Hb1t&b&~^pN*^gb+u$>*+Dbrcavaxx)D)qI}K;rt-$Nq%q9^;Am_eU6` z!#tCASwF}b)YKF;52=x5@oVYh0iSIPJ)df{C&`jDlb z7q!WtoKmGs#lE?Qaiqq)tdNWeIOI%_LhsAna)ac$J#@)z?Ld~MI`%OfZX*&*I4%7w zHKm^yBD~36fGIYpy4OCO@}ffO(I#Fn`w*{t%MDLoteMiEQEj7U-OCU!GWjsf_uJ4x zGt7QND*UC2*WkLkBu#nDuJN^lF=hgqM(Vnc-D`)Q;}onF^w#JQqi0)@wFL|5rbmbver$MwBQY8vG7@0Y$t`oGY ziV_`pxVC^Vx&r4dgPmTtr?1@)8#3Xm8Wp0sXtKzkJXVumOn9ZDT%pP`lX!x37*?qTcZTGy2 zf&rD($?5kN4wDW-PoQ4|fzpO9i#jA{#L!*i>-H)_ZVaSFY-!#(2YJWvfKZ+f+-8R-rW>bqA*wFU3aBXJCkvnR)S+qYYt2 zqJD~$-Xg|Ppf2D;ioNm6>*KP@>6FKe$3v`yNnc!xAhyfG6?dkuC9{;#N^G{Zwzah` z87B)Rlt_7~W>uMxn3$k2><;VEEGEJz!z33KONCo;CfX@!$&>PCGcHl_Ky{o(eXfls5Pa~M&69KUQcxnW`0eSvdk%X!H59X7wdU6eGKZfe zF5fOKzxCKluH<21FQFElNBPs(L@n7(R$s=*yj!`fyn%~DNW&PS=e$DJnCK3z5R~J) zqI~aV2NNd1XK2KSsW(xEe|a~#rh(0F7X39%iR_0%V+aLXY6@O9T)|n1F6o3elH}cF z$o84G+?vBa{>Gviq>tXh>TIF#aI8wX;^d3?T(j1-nH(U}Rl@gtSKId@uH{uzP@0JQ z#@7i?_^rMq0f1jJe|n05-&TKmKT%K~3jK6- zp`ZXktv__1{}+oL`&`a82P-EFxsk=akB_f$m~MRfp!~b*6b0qZql`WZaliA0wy2yJ zjDt6n=ymAubXFLsfM;)J4!}j41-IfB9R-4dgNaYu{uf9#K-vG@uj0X;PmL|j*`FFae}_){iA|_#?&9F)Y-;WTfNg%q+5G;4hnn*TDkr-%KQ-46 zJW_UPZfee70C>FAoWDL3pyvJscE|n~E-vuCj2eKp`vY)S_51If)WG)-%vttd@NYnw zAHZ+iywt$=cfjMHfAUdt|7cfCjQy#zgQ=Ris~-DPDQR|fb5GZwMI?Uyko@`Mi2*fG zRMFhb%J>H=@OKbMUO`?q005YWlT84C1eOFi0(fdwaYE{@-YV(P^%srEPA98kHsv55;%M9tON&D8a$;9UNR_WPse-ynDY0eX&;oA*2Z z6IlxNxf_$g*BK2;?9wK_986Dp zwvKh$+m72OOODeg3Z#@=barsNhXq5!WFVkMFnFgh7bMP>BI2#8r>vcBEQRD*Mq9q9=4Ob#4cG(XiaRIDO{bvah8a_R8u$w@r4|b3*H&(@9m# zXq~WpqAuAGad|7t4%Nys_RID9q>-{P=Pe7&tNqfX4zRmwcjB0pApZo@^pi4+!g%$f zw?f5Z8FKtfyIXTK`1dLZ+d`^)deciMi_9Z54J~!O^aRCWmG31cgl&wutkTA%%LA=+ z`zEJu+Zxhx4Br+Wo>OF;Dr7#e)##oWi-w=Q-+>7~aJ@bU(eq)K*!g)Y9uh)E{_NCY;wZuVzF{+VI6qmDZ%{VY14yx9;goT zwJru9y1Nj@9$`?FuPyvOXy83NBAE%UCxSj6yKVmLb%a7T*;{j^uVZ*{0~}AMSlJvi zKi5qfbafvJ`g%9_FBVls9;J48}x3HRS+*NlJ?nm82W+L`O+9cDh(Vp52> zP4v9QiRvH+tawH6MmbHQD~KLq`&hq@K${>_-eqrlr|`(CqRSgVbE*k zA==kM8;xo6x}cIsWpu&L&7%5LbC69O>Q2yPZuJz`ES1Frg@6rIvDa??2juR={3iAn z4dE4a;;b6jo9f$oJ$(k)TQ5DNmM+qylH-$ikE14(lJ;doiDkU=#FGz|=b<$=0BqjBo^5^(~mA)|RF>mf^8M@!B=Mgn#&Wep^S-51Wp% z?-jvirwh?%b?W^Q`kLw(PoJe;MnzUzxrs@U*77GhYP}?oHpU>L=*8D=RZ+YWhKX&r zMU`(x+86P+DAI=tA}5)8HwVt*>miuVoEX7u510h56qvO&qVW#`(Z)UIs8;67}?RVniCuY3$Aj1zLW&-)dd=fNSqT`lpavK}u;O@zD z#(0l-%_4_xWqu?2cD)}q)~gZp4r$IVToKEP?j3w|Bkk9w4iCy-i0T-38`mi{F%zWl z+Zew6mOP-*Puy%@MKaF{Np?5w-@Qp9S7+dic*9_w?umylq9YQ5xlh=t!usY}i-W&~ zh%3hhek(Pqg57|rW58X1920?;bBkg=i^B(n&j_9?i4upp$tqdU-eKj&H$;zja?W-c zv6_jLH+imLX7!Dr!E@8ho7W}Q4ScMTJ-xdCwkLkZwOrV`O;0c7Fyz%cy+}As_RI=> zHC`t&KmS7}S`GawGS@j+Wu`_t=k>c(L1T28t?)-T#+2t6j-HM4U&51P(S!$B);vHYvXu)@3M69r-74PI<2>E!eXF`CPE~S z{yip7rsB7EDoeCJ=#@H&y`iIvLPuQQmdbpqn(**>u!&qx`iQWo*9|c9W9KP0=Z<`} z86R=8+t%|laHqT>+gX0abrN)xR)RQ<{ExEdj|y{~G7_Rk#MSISkQnVWF-yB^-woty zzGt5B)v$0nWqLSl`^LTy1A94^-mvjed@{@I-5@)SAj-$qDT&hBw_meyf-E>EK{e5j z9dD9tOD%Gv-Q85}a5cR-wrXo5^y)Yu8HPb^k&c4*PFUysP5U?oRmgh<`-lf#Z~K=QzPn0RVIO8@Z7 zh1V;=dMFoib`E`o_XM?`$e#A+&EA^q`qEAYO%!&I#~l_lP8fXXvP_`3m__&cF+~&I zN^vHnDunx;$RftpJ54_RCTr>=d)4+y5-N{V%ooUe#o0vG!4JAFuYcxEx5u*QIth?0 zB_xs_VZtqbgzHZwE8czxXEvCfE;}ZBx~_cb;DVzBX>=VY>gf*4ed<0(Rh_4)q^(A> z%$&*lX1;$Xn>YwJXjnn1Yw;Xy!Ak!5f2{}pPtm&N|A0yUCye@kfb8b_H^}ZEAN&LK z`uit8bR|7%?tg>q{_)9gP3lj`?tdfa{~T^N_kW4o&HWpM;Q<9`?o|HkxRc+l$q1n(C38@&6Gvz4)}qWXUu zuABQm!F6+U{luJhp%(l%Sot3>{u_n=6Ill>QjQ->iFI;W_>;1or%l*p~l9E)HGB5+>w)hB8_tG+BFnU;2+A>1d1feZB$e= z)LXaF(9qD)Z)0E)U}IroVv*wE;}TGkQGqDQC@84u*chm3SZFCI9`G}=aB%YQ@K7-b ziVARvuyONneXryiki-ZJ6N>~Jn}q8g#XYY7@z>R7l)JaDJ-S|Z;~EXh^}E+@+`V@7 z6$P;OuiXNu{Z8<&uWQ$D+`NT~b{ic76DUw|2j%*;8#k`sym9N+&6_}JU*I{)&AYeo z?r}as#aA&#qj4hOdigHxHmyWS6QOF~4js3N^DA@=B4QF!GWz=r4;Yzvc=`AR1cfA} z9!tx}K9N&X*U;3`*3mUJGqgMj@=>-mW9T*h+CM5KI)Q9Mp*tqzF^o-1` z?3~=Z{L-@Wipr|$n%XbTUt3z?-`d*y2L^|RM@GlSXXoY@7MGS+R@Zj-_K^pNN5?0p z-}$VJ!~zZm*qw!sCEg!l^Oz4sjM=}znw$|GKGpAy^Lf;QU3-t&7q(_i0; zoIXxBkO;mtl%;Ww-U@avGCI~s!MQ^DC~<`{J#vLYHY-Bt<(=)<4ar>{ajQ1;BJx~TX%_~a0UMn& z^`QCp-t*sHze0(i`X}+7o&{e)^p(d|>Bk;Q!zl>3T0o~8hcrS9H#xJ|KUicrAur7n z_LbqQ7{^Z5RsmiAYRsOpl^@L`YV?3toaM{3RYi}HFz9TJ<}e~P5^jElf>G8qjl6Ai zc6x;}uTk6xI=~GW=6aTx~pw&9=x^1 zt7fJzu03a(ko0d^ri)5j0UED2xl&`k6-fvM_kov3`(rJVY-MAiyGXGw% z3)5)5eFk~%fBm^1*)iG7H|qb3y|)UBD+<;Hn?NAA1PBhngS%^R2=1=I8+U6YxI=*8 z?lcaKOK^9Z;O_3uaAv-l@0@wKZ|C0oa39uNcdy=SSJhwg*Q%M^-@QAOhz?^lp-K+R zq}D0_OsF=y`xkipDT7T69u)rmQK|OAKFqF7*tBvZPn3;5(vP<1utth4i44ECXG zdveSD+FUaykv|+3G>+&{hK%CiMZ!9mYh!-|4tjiMa(x553ohaRr*#~l|Fkt!v1oD3 z%DhI=n{(^t%3K}w`ay)W(7}M>0=~HDXz{mK(#vbS*@riPg?^81t*-Ctk76sb(=7y8 zY{6q>HJktZQ&ay{fR(taN{)osLVIo(;~|Yf@^V9`z$7_^Q3tMsPsnQ#eH|AX&0l^! z|A5aMD%t;%htsT;c(*UR_5S91oTFUwAD?YWp{tcH!v96-{>y)#IcpGMYq>_^`OHDEN+#hE$H8vge+nq}Po=b8iWkf0!4WB#VRx{s>O#!`BE ziQhyqRp0h|*V~`V;Q>6-Z;Nf8r(;$@I}Wd%Vw(TMT_EdVMU7co=Fb`-j#LdZ5-3+< zI~*6Tn)LnXJi@XmeO}LLNZQgSO}I{j8oRrnP>MdnlAQo<1kWACCUJ{E|06A)wEQw{ ztwYtYozTOaflL|KsGdk;wa?qn-nGYBC^m`qKi1;olAQnZiT{Ks|K~jZE5iPt^Y~wM z9v>oTb3W9zN#wnQh*+MU70_F-Kodzt)BmgacNWcEIFwh{a_z^}2Gflbk}b8_qDwFk z>fFetm;>8P{TmFFtnx+E8Q93|$X+jxMG~vD7XCN0?NptjPMHiiK2`Md*us%L+knsZ z-pJ$@Nzt1V>M54}=?{ap?rnCwhcBF|(241aa6WXwcCTZa|M80ZrNpye`0T;kG3E{6 z)iQ?MOW+<>Z{w?}kRe!cl*HJL&_q##qqEYfcn^1A-}#EToy9uUz~33^N757{sDDzy z_>0||WhuJ*)d|lCC{R6tchu*;N^tL4wEsn?@EO8Q5RzN=fvJ*7dgR+-4gi1ywg0i@ zw0(_V>BUTN!0s`>^*3@aTJn?6o=N`5lD`ME*p$xbQ8^k1|SOAtJ01X&{7#@xpvV8St8Ci%L8$MJRfc zaimY?0FmipiztJ+Dn>ktzggv})P_3H-XiVx65n=|rE8cxW3b@Iry(*lNpzygcMLYw zz2~C`8XO)9e&5&8*K3%aH?@?CPqZ59m%ZzEOpAebzn7{=Qc1wxFY(v`(-S*gFc7%4 z=q2YRp%waKtbRQ*R|d)NdkKP;+NKV&eANhWK^aQ*2&F+Z!IAfMuUI&9RanM$z+{Yg zTg*M49cO69-gU+OE2%DX=nW%@zQ(PGeWlQ}{yfXnNT=V<;(JHU`nIP2?m)BVsQlQS zTN$+EIQZac^SZ63|%Dg07E37~K^{h{~JYj}EE?nIUmfgnvDCv!cj-L-YdORjX zC|PecG?U!*Gm2*AYJ#`Xj(yYB@b5(4%6WaJsYLnIOH^ z*VRP_766;^lyg!!*01Zg|g=HETY?<*+H zJ|tLAO7D}unCkCuaM#?izkV|BM`l`=ts#~!UiOfL@wEUItxOnu0_|^=8H^1_BWtUT zM7#IirPYc;Yc%Q*!_~wie^fr;u5xCot~&>bPx5z*dRysjc%^xo7{kmD$vxBSE?9pS zcsjyN47swQk{(wE_7On9IV@^UVi(!^l}?rk$k+3(;^eb_E%bQxaIm8{Oye(021eWomN^G)= zDVcVoEJL4-umoW!9yBLux;k*#9|lCLS6cl9;-goa4$`2lGZj_GB!5rmzkwZnvJxZzVc`3d%N4({^=om#EkxB$Pc?d?bshv(A&s)mB;B> zZ7Jj15UiX9a08;B_YH5AiXx1MJVh`zxN zWa(~`j$e1!XW-|xt=I33$(M4c0zpdE(@bvw%fk8=X;9s%?elzCh7|qpap`^M`Q{Tc z8SY=NlvWq;*|OD%qqUT$m@IDiVoN*MRnoIUM29-ry|))Q+XQBhrs9mz6~W=GQGgZJ z478+uTmtyS!h@<}t%LdbTc-~scv~>Kf=>LqMXNh)Y0oZnuXkg9$f|qxn0iaXJ&K{R zM1%G|>rumNLX*ouYxtGr{VfLB!UGe?QjQj|J+9U|t}bxWB8ka2`@(eBz4xFE?4Uss zqM0AMcPBQkWTXa3cJDBshE|eX?p?4r%J}7H$Ns=6bjlZ@LDlb$JM;BgzJ1k@-j9a6 z9Aq-Fd4@EC5WYA_S6yEXv0qtXR#-NLbkMg6yIjTa&D(f*OW8yc1{EznG$J?7J=gq^ z%6rtvq-kiEn%|3E)O`aO5t9RDhiBAgPC2o;TIMo>EtpPaA0qtDdAqw079sWN$YNWH z#M&=u!gT@~qf@{K8P*yalD)J;@bkBv#g)QY0{IGO$)%}e7A{E1wa_&>;=PZeBhOTY zID{;GZAfnrU4NjRx{A>2HG7-?2`Z4VBwiQ0(fNy$b}CURTRHF>Q&L!5|MBopYvoFt zNvj}@T+K`ewGDwhxWds2N}$FzVq5;y2plaqIT$?B|9Wl_qBBjensczbO2bTKXrW&= zfKO%`)b(7Zx^cp^cqy+kB2!C{^Bv0>PlE=p+lW1)=%%x36Z{5%OSiIDe7|-1pv5jm z2+f8db)hA=0t!zUz19{e5%*wSTyoNNb5{vb^gQkOx{qbZ{3zZ*WXcx*EHOh4_K@mw zIC%7usyt|M?OSGVtN9V+$)8a@E~T7BUzF10MfsS0`)=9t*Gx$*Ed%`i9L*=pJYL$| zJj35~PFyKoKPz(TB8#2hZK5_qqI&E>9>!5sm`S2hXba^!F_A@9^9FD&wbc+vQ}XMw z45c*AAG|*q@zAu>FWnsk($oPii~?f3@M^e6p%l${dtg4pPxnq9z>O5~Y7cPdY`#c= z)VQCaf@Mtd8vp`Aze0F_+>^6`=a>)3{4b!sEM~b8LgdB}M>vyP4OJ9=wn6{`U_0Y+ zmW8Ts<;?#&+U}PBg-^QJJnr+3-eAz3(H>znp9R=U{|yl8;;XQ(=v}NkMysE`0z>7C zUUFM%@1oDHTq8$6f=AsLOGx1YN6lwC9h_&#d~}0QZb7*Iq)X2np2gf)jZ{tPmOmnP znY;K8b|!0%x%UZKu2mkU5}21l&{yy2im+qOODfjqifceP#c@>Q{{IYjmly&h2Y&(*gbe|?{p*STIoX{ZG{mP20 z@rTO%YB}{d0p;NhO&2qmjL@M8uj|%wdYd^>N2HXTu(s{ z-jdv~aemEvoLr~sPned;ZhU?j$!>s8IWPZUc~Ia{f7-B*k>nkwc#YZwTrMtA6f5+W za!!e%Xk0KT^_LPveN^_RleO1$WW#GLj{JOqN7tJk#aY(^ypH+e$JM^Cnp<_ zJ})V|8CCJ~M%1ss$<&oaS!?E_T0p*{gsfgU%E@|@#GZTuji|51jSQF5f9ayn$-jnpnZ>)Pbur%8UeV z2KS$QHn!I@!p0cIjU%lz&7gOV!o9@+G}%p)Ys%W0eo=QggzGm$@Wilhw8YEOgK+mk zxsAPIpWbaW|G+EJ95WEic=kue4Y7gk??uJB>w*@*T3)XIkvd6m*_~~fv?h+pfZvMv z>mb6e5$j}-fqKrp*P8a!GZpc6%hh3;Sy;Knts~Ondi1E?!0>Z^Gj;YR@)@S#eP}S1OUScc zOPF^2BA4oHLR0r+yuNTK=iswwzNjyObktynNgFdBirVMsE;Hx(Ha>Y~wbqyPt?3#0 zjwj#3`2*nUzq!8;QBE*KQJ6EF$5|+IiOQ2F>oJSFoDGl=t^~_8mXm5TTHDVtA!S3( z%$yHMZvga(D?UEjyaHnhY$cfgU6)Ki##Wk+*%V?<0{LmcY~{8|1^Y7Q=_Q8xh`_=>F>Et;jZg8fOAZJ6aF}F zrTJOE+vM^g=Hh~Zp;S?ZfxO)pTMK+THc=A@%3&dg!+jX zh?AOgBvW;e_ed`n>5&>H%A;3J+RK&LXS(dM$crFXSef-$Py4n=;A)17(XBp@S!n6nB7XY%VJ8=dn&w z8~M6+T<}g*hMia|LRMP@iNA}BCRMS=r7GgOakJWD}9MiFC-NI6KjfzG{7Pj46vWl%N&TUFq%BQ5iMRDY-FqF zt|tGMuo9}@sBA?y>G!q_1 zivsoIFebe)S%3YxEh|>g_3AF*Gnj2hg3+dih$2IyXE%~UO;Ama{8#SJdKw-1OT(#K zvu!YtXpwSa-E3d6U8VW-j%Z6NnZ7mz>@_8khr??xuOp4WSL3qZYmYhY*)OlyFklId zy3YDpa<+fVeF8=&jD+xjM|J)QOsiYID7ViXSv~~?#!8tJ(Mx_!yw^FXI`l{&+ykz8 zr{yvFvK|U4zNCjdIuT&cq#ZH)ta_w9rWKUYOQ1hYJ8y{nN9%`jl%T|u`$>2(PKtfi z!m{2{7fMaTH2YGjs^xFArnAYQponMz`63ws%!0mzO;tE{)9v^!%CfBD+-(%^N%%gT zq%UC%Oq3sRJ-@O&d~h{fIeXm~eAuFh&~5kYAJ$ILG$Es-ae!ZlG_^EQRE_VNP!=Kh z{VP~yR0Lp_xLC4keLJtpz}O)ZWv(9{^@~_*+yCQFYl2^1jk)<&x6^hF?UHTrp%=aB z4no11AQ;JY7ym#uUhMP~x8>-CarSY#!qxnbzvH^Pv#jcN#PCK~h!q8l%=}y#f_>k4*dFqV|$vm{M z+5kzq>#lw|hi(9C(u0tnq@n@8rez1^6sgkF2kUuxH$sa9YW=0o)~K6Xuq_+M!di?ys3w@7hEm{MFnHs-@QE=_!uuTWtt z<}s0!*@_*m1#dv5{{Cy@egk~E*=UOW@x*j;@jM-;83kD(BHHVez3$JVOd_{ZHcO9FSg+_N)cJ6W#V1^LL}C85*BT3_YyI`ODZq1V<;Pe9_vFwaZz}1P~>cIylG<^|JBP;U|RYcJc_mwZ~%; zL#W~<55F9L<`>DiQ<&hq`uI?10hA-qXWc|=!3q{eKQN5N(B z?h;JA%YQQ{6|fe7Yo6N!gCq&u_UF04H^8nZSL()>$R4*e)U(htn)cv?ZzOX0x8KWp z?lOcN1L9ccTkzIrfv?mChoA)r*z_f>aft2D`FO=x7jp)YKl|ErYs9ye)i=O=SvQdJ z#ol=^MG~sHVZFb09=qn-Wc|UO*~QR(;)*@6aclD&6JyaEz-SLcNPKC zLR5OWYyyYsCy9}^hwxA}j_cmIwVr2hvclf!D!#(Ec}@H-NvK?&xsXc<)E$1Vv-*NAvcA zBW58iHFo7ez7pnt1i@@WgfY1*{76tXGM-lC7Fv^1h@|k>Q(YeoVRe&>~BFV1HEn zfS{Yf9mXN3+6xKvHuJ`-u(gPp86{(%AO}vsZHPQO`Ig-z6%IU;H?{~irc<>|>3EWB zHwGZv(#MHXW<2`2&P~aH3C`XC2+sq)swXdgp`;tWlm}^&iROzx2Nr>*>hZ;iti1~l zsh$E^UT8Pj+@WV@4IVcVf$tr5-VIMOfvUHj#u{C#1#!JOu*G^VRU&z%tsN%7!kEv! zi^RJPAa~ZrW=ID_ky*aA_D}9lvd_EDfvv5k#b7IWxJCn}Nt(0+sZR3Yv z`{9-}uFbW#*S7_lywC$lb+98c?@40IH!vYn&X2vrGq9`EJLD=8Ctn9tD6n&Oc{$Y|`8c$x<2H#+u4~ z%8e!LXqwoQlKXhm%z?P0J3xA;hCW@87Xg=)6!;z-{J8}iAd6++q^%eb!?6{1 zZBWcQ=JVm0s5jB&KY8Nv{={00Xu4!2-!8K3@gl3H`cUEtn0swM4nu&=D*3EQeM^09 zyJs8ZS8AFO_BS*Iz|i%XKJh>wI>vzk)>NB5$ljPby=2+b-U^GYP1-pSFG~UY1_!(W z3U;=9#h!cSEVWiLuv!ea!s~;TBIjKSL^NUH3YspHIZs#aJU>m`h?dh1xYp+aasE)k zNmCxjPUuB3iwe+K?R0;}^m=#$bWzW@fi?*h!xk+e#J*0_0= zvi=?DuZ507ZV|s2Jh8TFr>dXK2D?lQJIM4o>16k;C>(9#W^bm;s|@4JY+#7m-d6OO zf7%WudLAg^*UY`$4Yu)p17v0UXP(`Gx_MjmmF?S1=2aG?c6Aq16HJ6WlCmukX55yy zCN)-0MjIPn%{1QYHI6&In!*OsI7!AiiWZxKQmQu9L!NX)_1{qa18@*0R!CVN)8;yA zf|MbbOt9GFXGswmFA_{)zS`+8&F|ZNzs-FE_)5G1`ZNj)F7=ieYISAo_9~oA9iGE+ z-nnR>iryn5f!%ik+u18;sf874bnQ|Xo@8^EIpwRlKQAefPFD*g_%xaF3u=XUG#M!? ziC%_ztInQ)OwJ+S+-fRS!%hX}fcwkH)#k*H-H;K*2j*bQKHrI#i z>IFma)v#PZv1hDOc;F3yDN1}(?c)Ds?ep(%mk#BvK{3xS^nT2wM+RRnn8WH%J~FIB zCbvwc^(4n23ze??{uBb zH-HTErd_e;F|&;xEUvOi|3~iFG@~U>s&xHvw)|4UP4R4B6~gYj_|%dvjOJt8!FN7! zo2VP<9ahLPL6A{m{66ka6vtlW0(GZ2?D)EbAz85@Ma|q6vq3#F`_|9a*D4F{{AX3b zGhd5-+Zcacs(ES%ck`j+f&<-?? z*xTmCS}Ol2){j#??Q5$-vnBo}0+z9ugD{cltcG3qmW{8;SGNS+hCdL`QxrRH9pJzS z84WLmVCV|R5h;?Pw&h*2^5Fz_o$Mvz=0~kMnfBD?L#dGgYu#A*9uRdQ=R_h3q><6A z{~y;gc<#^pAs;A%I}D>cN5RZj&&;o4pZlOHQhCdjSsjv94&;!i4obCdd)8LpsSLNl z-3oM!HMz~uDdXBGQnGO>Cy-n2@Q0p`V=TY`j{Y-a$(U=w59oP6$G!o!^d?1!QsICA z7YytSXD(W>0AEK#X=EY$ns~g3>>Hp|?K`~Z-Y(^go37`(O1%MC=^Luz6G@{^vwM29 zxg0;?9_ySe%lvuhFxb8(?swMViw(19^bz}6*ke|8TYDIFEXh@3@&-7K?lPS(BSjGK zBb{^^WJ-Lcaw-^WN7PPLi;B-aBVG%(=$bhs#iYU2oWJBsECyGz`#fci@7aCgB~&6E z&ejF#g0gpsnP2RrHc{Q5ynF6+xcYQcUCpKo{@rQWp=^V?V8BNcSlw3O%3xb#?M;7q zj)X>BDgoNAoj+SSCu&jw(JfX*)7RlA#c8`%`c6NS)xT!P{4(3D4+-F`3S)M);U#1C z#+IQQ53W{yCr!r;6f$K)?XM7C-nDL9qV&F$BNJ&vsUsTLF~|1TK<`&1??ZYMk^9Yu z`fH%X4L^0$Px&lU2B-e6f?;&DCYqp|vJ@SOYbb^+wA_*4@6?DrpWnek#wi_tOtx%Y zj^*S&pRCq*$;q>?i!3>HxMXNOGy&g_UO!+ z%hN6;DO*3+o@XIw=LY_)5T%XgdF7LKPn$9c@|gqRcBo1O+CjRi=W)B#Pe787TKFin zBTw8*EgolzzaEqUq8pp)z?v|Br3_V_+ib6g2CxT1zL9guz!5L3XDj?IG+1>5Wj~-U z-X6HVmmtQQ?sGSZng8+$N1mM=Q_i>&#xkCeOQK`_KbHEoN*|KR1kB4~{~ZrodP~8% zQ|m)LYyZq&=wYfnZ{+($A$v>}`=j}9=U^H)cs5CqDzy;GKSa^h~!@5d!b9&v?C1qCws2)kRs=XIEs zq)Z#EmQ(#@+4k2xvxtv~5#)L|fNB@@ST+QC-NkGTd5lZ3jHCQl8CMggeY{rQ*PR>o zSJ=Ksx>bi>nK(ONvZ&_HTtG03u+CrSHrQ4PJ>i_>YFU=V%uFe_U+5*r1x>gwa56S; zp+BDRni{n2xfPN9odeO<3;aQ>;_XWhhUcH2=C2@|UYt04BzV<7&&^Xd!HRmbqZe8n zcW4&o8e;gbpZlfsZU!p`IT^qA+ap_Z#am-8S$}ctri7#vi8;j-1WsKe_-eaa>+AetmxLLH$2S}YLo+Q~BwBscF2uo(9w^_ZB|aQUs%gZIuieK_?Q-domR>C$Q3%ztn4DdXA6d7sh2lq)pMbo^}164h} z{aa`KGH`EPxh!TaEav#9leDXkHLWdm7d;(yWiW+$a<>>vYj+YR=ox!i-ULo}x}Bm@ zYHbs`d2JBY3$${-SLAABS4yv>)RtCVZ8&>YHC2e4B)o!j`J;Jyg<+<*Olwo;%&}WR zBOB+b1%yhPmu$~YQba&$uIlO;hJWdC`I@iPxb)wl6}z@V9m8i1ER0W!hYmg2vR9pe z%ZpDD_`Ud4mmZOoeJy@ z)iOSx&8O)sy~|3(7sc%T39%vu<#Jp#rGZk|M7_=!in;Aj1wIqOUKw7SavnQ@R6B}A z4~<(&EPg0g7Wqv6c~L>$onC}kiG=+vFHz(lGhkD=R(8vRz+Ns#awoL-Av!Bt!gDvs zwdCKk2%o^@vaa@uRngX9^7*)WPw+D0Q!_$wgY&c)=-rzbh-&x>wl)EhygHh`{@#}S zYz4TwvMA;)^kv=wH7{7{FYVlwXAMbsj*_4KxUdg4BZ%H!Tf+FktfHM7|3?y!t#re| zdAe*r&1|utgE?kPclPhW-L!;NO^~|;iaHLM9=yACDRkZwr2B4 zgy+HLW)9t9lok|G85-^pObvuGwtgdCQ_HLGqWwL5xWa>Kh5k69GU&Ix>8^MeOtWJvV!O;9`2rg-@Fq8tqh8y#us+wsHZ zeCzjNkYNRL6?Q3BLV8@M(KkcX!6kxd5fOhc>>9X&b2<`K6ED3=S-vb4gFZ8)qm>Co$>KN{s8oq z5olMOJEf<-+gawD-}A^Jns#}*QrwXYD2yXh>UMHKG>2VG>~-hsPulPvDQLDVz%u!V zlD>`7r@=|nIVwZ3PwVwz_N1gzOtWpajWOTw@XDa!h(lTGV_hX6GiLb((YWinXu!2( z@g5>OL#pD5Q<3#<**x&fDd~W(r!sa3g~Y%YceE5f*IA&UYNCR+Xlo2r>K5RS`;#`cDcvk4Tno?7NGXqf6TBrxGA3-yH}5bbbL*H zPYDn!hzm=otG@s$bk{Jg5jQE|vV7c9zBo!4gJ7_haJHOyRPVx3*qnnRa2xgC07||- zF;h2$YO`B2Y09_FUkA;d;s)dMX*M!_{Gg&i;hV^1PlT+1y%<>xbT^0P~dV38@_>Y zAWL7Z^!A0C$%X!Dq2T?Li?OG@DZlOzL&|sZOXgK1u8gf>N{#;La_XwQr9(+XMh*34 z)ASGp2hm(xbf=`)UoK1dV10u_wR+yh2=5S=&?ujr316y!Rq$Gb zfr)$jf*$LpG0PhF@%XUirD9V7o6!eRr+Oq0xkpWSi0kbnf&?>iYE736%YxV;kGl_T*d!Ko)oL1M&!IU4{6(Pq<<)Fh`~O^6PE3U`iMH`+vqUnG{ndO zCAW@uzi+c~&D(A@b>$BVyaB+d*U=QwrV>aITqVT8&NUvS(h;Z%*xoN`snkc@wTWLT z;BL0aOb_~8qz}kXB{dAyd9eevMnhN*^<0%aNrMSP`ti@*5?@kHP4c!G1I7wEEu9$z zOm}?t@U}>PZ*4Gg9y6T~pAnw?A`I`C-qZ%*bvrmmxgF?0>V{Cu{|FQ{E&i~g0HWA% z|4qBNpb25PasQ>8I-7`R8{AD%wIO-;+6fM_!DJ3{dB4+)Q~XJ1W$|ydARf0oPv`IqNI4;(s>^Em zGf*S?cYM&`4Nk`Erzxr#rV8^A?cmwJn^px$QDCzE`L&Ed7S;p(Px1KwaAs?70GG6E z50-mgl8IHhiYv ztHVD1f-?NAcQ;*?e^`v;L`i1nlQ~@_Ia3=<8#Ql^jRO-nZ`w1V+Urvj<=A ztM~!Irb<(>^Iy=%;&&`Kt~$<}WhO8(X<48O^XK9bn-F_|=C_4ooyO07DbiY3IVE&A z1NJ+o@h$Udb+@0}#rkmUm^B4+9Q!6Qo{~^S`HPT!gXN(#&vxI?7dlc(dmuSn+}!xC zFh5i8=RkzIAdumHq)X3Wmp(O@_|&znygSgYIx0WP_Qhc+=hJZo`1**}_QV8J6e(Do z*uTPg{e}JnWUZcR{sq-3hRQxc63>Kpi)<4DSCfijJlk}bb197E`yXjZXRmj<&35ZM z3#dARyn4AJ!L!0?811zEas%PkLOmLLM_KgdL#714)FY6WiK3yAPj^jMhUp-c5^3_}At{At zXc@s#I}IVE)4OuT+5wAG6LEX=Y2kZ$J-kqH;{E*aA(mKWCf}YNb<~LMR#brhuy4QU zBdPUFt{(`x5ARzUYj1tQ;<_I79;BM7virmJ}+?=52HXd7CK_ z{Nxs#=*(-VLq0;XM&|Ek`d!SxF0WYvU_s(hN=xsc>Zk++qJc-wNxA*_GyE9e!Sh|{T;G7V^?%YBc=PxV0bz_CP9JP%Hy5<5suTZdd>m*0|i4Z+YBe)=RWDM#1a1u5OAt`Ru9czxVMp*u^0OHvq)FeMbkKy0w(O5x>Bt8-_q)` zffx|motxk1KwZR&D+(p+9(z9a@t|6;vnqAl4VN#b^XF!1<%zA%hP_4D^78o5`=yV| zO97X`c;xL;J<(391T#9P8%#{7wVsL8j$gYTLOl1tTxUIej4xaID^`t{3iqqW*&t%} zBb~BbH9CK66ac?ceRR7pz^nD~l_q*Y+uDGv?n3V_d7jw`Qr8RBWUn2vEWP8p_>V2> z?XP=hIVS+9GFvTan~2GWW`kc~OyDe<;jV&?^l#QeTy&rMTU%y;+nE>b|Ab!oEatOa zH&zH9ACZ^9Y>PJKKA(Pibej$QAeogC?=TERD7S}R2=oc?7t2^(d{|jufzP-kq#fdE z6q5ESzVowJl!a`<$0|<>5p(5#qjz*g$QWH%`J*5zv=`goTC@HJKr36JowD_Bc>@>- z6aS$Ck%hsSjwR*}74GrhSzxT-Oy!;v6{F3bek`~e9 z(Or$t&5JZJ8Am^F@57yM%{}7n`A$Q0%0XvMOh6FvwW{$j6$|>2A|EMRFNd$|+*JdJ z@^$<^<+~R85VZ2nnAZ7Ls8Is1s#HBzf1!pVgB{=ozo;rmfTPh_2NkVXcXVSXa)?kr z#6kMhQ#g~}%AUHDFj~-lH+#c0@pYtO^4Vs6h~e{a!X^Gzi-Tu2X2{2O1<$dcS~~v@ zI|wft%PZnsrJ3v!$J~0B%FtJWukrc?oeiQ^u_p;^v~{KH*>nJm3%%?ZMA02dV>W)+ zowKK|Y#f=?GIkJ3?&CfKN(w+N%oWQX0(tn6w;L!Do1@`5IyUrN0>QuD@EeZLi1fCT zaCk(Z%pGUneayHnVJxOK6xXd~HSRJ|ApDzLIb+U;GDSQ+Gnc9#Q`g&5*EWn?)C|eh z1#|AnM*R2-Gl51bT-7U>Nrj@pi)zeyGrw(a95WE3;N78*I1deE3 zny9J+jW6RKR_{-}kV?Vbrq)^bQ`b)^iK5N#bo%{MekX36Na2;0_*m;}R58)%8&%Bq z+7RkkCk$m;yU9NDnr$(UEV67ou`klG3g;pIIiC)`zj1UfSF zluR!&9NHj7KWuyh{F_f9vHc9POb_`ll3xWjlqs_Oa(6MXD+2^l4ri~@6>MFXoqL#y zH@1CoI7mKVF*)oOIwC1R>u*R^pDhQdMPYc)B$pQE5JpjDjLQ5jxa((i@V{_mW)2N)k>%LR_ zf*;j_e%Q!s+<*F&%oln_srrm%L~rKB0(&t5=DKmadJ!I!v8;Nrf3;xd69sLSd-F8V z*howlw6r(H{0MiC!;H0K>Gi{z8SsS9YB5j2xvU?>`Eml2x}#Lwc^9*MwQsG}#+(1w zl-25-Ihm{S3&i+(T}|_m0pdqCb3>Vl$*2q+`IaDuIVjWw=Zjd-!hH0O`TpE%kNavD zm=wJRc;D{Ewj&&0)~K!?1N5oPUIKMHF$!P)o`g(u#jMEeq}DXQ0muN)zBW2B0kgDu z5rF?0>l=O&b{)%mLxjvalFrbDVDxzLhQ3DsSmW}tjtr3$&qGAqH<|i$v53|>cJlkk z4bM~4U{2OX?I_G~Q{&Hr!oP%A(^8Z!&O)x+jSjdWyM)Jf7=H{IShG`N)6c7L&))zc z@679sYd_NYY~6^*>5D8uE<&Z&jKmNuYysm~%FPx*Cq&^59}l|&Ftd4GZ9Rs(1JLZJ zHp~6U$L^g_iWqBfnc+N?`kj{cJfScpV4Uj_GJUwG(4iSK8SmIGi&yiq?&ZR{+ll2z zDKHn zJq|EP=6s~(m7uTZgE`a2jT>Id1-9_f@#sr`4q_g69CzYVvrD`N`Mm)gZ6u-Th5^@E z>GTtYi(_9$+UQ1oWj?f}3OJX0gl@W(=jt3n2!Kfyx{N;M_*6xA9yIi2fEjB|#>$(x@Y2)ms=XkWxVC-xV)D{@?E-jc zf%}s5xbF@T5<0(4=eULFgeTi@ez=r2w$M`i(X90SO7$>{?|e1d)XLYpluk!Ks++HW zJoXLn0TA`18EfgL*?}`9;G1uQ%WV(xBRsB1J|k;h#zU=uA(j?+oFm2baMzxBMf3oP zHPyDID{~iZFZIC=nnazhC&8iR$9idYbY#CbF*>@{L8>;OyWWlQn=7Pxv(z;+r#jks zqF+aUlnpDe6~st-M=VvW;M*3>fbGCW|DFN}lEeDDrED=i?beqz01+cwnv^B5L$H-4 z0RQ_f^{QPPU!hI27;StCN(QY}kCOy=EAF3;h3+Q(@Xi6*Iyx8G=pHSHOY5(lWm<3Iz9FmZE646nuQ~g<| zy(BNk_1ek2jtfHx;q7J_Rz+swJ2`t)Y7p}x;15}ECJYqHbsIaiV$%Kn999UESZPa_X{?2n716Orgg38Rr_X|g-`KNjI; zF%si(p@4-R*CiQl2UaZT-E8N*@!YbP?pzum5l1(ze+| zMx^=~zA8O!3_BY6Xa2h*L~z_=OJEW{^{1X4nc2G8)3)FXGEP(D?dJxusD40w6siJ1be*|_3;#XgA zT-l$r5pzB_BC`5Mu&ADu)&(p@2IB=P9I36$l;x5JN;Mh@3;PZtLROZ|;G*K^7 zIq}5Sm@lZ(l+8{6OF==1a_n1SIwc>tDVcK;Gh(>G2+@Sl5jjEvu z9|_(`h72u9#*cbG;a*{@S4qO16I_v{KPw%%D*{@Cd*Sn%U6YGhTsWbv{J@!K+ln-;HT}8e{xkM^k4a7ko0m z29pSReJ!hh%jen1_cpz0hJRx}TXGALbbPs+ZWYPt7lT(q;C}+{9nw#};{H1%&9JlqL5kgxtqvzFmJN=(@wn34;*P6Y-X{$ zYIKsK%7a0mk2{$D;7UA&vgL(7XGePn8JQdtWoRY3y3oKQl3X6C z^Y3|%C9tXZMRK-Tub!dHEV23Tej?6 zLv76T=B1fAqbqGv_wjeSi+kE~j^xPgkQ<)&{(`ngP{1i;UM)97gKZ31=M+gV9F13~ zO!V2R#fLBaLb9r4qKL<)A&}6X{i6mYg4?ObLnM(eeMw9|t^H1GRFc(iL^T%^K5i(H zdYMgA>R3^s!zv$8NXCRk3fM-I%nfhak8Tjwd%LYN9J04b+*(X;QOpzfh)?VmJIt<+ zo}6WoTI0S&STj!7o*AV9WG`iAIO~uhEGG#%hXp9rL*5B8RlTIj_7%pnWEi8<$_yM)(;J`M=h1U>7{wkKYO z_s6A(m9_@R)z&N}i0ULMJcZ{$IE>Ve{a!7cd`;Uvcm-GeffSEN@YBRit}V*$^)}n` zeakbbEX|aF)Q|~BQuuDt_+Gh0rf$Qz1mDwT3dQDS&jl&}io6A{{>g)5t@?ZG*9Fy> zwi{uc%0>Np++>-r3DUM|whGN;My$kx_=P{svr{%4S5`Rp9d0V)N4Zo+modT2$rJC$*aRw}m8J86`Fijvc?%?F6A><6IyXM_JF1-8>B_%v+S+(t znxPsaDv4@M86&=Qw$20(jsg4FAofHZ_rAQkv`t!pgN^7cN@DGruJ`6r^9V(CV=(b( zCz_7D>BbVFcbvpv7=GQ$)reogykc)O$(6yqZ}~xsj~{S$3Z0QXx|fCLg}$t8(ooci z%2KaIyidDp%Ylc?YYV&RcO_4UM(WOaPu0YEpdlJMnn7gP^=yOQ?~gm%M5t>nM$TC; z^eJ=CRGZ$N!3Ow~#^)zzOBGB}iIt{ZfGp9Kad!~k?LFrS*I_^5J`?Ps?5oaLeeg=F z9q+btpKjJEp(k)NKFsF-V(%@ZB8j>zQ7Ei%D4=k6clV-jE!-*GC2^;4hr-?69TInU z_r%@ZVd(C!*Xr)q)34u;nKwV?N36_2&da(}PmQ;%;?csjm2wxwUx05sI9!JVG zG^wpP&*|~h8k;Ywv4!~DjD;n!}xTODJAO=qv<>=SiLqX=T0s(uUr)& z{b)59$P#C0v+B!jz{wvjux)^dlUqvtTT8hMRqRl}Busm8x*CArP>xzAa1+mcnjrE6 zOm89kIZy81oc?q-kvua0S69OQXC_P)^M1eN1598=?HvK;0}M?Ea!S+zUWCn(%(|Br z!C%>Di*QEp5a0SUdJP8_C*2BcYcd5!t>bZk`PniVp7@TNtXnEgZpUOVB}C>ny~wWZ zev+k2h(Z*80?n%{(zJLjsm7eE$*AO{vb)Ajv>%`d&#vly;0@A#sXp`_vAG`n4k z)-oVqWC#13UyOONU4+oDBB?jVtipv=Yv9so(>RtSpZcEH?KySkiu9AdqB6I&KJ$3R z2}KeezB#OUMUKBNmAtNc;duX>YqYxHWz@)Y51~eKoQ2w(3^DuxzclzC52G2ala;my zoM%}!CaohtSzGC!1P6k9c^QN#_Z!*i+u?IhQ^cdhZEHc?!fuz>BZ3#B^ObL{@R!iHGq4h<48N%C5cjoU%$SE@aG6Iel*Y={1!mtUZ zj9*Qa*wl2_`3e@5*m>9VipJO*{sH#=ctMOi)&q?%^6kKhZt#YpgfnDSw&oHPXVu)& z(THS3r7ns?wYG#WCjoJyR&NFx?8W3^TfQkLc2yG`#DXzIF5S6;PLiKiJf0Mp+eyf7 zZ>&Y74TMBD*7ieg@s}5;SXlASDV5~EdxO(_n?KFOHmei~Xr3c#6nBD~M3eBXg^_vf zJ<{P{YKBEuEii<9y^hHUgV8_HNL>hL2l)aZ9oioJel|zu^BajFg`(m|EFtH-^52=g|nu zUse=kNGpY)NSXLzzv&6u$xMhTcywZG=b>e9PF1fs8*hUMr0M*%;XAH+2?Wk~vRqr( z4clyiOjWtN4O=aImrTv>`jx6Jczcjk@ioVM%IfC|!vu{f?FfTTRU^-vtPSn-6KM;7 zvnFqv5GEJ%vFg(&rjRw!*6v@sF%;;XCs_r)Lc?rnv9*vNJ;A8muv9p`Xtl=s61S>) z2c9j9?~96VM|yd3=iyFLjkCq(qx=+%66b=5TK~kPu9TmdO89HkM`5SL z{8Mf=(+q;i!aZIUCvYxc6#ct3W3s{ZU@|z@uem7Rd9x~L|I21u<$Vdq3nqdyVqL*+ zgLf5Mg>5BFZ7s1r9IU8{Uy79$eP2(ICM9r+0>p!DGj>wP2GObsJw|{3YVU<2EY6>w z)j50KxDk;X7d$C?MO6~hA`Fr(XhQs+F2b1?FmX|NZa(Vxu+V|p8h0^H71L1&5>aJO zCfMk;H&>mwUe~1+ig4e%X`ZZx%$iBOpSPyGT(1{-uv@nx=n^I>wK?mQUwj9Pt(9K9 zC7n-Sb)6N8;o_v`Z_C`I0z6>|W?1Wj2K8+Zq+)9iutMRphE%1yoCGn2?O>h-QqYQR z#%Xtmd|L88zzFUuo^>Ef2F16f^&X`w^@cl^tPH@t$DSshcnw<0r1RSwHFh*Gw6bI1 zvWDi3s$)EbIkMH=>@^3!>OQI3``i+1qB|m0Js$$xo5D@&uJBfr&@34qV<#sfLMp=z z1>3s8B4VO=Jmzc>&x@{v0j_)*G_&3t|NdbB6~z0`4+Gw;`jE9R(&r$SbvxXwo}%d9 z8u1EU3t9jL!)}y@!46c+k1BpZ7uQ`bKjWK^rvGtdDOK(txc}u_dFQudR&xTZd3IXI zjnCJu*xZ=8Kr+R+THs7;O^J5Fr^@=7r;GI#_vyLf^`3M;BQCZOCBMTfMO(1=e4AtyNMIt=YS|4<%dl0X~s5L zwIrOHDe+RCL55e)<%koPxc^Vojs|*VTZUC;eZ2DqC$`EAF zP7qf)&fqO_q2_s^;z$)D_!HXI8m?V7kSn$`mDag5h3hJo9XK1c0s@BXBx&hlX zaG3IlAphlpWw&6TVa5LwH}C_V$^svT%7>Wf2D3#Mh1FHis$?iV7LzJ2)^ESA-KfEp zif&^=mn%la_B3L)NByRVM80ui(9$c1nifH1Q7_9Ve!0a+{~|=-XRh!>9!Dp3qy4fm zLc19%e~`@gk2i2Tu%NT*q?q3ZC#~MyajaGr8zMLm0(el(Z<+97J@^L2KKTkRe_6Q@ z1~xKP;8wn#4{S{j9ym!3u;Rl1bEMwnAntO-F~g0EdekTyT_wT1tS*N;nCML9?vYz;e8riZ+N0zulAYrdL@7Osjl&q zr5{W>$u;oAyn3ROpsIzHq!jy#wm%HlBj(zZNcveu!sZ0i&{;94$v(PDtJ9C?fOoFG zYDXApCqOh;wV~MD=Igzf#}~6g-`|#;IHL2S9;hGm6te3hb*q`%!jW0`)U&|!GM2%$ z=C&TK`H4=!i}GQ1tcljDkJ_y%!*l=tH|KN66XHWS*u~x-YqXf^||Bh_R|Cek0 zbLIsF9U)d8OmRUzjIPp&5$?EA)w*%tLy|P)fRI@cikc(N44~%Bn)?{MbSy`kx2SLXs3(Bi>|xnlL3aj;CTE?IVAQ)qhl#K5Fq>Lt zk#yHE+!1;I0meGVCXZ?6OnrkIunk!*VSnSB0F_WCp4J8Ii46lu zGb+cDe9~vu1s(zKx8q$oKC*mA=bSf%#)_6s&vUVJ4WrFfc{Xb%EEs|xj6g$h3GBJR zS91`4xY!)hzvNu<_Mr9BchYzNIpyLp*N|s9Ue)!iB$se7b7t~)4}@VNkngK480@J9 zaNF@g?FN)KtW*c>34`Wps6)yhw)DTe=!1Qgw%o@3IV&()b_A6d3!Sz{8S{7PPHCliBfy*Nilcc8 zQOskHCu+DrCDXE^>Tg*91PnxGeN|^H@Wp-Ut}&HN_Kb$c6gM2fBmo=WWk4mNGgQt& z7d2a6zxWmIN?J?Q`8!BM9k--y06CBw5&}XhwBRJJ-SFkgug$+oGg^SE3#mX6U-m)YGWb4^-8<<*KBj|b2zzsyqkrpNaY3yph zyGg{oMzlhZq+z<`R5qj^@B#nuy%XMd>X)|oD@E%3Ku)>&y#OBCy17h;*^2_)X5}Vk zlzP;>IiHSKv3vsaZrE!MX z{o>hYxX+In($j0_BrZbb0`W0c5QY5IgplNXz`+)PVzEjbtzOl+s9d;k z(%fpvGQ5cz?mHYV1ZAAk(c) zF||pSL{7&jRN4?WIswRT`r}IWymkQ%k%QFGJuuOg;b*4&=wCd;lB2sEi_R*+YnZ(E z&dMSs8I}Pu)D(0HH~7}LM^)R9yAxYPGc}xonYw&+cpR?-1G`dz{IG3y+Ons2Vpkqn z5os;zJ+~p(eGs;1-gOg1Ox8kRSv5b#q)cuzHJ_e~gHstpbV2y27xkFhH?~#ymWbNy z?qR}-vUN|PCpOsIGd7TxrG^BS3`W9zToBeF^YHUj!+Y!LCsV0&y&7$i>k#@PnnwM1 z*26CTAxXY|Dm6P}F8tDb0)8hQn&TJwC{V9bf(OV1T%V5Kl-3)i%6 zcIUmzY2+<`U!lNl0>q_x*q{gJ8vC-n5VKuhQ?JEK1<4R}vCoYdE1C;=D+9WRb{8f8L(iX- z=R>odhp3ewV4Dy=k+PrR^`Q0j*K>e3{v}MtuH26R7d;x+T1zNaEti(ElOYNBukksrX;;xwOjZph?{2rKU zoR8`JoG=R#CLOQtCG`a|bq_(BhQ6x}ZNrCIm+|7S{+b_pA+j z)Epk;ag)|eJTEL9Whm}3R8kV5VsAn6DhCOSXZx3G21Z=F)ZNiL^m?l z>i$h=;8Rg-OM2;5qwu(KMVp7Ehw!Wiv}3QmX9p$(b~0fp^8aFy?^%mgPyTb$S5?9J zSDZl%Y=`9Pm7Mugb&jA2EYqbOj6koV$0C(0imD*dC}IR6|&yo)mi~%AiJ!*#+Ai}mIzc(lhxlr8u{ip z0}RMY80~`!PU*{vH3f5L2QwZc7EL~Huk+299v78C$W1Sr&$omBVvb;=7ewwNC^8lW zbpFph1oMBJ|78;T_XGF;n&lsJ^Zzx==hJuUfAw(qKbW}hKPgj#`B?sEL9&0(B>HW@P$+kab|O!89|+TPCAO5f3#$VA`D!I<%XF5Jw@#lp?< zZ{^8c(@!%@h0rAzF9g?LIwsErPAV-`(J^Goi3%~$D1MW}K!HO^!sQkh7bjz&EBnEH zL;pEOBFqx3=ZY5YT+>~ZFA?8pWAp1#|+ zC&E-Jpwokhv&IL<q9eG4K9mqzDjJMfyG`PuErf*jaBvKF8dytu5?*p z_*|99SW83z@Q?~ajrDl>a&j)VR4OpeAk1jPFDP&+QbW=_fz0(%6wI&N5w#N58keR=ZbEUIMU`_fnkNFVUUkUGQzq{ z8PW9?Lc#i2so~cGJp+CrD`gJt2!hNI%?u>WJQoG#zW4#ZRW-lp(}xX0SC-wGyZEBW zJ^^YzGew1)2{&sNoer~5d3zY8%SCAh(!_O1nF^9CvM@nTZ_1+KBRjc3JGrCt_V)>VE`Y3G?CZAr^g(BZfi>_={ z!Hqy8DUqBKC?i5G1CMJq*{Iut2ah`ogl?S2JWpKX|MJu~Fa8rm&?LD*Q=glp zS=QUa)55a1UDP{gnBh3PD@RDOqF5 zsCmdc*oYu^Y$*yty{PY^$xk0BMXXEjzO{>7LUYsbG#5@exyGt;;7G_mA z0V7x$O!g~bdTsbdh8c&vv0O%W9{Sy%Y1_9g&DsR9+oYx+Hu!AJEUoSNP2D`)O|?+k{4Yd&Zz}{=H8P$<_x=4a^7I=o}CXnStXD3o?#e z#+fIg==Ph&orMP!V8{l$DxQb1VLMNQRjh_9t8_cK z!r${2`uXYCEuVp8F%G5xTT4xbZNLyG9_2gVJatKP8g;D5Urj}fqQqWFcIMzlay@c; z?fj$ogh46lv9MWMinQPyEYIc{e#wbAaXAMWAyg`v?{UJU92?hj_`LgSS>o$>##s!8 z4QidG7e>;`abISRKhGL_6p_56Y?^1Cb079B-J1T!lD8ePg?Hl)R7``nJ#*WyEHAGxx8o*55|k4Hch5Mji}qL_%sQnzqE)4CUcsX{CtJnUYLeRjv{Lnh zo+_qEba_l0UwulljLS6N7*!KW8v3!;Pt|e7x%D$CfdvMudxSvfG5f8l+xA-HyRC;?OEKs|&0#E3W*-ykv2TDP(9zOPq}i>0he zkl@OA`kWRM>#Sp4Xz!zy{O^JuQ$|kRQxz4%ujy%aheiA$i@Z+kAw-8Gekz`AJf}r` z&$S=rZDv^Z@IAvQdk~!grN0Fg7KKs!qhr>fX(gs*Cf=P9^ z|AjHUEY;Zq?WxEddy>Y^zIEg%W0`1<7Bydq_Wc#B;INrS^%zX^fqk3{n-$ ztT?4_DI&Nt5E-voX9x}wdU{)hcVJQ5D=OJ2`S~B*&{8O|i-#HI0in~(6F2ObZX0E! zuyYIb#ME`Cw-PB{4LCz}vT39RdtWCeYo*oB|0-ortEWAtqb3Oi0`2r<=S9JG7m65cLcWd9S=!gxng=I*X*(~fx;R}KgM54_kF0IrxI{qVgJg!Ox7=XPz; z9kziMoTs&}nhuFQ+KZMQ%We0P*b$qERf{%KRQQv*#hFxxlfqY)(UV^=4nvP9=bk)Y zl`|3CG*rSyhaTb=3&$sr5^3)a4z<#$PsO&;4LX3{237t!nVC1!C>OG6c$~}SGik=a zms813{CnEl+qKH3`)mEWj^}`kMvilEVN6oS%*#g22KSQ$wa-OU7QXk8_dBCtM3(K@ z_EEdx;&T1>D1{j((}U-VB;8-?k$`gw-fv9pdb=#=c0;Y_Pbtl!9c0Y7Rc@6J?Vx}$ z94Si?pDY3Q#6d6ZDl;?ksY^R@qKwXRZu8(L_f~vykzNMqGY1ytWktygBW;>^prctv2@7k?%EI#Q84Ht!0*M&T%({ z_Pqtd%3gds6FeU4KJWS5rv3?_yAdQ&1#(j=zs>!Emf6VPM5OHm0u6SjZG(?74xZ*$ zlS}ZT`I|d@2)P$4z^avPqqa|Gj;WRY{T{?>Baii?S4rl3%X$+I6`zW^KC&@ns|N2Q zBy=}{y@u^BifdJ6Ck$RLkcfd}htBHQ3yTBMj+x#0YnxVhy=cbMufcT8=oj-IK33DF zGhSz?BDOicFg$x$B&QSuAUf4ZzZ)0D{iz{2gThaoCd9*cL;PE_&s zKEt=Irvz)u{i?4+Mev*F)PfX^kPo-@Pv4{;x@eycgNz9MxxZstYIvpVvcM*tma;Fi zoT|WQO6+w(=;`Yy_GOeVm>!fPI17*%@_?|IXnUdDlf=>QCUYv;kB$!Q@+FLz6*ZhpF$rAf)pxIm|L#MoZP4@ zxtl=SM$|Es`ui6eOcwd)nRvA=O!%e1xmW`v$>XxZ&Lx)SkmWqOMjB0&es=qa%DsCX zkB5uZlM{mugK3tuc0d8Xl@S~DNuHBhU}YB52whuXH=%;|j<`iRZ>(zI+369*-1@yP zi_RcV`Hy)dBt>nM2hr++%uF2#a5(wGUmi@zZ;6wdZD-#TLqoKw(|#(9{#AcB4yr1} z`eMxdwbVeUo|j>zGeR9u81&p>PFApu!#>@0@jUBp<)Nh$8{82Tb#R7MhyvhiFM9TC z9vHd`Z_B+dW45lSVrX5#ldlp@$lzSWGIXyA9Z?c0xAK9&KiM=u&y*^P;myQj*L7fm zac&QhHSav)usnUWZqm(J`I=$$z4nw3_%q7H;3Z0VFHKGe2xr_rJ2gJ0`v=to5Dpl zj2Bc_!Lf2e7*tZ&Q=xLm_DW`e#fX3nn^P{R@qJzUwUo(pu?}h}2x~CK76Y@-%T0gh z2mj5^5e64Yf|M0Kmp-$t?|AdJO(SIJpq8!!CH->T`ZR5jQ5$IDRj8Mmm6Otd%JZwi z0W{X}a{5G-wRjJfp5x5gFNvoB2rxt0x%EcJe=A02W zy_6%l1{ohDA~(_=x42MsGBR7mC(DqSS}#yQ%xIJVWgF`Y=|zY`GP_N=`A;w8xK-)$ z$TcRz(|mGXgKJABYar&?m9ZZEL8RC*T84pKyC&NGY6Wy zZ$;M%f3El-9v*SN&0HcVYKN4>b^l0LqhsR*F|}r=`uNnc_z3L!_r1Qw zT`F@!BFpcwja-bKtpQaUfH&q>)4_;S24%%ZmaoUOytP(iLmIl&85VjYh$`BDgo(mV zFcI^5InRrXjrqOfJ@pplMmIds5;1ajTcbQ}>jKIPYXeT(i%B=T*65O5Yu_|}oTt5^`-n|3D#Xx-!FI29w zcHUi^5&&U$UPZx%OAfble~$K>+WmcFWx{=NA_;2$UFzMG!+n6B zwMgw$yB#S+XbJte4&A(a9@C(_i(hxg7hva$M8W%*g5$udJR!Tm*^`+42BF#)vTUcA zULqPVvFXmKG~I=DAcSvdOI;ATo##?JqaDcR5l3_Bb=(PqlVQB_Bbxm2p%w zr3b6E4CUG0BN<2UG9ZzhcUNsm>OLk-3)e`;_ir3Q8W!^J))za@(4Knn2c32!iUr$0 z6cZN$Q)RO1L`#6Wb&6iM6q5}CajNoxt9TMJz4|Si3|igPTtLqiw(#l^hDsJms3xZ0 z%WU+k(hd2Hw!+%e35R?hYw~6OWvxphJHLeGK&7nb2P&pCElc+525XM5Uy#R#C9_eRKkjxl|MHob;}vhp9Lb+J<^-(o*;M zItz<1X>*?SS5I!=3X8>N(O`tnmfuRQKS^k~s*P3@I}z~C#yu~2lYoJ~WkJ%!ZM82D zl@-#KleqHJ&N3Fpw0Du{7`5&*VLN;6U%1K6Z7#lt;D~I&i;tRp$%ooy(eRw_scSn6 zJKEhq`rf(RM}BU8u`SK>?X1D6UGb|_Ad&S~&a}b?;=<4zWmP*vA+rlVr9`%L5rXSj zP^Yk@GHSh)VSHt8=ulY=pk_LWA!yKePAOocj~GVe&(f2JYBHg;&wNOKHyhuz7Mn#t z;q3VPu`pQJNjsGqMiDP%(_eK@-#;6JN93x(s}pnShCU6#&7?M1{p|Y3g+KX}itUU1 z9KCvXW8&~)hv=q%_mf+;nDHGI>6w%_Hn^;m_bpq2fEOKUt(1f*KOgJ&-m{r5nk^!q z0Z%2R4>k#k6*M?m6(?D+Xngl6tls8AzdlSJ-bDvDyI(4xIee%wlG5+_dYqoh%{3jq zV{@N!VW-VX;4cN=j?-2yj=>Pr4Zhc({&Yh=h<1q=8hdUnS{q+XQD5e5wQ+LLEZ{fj zOWm}XpYX^ADu;!yQ5vHY>f~_)K#jZ&ZU^a2kOvL7VMcwppB@ZqHY(u%gg8)F-1-Wn zr5#uB>YqMWyOXG0>GqQsCFoqKvx`ex-sd{udPV7tmy>p{Q>5=2pI{q`SyolAZ7ywi zCo?8L?mY1D&VU4VM|~5vD>wnWGo%F<=XSA8gDaCbyrAva85OC1_T|Su_<5t`w!7m2 zjnsW&6`BGH>#wX?IXmd#B-cdP_hDz{HF*t*S}WG}1ea6!gg#SOZUKQ#u`Sz*sZsv2 z^m8)oVz1dd8GZ$DIi1-+qa~`=<=%Xz!588nnpcH+;=!L-(S)|xfjd+lj-qO9XYp>W zwL_jj2;W`%z+B31Ike_3+_gNaLl;iVBP)-&w|yQ1dfU*(hk{abFuj-PUPM z(ch4R6J|eO&p|weN8>O#LV)%p7w3uIv(wQ$>A}e4ZTqG;#7@gz>Pqto$pGJqD>(by zx80Z>PKv+DJ;Y&U#766VF{~N6_EIBd%F2nIuJ>(U22p(Eq`^J}W(t{Rhe;c>FLqKy zJfNG^sZgYdzAB>0zp?7~SZ(MH;-31<^r|Xpn_#9w%f=%rYFA;9e6MLJBzo!rcL^u2 zE3!P%g4%PTc_0AmC%2BOPv_9I96eKgo_ZHjfxS#lemN~Kc&{3Ou}PTwt+~3oTH0&< zI|f%73Oy+nyuaU{NLc!Hzd5e3l1;01?M%~{Qw^FLnwG&4*u1dR3@Wjj6}7@V5QH^G*j?0?3v4S{=O+)>O_283iH;+m6qf)2e;@qV=-T~)V}TW-qO#vWb-nOn zCuh`n^;cRH2~32|lXIZ-2-Ak|f}-$bEN;@t(_HvjgZ|1HGS7(KeZ_}z&Kf6PI~X{@ zgxPt|wH5pFI}wZvNa^3e(HA|i#Q>q<$aGjYJ8Tc=dnxk06*N&CaMsxm7p*~z<#>Yj z`dvymYCP%y;W6>dI&t~s_&<3!`7Gp$nz93Do@_6cf=;S)iS>Jnu$}H8Ykedffl%D4 z7Hkdt;oRE(i%cZuwrw1H*MOF7KUaJVl`|{fKZAv6u*pR^3#=5!XA;CLqHkfA!ySH= zwyJ>k?+ui#N3y9W-en~&QzVU87$^D$_>VyU;ZJMJ5Y`##b<`G#>|3H`)Kg+1D{4!> zI$Vv})*rc+0XGSP-pT9|_JIKC*4fmA(KY|iHQvZ&hM?puN2%``VdZDI3XyeSd_B=m zge^Ir&91rdz43)BRq_4a_(Hch=PW*ZZLq&rO{IzX$&)KW64L6bKaxjj-@0{GnAGG{ zJDb^B#1a2h?6!&Uw&nB%Dw6P{ZQch0Flb#BnA%badlxUfQ7$yr(_2%6uYKd7PP%=j9asO|%_I9@mLmy( zhV%fcJekXUK6IPFcnN7`upk=~k}iv7_S_yr)G3{&ig?7l!o!na=d$0r_c3i~sW?qw z^Z@5vqL>U8TFx^&QIuyq%g~dqRfSvh{i6bi{)n5Y3PWI^?DxgM_$*Zr&|N7*0-xxx zZ5o_pHn#DU+_gR5_xPw+bayS#fhoYu!tuNyC(^DWaJ9$(`Yxs-<>BTwN`k*b8m-Sv zch=l&e9v`;SmT7gOGU=bY(1EJMXH8K#c*{)DqTc(DQjtZJ3sJr-YQoJ5VZCc;5ZID zVehl0m5ORki9S<-y8YdMr#Y?VXq9nqbpk)x0vrlMZldV1X}nME)u@mmTiOGfwPNFp zzOrh4a^WF+tWMe;PvS(4a5F#=FAp+o>gLrVZ8A;VaZYL1@1SNf{E1^rWrmTfRce6u z4GweQyo>O@>u}nh#KJB*I?r^vQF9YZ*oK+l4Ri(G=6%0O;?kp1;6A>fVpuwomrov> zsX?M2pzU9=6nIW8N->?2-a9h)zXuQ(c20`P@GixAD=|7u7T3!4DJweLN8XcMyo{sE z>GXj9SnB*-n387X)w&6m-4dmIsY;J|p8P|WzlMes$5rZ`FN)^%v^8! zbIinzLNrCvpH3RZafSF5V5C3P=#{ouIIv~>Y4(}&Tvm)5Z~Y>l!Lxl(Z4nwHug(37 znjstHClbVpseZv%-D?rJTw?{N^;*Jz4g2?MsG;QG4Ue7`Ym2g~H zj=-CgDx^7wR|la%Ojggzs^P*JErT+6mxSOGn^*Is86?fUWo^r}H~8^d-fs0)xVgrV zs6d>r{P`D+YC+yF9lhWnXG_)Ovk;md=AWg}3w>wQ9*bis0;V}RF`>=Uo4*d+b_Qg$ zZd)A=;}~Q{P;qo)klBrhO9+K)G4*rsei_U`@kO@ zjlZ&m;6e4}d;brBi^16H5z)ij1EmDZY4* z6bHXn(r}M)0ezggQWHf^+o{K;G?ofLPG`dEsVrheXL;Q3>mfD+J>A5(RQ!E;j+;!y zK|#>UXpNC$`A&`7OlG^2CRWmzH(K1V+g0G9DeGqt=iR>(elv|@X?tKMl)ZL+kF5TiemxZu)z)z)$+z?CimcHk5R0 zx^<cM`6-6vlC7;Ffd4JnO=9_Yz8gK93;j!FO=&s0v#pK3xv`<8k4l>=2lvvo zUwL`@tEr0mwcx9upB}g!`QJ-=#J7aYwjb@^;(0?tDjFtl>R9T+X%wt=0#w=H)&qq3 zqSF1TvK!(tO?n0BD*8&lJf{iwko2I2)K_EC`7&T>J4*}+r6R@C=<3^2bDI26jD1pQ)J>ILMbd$hR z>(as3%D0#$mLyF0Q{w$j#@JL1EXSE&>HRj+ao8cpU=#ye5t%TVxobjP@dL4?AP$JV8Uk&ishY0qIh_+Hi!1@Z4l^A>?lwf#`~% zx3bE^1wN0eKkP#vGsdX%w{tMJAp1#TjO^5@jbd|Pdyhf`M9#qeL_?9G!3UC*;62ZR z1?(!u2wg5(bqb(YXDJtaFjdi<>gZ{LDYq>l)0(Y#~bVshzF-$cT{idA^Ms1Kz%cq2!CtD&Z|jL)g0pbl!j zZ6bjFZ=+iN!w(<*nq4k*Jv}|~{?V}MkBW*4_}9Hl;+$zSqklAY1@9_VS$z2qJ^Z(K z1z3%ewP3VQWmK_}vuF&y8WX;{T~E}bo!=J*L5l^~nt8(Bb`w5U5g(Vhd%nGfioksN zoWncas~`sxN9Jo8&!{@Qs(w<%wkLZDWpa5R~m8aB=!t z!N?9R@l>Z3N--}KK008dCDxtIex8Ktp_uN z7`46N6fl$UH!c_%kIR#Vju}}N6DfIgGgUIeXYoMP+H1QCbP%g6bJhF!H37Fb?mEqk zBxPHNHAKma_wce?`f1%Om$<3mamM38`q`BvL?bJ~lV5c_m>Kp7Yl1ftI#$(=DE7OH znWi2FiK6v=WVMnnIJhsRNZtisKhw{VzyAKHYMD-~G`DkGU|d*?6uWGSk25*C+rbE@Mc6tA)P zapS=WT6e-&Z7@_p_diz^qL!4bfd}^&Lq$c8M@N7J|J5bLlaE@^YG^W~&y$>Kdhb#A z8yebWLuXwF;O#TvwZC?g?vUl+(=-9a@A&e|`35TndhA=G>*&M82~xg(r7`?;=ed`jrxzRkoq{j%Az9}UpwyMqr!==y2AR3n1aQFA1^w+AI(r8O*x z6U>n2K{5gF)>L=WpQd| zUqsq%@wp*&k%qFP<02KQO8VZ3tGM22Sy81^3fL9ggXik5swR0b6!|!|J(H`(j2Vfs zhv>!fY^U5k8L?nDssIvj#*_U+mZ^}i;c}{~=q#x*J!)nOfz7>h@}%(P0D{7_mFAO8 z1$Nc5S5vmL7VyO@QSk``d@ zw0Te{^V6o~QLf_rj8wFY60r43%f@)h?0$K5gYoi{7StCmEwGI`x{wM?9jWWl7;HQh zS5YZpBIs82d(Gj#rIr34d5fY2qE&{Bgo?k|Zat?%DIDkrPg`uua)^x_3_Go`f_hSC zc0d{@q`EPa*V4lLHuks0yNAphLRn@Kh+Hj=+) z0QTG0*iAe!hh2Ty!OKiybh>#JJ?qXLCy==Pu(HPR(2EnL{fJ&j;cXh__#C+!gIY`a zZ1CgaESzRV)mZMG5Au$I|1?2)jccIsYf=wT9nI~0<$A$Is%6m5h$bO|kRF!bo4Evy zm!DR|7H(!O+p8TXvI0>dskT{dJ(@_d7@Y*?dO*XZALk7B;x8FT4p9O32-iU3VuSP5 z)UVC58rA-GyAUSZ!2*XrfkW4VN8X&|^EzHvUs7lb48KH#gV2i`1}REwG37QjnP)}4 z=QYnx66|ujM8=yOIZhtcNWR8bPQ7`Y8E!m~QY=U3x$jst(rs9M82y=LjnTzZu?wRv zF+WPLZO*!fPM~!|SxaIYe5M3zl)^Vp8@jgP@*QI~To5f_KdG-wh}?#1H8SwZkL>8! zPQB<*gD)mTGm*Sa{QIWmRFx39a}=?#3jLik9K?QkwlqJ_>sP=WxP(hJy6}hoq|;*Y zMC|G&4p4&<=nY*O?0=&fTulatg)%TgI?*C%p82~;&cp>6(|+WRowmdXvge^}D)tdn;E@w|3c0hD4V?tuQv!03z#bc&O9S}TCX>*yz;ti2 zJ6n(ODyXrjuMVwU<*_)v&ioNMaB`iqt0b}yhi(T*M3U{(-%F$P11s{@m=>}ewcX!T zPm=e4eHqj%_Cw*km(ZDXGQY@sM`5z)0@V8^>(EWt<8+MsFSkzXw*ka1hs(P1jR!gD@_{M%?UaZ2GUbWeZXY@ z=n4+o8qc}F{b)rE^xH$MM4t6UCQT7XPBZNaoUDA=xejk7Ub$^XglYxJg|hGE)vjN5 z#-NyTF6=GE3zHBJtx;j}BWxDCC{5{8#yu2J|90q;c@qto?fuZuAAlk{W?``$q1lW_=&5_FUHFj0&(4L4A))rb^(x6rO(mMwxc8jGG?eZYO7R z^dmAQB7B;_c~gx(>l;?o#24&E@Imo6w7%vFF^i}g!LCH|POF^fHe+oWv)H`&d{M_8 zEFXctqWuw(hE(avBe`83twDtz$QB7z*QI;z#N#`V?`o5WAxtZkXF6;lIYc#Ae*xIs{Ko{n;hLFHcU-j|!J^7On2)l4eYe{FpJ1Lf6VpO6_ye)Y7GYN zxWQN$!qJd5^^>`q@R@iF>Fy8Rja-O}!JKkCO~3NbTPl|Q4*;w{Q@^ikZCJH0@BVgQmD=TS{q9*S%fr^DYEr*y`j((3QEjQ-mU-VMF(YNfO9NO<`uiPt%?@Ez%X*7_#LJp)5S16<5CmG_@XXvI^Rzp-#_ zsXkWvQ}t^f4#@5&a*YJQDlx-G_GA9yRZOd3VN=95+anzD8en3Cu3R*eaWT50jJB$K7DCz2vl*9tSW#wrTGHdkN$CX*Lj>W$7*|$g zd2dC4)+z~&`O3Ihs29g~tWfqSZf|~<|03y0(hJZOctKMLHOA_j2Aj7Tg;b7AEnzdd z@0m(!c;pSBX)KP1rW+?P9A~v*snnT_K@^qGxE#asGt$#JHqWnzO;^N1y*#mVrLucb zThqIO7s;R=`7`vGSKvmAk@&+RIn~EY**1?gm(p_2?nP2(h6~L5V8gB3jc%0<;dnC+ zd|@_X#`T%NW?aYaX1z#zksSXxDJ`!Kf~5$Je;GXwtoLeP&gh(=%<@-Fh>7G5!<%mh zF*HGcjXtse42|+G3mhmA4a7f9inQ9er?vvU~B!>{VIDK%Du;b-DrNBO)fTSg5RXG74v3_G4%60{n^~ znsEt(F&J<4>jqu_lIgWqX3st2%_>(4VfbmAGY9h`{V$&|KWJ#{7MasFMiQ|{oQ2AE zmRCBP-h-akyShb!F_>VpeUt9hA_$%rswkb0kLo+zDILI)8-ui0&1786-q=H1RWIia zatIp8xc2W*G&^@AIxa5e_C+gAb<@kqjR^i=j3=w4A4_Ts)|tnQi_sLMvsyxOpVc8- zw;N&iqJ!NmG&RgT)7nsEf!Ae13Sw@!pRzPGv~dm3YzAWke~iZLePAJ}ekr>TJuCb% zAc^)nx9Ixj_wy(*$hZu4DIGdrffZ;qk}J6 zvh_%9Mb6)`#78*QM@yM~kF2FMF23nTQl`TNr11Vtk5iULMm8>YGa82pbfKw1G2{A- z02!C5tg7kBs}T<$#fDt5(bY6@i~le>9p3vN+wRqJd({pX@E7#$!(h+TR-nHw+<7fH z_Tb=iF)p^~p?d~Pe%yXC1H$3t3=FJ)Z20x*?Gh`DVtcUM`Dp-?dE(baYpfC=?A^m` zO11DOY3S^8k`gP8V!JW?`m;`Ml~`jHKS-dUULW7GaQT7A zb`{Q7;w-B(p-J|8b-WAb{T8m-phI7|YRH)c z;(e=C~H15E^3*l+=?In`^y3U?1ug^1Q-x%BCVx1%N|ec zK$4~!9DwP5m;W*@#NAd)QTKR6F@%5WgE{!vdWVW@MlWh+^rORGU({AGy`I&Hr0_Zu z09l{$qOiUj#OEfJ8h+X$HR&SutMi@#Ek1R0zfrpzbdTjgu;<1 zBz&kf`K+4cZnKaI7?v{;%!DL5N~>Q;Z5t;~y9B`YzAt>N0-J0P|AKi}-QRL0)1&7oAkSSO7Tc>N4>IQHO@ zA66VrK@(}S7#F%B(Z^n2Tkp_e2PdbawyJBt{a*V{4_Fx;tYz_!+no!h&(#5B94G>y zw+5*%2J6?hJUpZRQUtCsP)*{8ZRe-|#i;jJl=x!yaZ$@J?^^WjcWO7A`SFwii!oZU zaHCT?g1yECK;jNS282}Jf;f{KTJd!@Z@Vucsz3=HMee1yd9u5H$!MFfug7tO<=Zt>-TnuNa zcWMO;KxdqhTE0^MZsRzS()aW+0#_%JnjmtLK zCqWV9smB01yD_5SgXKY{Qj(fivIaTC6@Vq$?o@Jq*&{I9!g(C=F4D=s%>798`d-QJ9Sp~9&WzzW>rKlx+a>l09r~I__;ZX4 zfF(QZRz9EBIYAccqxl}HxMj9yhvp@a1Pc-}G2{A-U{Xnf?HZHqrm%MPzMEArEQ8%A zq#Tt|J@>42j3mlmkjfBC87WP-m)!`mfWJO71^Gi>ycX7*wNk7)BXOY zj>H0;&@Pa1F`5FDC4Q82DMHN5WWXr_>%W&bvwjqf+HhS-;s?Qhf!Zp6IXmZ>J$H1M z{;=3I4u<2~o1Afc!_N!!BH>sv=#2!cP15HwVM3idFi{oec)-%@=?5r|E^;3$vBF19 z+CIJm_4Tc83E^Xm3+#m=oD40!lBz*!C16EhIMHUS?Ah0YSkVoLMXvK#TfRizvt&#t z{{yk|s-~=cTq}Y+ADO_M01(xY$BeB!pHvNCrp~i4dmhs_$I!&$L<9mw0F9h%FDZBS1vr!x{gu*c1JqV7l)m(K7~THJPKGVZSWuRv&Ox@U zayVgr%_lN@qm0%rTxxiax4Zo}b^?;~JC{l5h761mW!Mg7o=eBEq`sHvE z6icErIG|6|y-F(RB+z)vh6{hzx!c9h2?PEhxA4ck9+gW36xu3_$ zlM0Nb*l*i=`b9r?wF~^#@pmFX{9x--NSS`6Bv7b zWQWYD)E@qjfL0gh^Ppm!F!jxn3S4$CTdWmSKaMBPkmaVZY=P{#RF15f`6Iq~ut-(D zDytT21k{f3=I~gErw*H!uCsa!nIHjU1!2KyEePUN!(%7dSR=99IcEq>1IAO2?UFl{ z(utVv{JC`NuxCPfABw{E(1+wl`8{ZMHW_+-yx+s}(W#-{Z=}MD(kqr~-lzeq2KDe$ z`(=s7^$)|iX+5?qU1#~YYeGE7HT~;&`blYplgVvxZu|zu3nOl)HNmF`W9(!d>zC|4 z_og2yW?X*<=#5DMaivhy)D#uzt%uUu#2AQ%P!e|bh;=|n=)=p@fyZ=*uf8pd!_ zKBc#X8Esy+`^>BEiGPZ5{RY6Zo%b%=Xnwzi*PRfX!Yx!C<2pFI2RMxDhvnJ<<)iFO z+>Fs&H@PLt)ch;qoW$IMjEf0-V7%(b_0~z;jp5AUG{>z!{a2I2xWHO+E=VuiV8*Y7 zK9F=&-6E_WO{R^5CCfLN$2Oz5#DdrqVW9@rkEH_4p;X7Mi`E&2)l9IrCs3hjr}r-Y za(2%D#v(R^=&xO^d$V$kvrCxT8)vn7@%E$7`tVdHJk?>V)QPl#sXUM%-MVY1qG0H9 zH#w`gtO7)NhL^tH^-6?5Dk&x;-dak>w|Mr}udfcG85c;m!X4BU4KLhD%6wZ^&atA; z0R#W?aRMEHr#ngRKK{IypU9Kh6KS+_pHCiyHxK~O75-YQ7i~M9&gW#Dr=U-4_v-o- zL2+M?%|W^qaYRGO&^a{mO%czGzJ>?=OGj`sI;@$iimZtj$9L^L{ff#!BhHwdoad{GU_fXNH~n>k&b6XJ&UQd*f1;z*svQpTEeH~m z*%xCjt>>B9!{5=0t_sxKuwGu_)QjvMMLy>c=O!Hix}DC%0;yUQjvbgf6H@gxS`OI#&w@uv|Toj(~dD zKW>?~=Wzc7<6-Ffrr$ zOrYdlQq?>jTRqH;`P88dSCw@e_5~CTVrT&3jkBV{vAC(6C(Qnbwu%SbU$pVogaJ(T zZR4#gw%NxEO@e(c#x+?HcEVhK)YKfC6H;8L*)-#j5YRKpZB_U)y>|>z&;?W zmot$w2`h;>zF%3}T%i6kD1lu+6W{&D|B#HNyx!qsC!K7a+&ru#fBa#soZ;c%wnl$? z@tppgULSgJ>tfJ~%LS~s^3{o*JC7typEd->bNmje?v>Fwe9rUQb-#-a zdh&Z!EUu=vOpvGTOKS}`+-n;8VeBi~!bPvYW4wLIx8E*UzDB@|3wAi?4hd|4qkM?H zaLiVZyQ-*bXm&EH3XLDjIK5|=Ban$i`%MGfnM7CocJTyV&ki(y;V>-oVZo12)F|>sFdF zvf5T>+^=5uyL7}rQCh{^=XvAUB!h{1b5>@LqH17lby*AOXnmGzCRF2&aiCwcx0U}A^5+FKgx>Kd9`+d81==}kf`Dt5T1 z`Q6*xtgQUvikjx`VJz=V5^oaA{z-F7eRa{BR~ZEr^AhoTjzOJsZr49U% z0WirZX#4x3tXHoxi>h0Cp#vQa^^MJ~oiGf0qZ^BcAM00bvrVZ6WfeMw$cW@c_t zRec8pNn(IB6aD7oj_r1dz0;>$Soop##`?NiVbrz3@B+6m0>qKdwm~Fio-Mchub`n} z-JR{N&0uS;Z)$04Yww5i@|>{Fw%hZDI$Nrq;GL_Cg>s z>)hU5c5&^9=|Mk>j2i0eX!uZBQkavKm0MU|+uAoaGyRjWtk$-9xTwelg9smJuPM#X z&dSU!WXHh?e)AU~(?V?Xi2<%$u_MjqRb4&SnuF zf?_$hh;nV-$g_D4*XB6EonD|GgPFa2-TLM# zWnuGN6{YQB8%C#ZuVN4;pgpY|59M$?^sa$zH$h>;GlY#1=53y{e*!EDdbq!{v8JlD z2&4-+1!XlYy`xxmY-VBeFRRMg-K!azo*!orC!oEpb)dfrIsSUf@fShJUwz#({5AU) z-p}+ZOd5G|l0*@1AJfZ*R62#kNxAnsV%Wz5CMPL#@F9LJvx`O7&jrBvLv{aa!F{($ zGU!YG?qf(+uzPsH@T^-<#rSLhpgFfa!}DSIS(~v~Oge=;Nfg;G#rU59KyyRABk~}) zS;soS$Ux_uTaW3@Ul9inw*n zsmIq20G1!_7n#$Cnzha<%0puOonW_XcEcr6=~G#nfuX{vYmr&qh{?JAMf-RA3m7hc z66U7+%lC_9?ft?syC!M#bcz2T0E>#7fMZBZaiIJA0NNY@$4rWC{yD*-;@L(P_u!ut zY^zR)t@^hDv^f&A`8=KXn}1-@2%x`+^e=c~9Dp}uKTC)S3%wKdAR)C9O8%ObRm2cO z3^BwILkuzg9x%uR92SdV1B)Yx7hJ>;Lkuy*5JL#YlLQUXSu(A3;#^AqfrnYBrpzaCLMJ(#-^Cbp|MCGv(B zsA1r}mo>wGBpD+MSCEq7!ZtUy2k(n<+8LiKXzvJ)a z?(Xe>JLXwwH|A4je_^4UvuCtF_RCPFUj|gLjIUr&?5n!pvofe}cKn^|e0@v0(L(x? zVdV)yK4DqCI8paa(jn!~)5?fMihzc=`lo^39+3q@1i|zX0Ishr^Jwn@3WKc-3D#OZhi5&t#H!sv}EdN zL(Y@C*S*;F(utaCui(3ur^SHpdd1y0DCT7i_^vYyO@~yZrj_CeWRbFp1!Qqb z8*`^h@69X~0T#aDS&)xML_QS9PfWppR6G}HfFA6p?lq`mpt@lJ)9NB;23}CV=fS?7 z5qS{oT!}MSnAW_Mc%hHtaeg~mIDa;Is50rcU)Y;Y)Xa;2IiN!;)6+|Fc+#B0_-Zk6 zy=;g1c({Ath)R10!OeNuB}Y`kLm^RlQ=-6j)cYYPIVJ>rd$1jaKF(<#`^2e)7?8@e zq_|m*d{WennKlk}tSK)kobQ6CZ#xjAk6gS#9;!+Xy&9I$j+l9y1RIo(meQeBFJ6>( zVR3y`=_1wY!cGeLjD>GX3%TkQp3{#eeZ(+KTwg_cY_KoeBax|916azGM_5!;Urp}Q zSkTBGSG=x;#AP>)5I&ue0ZdDF(gQcW&Fg;Ea`N!Gdd;5?zav`GXK|Q`@xJEgr*Xt91+=UjPl$eGUa@~Rq|+S)oiXshhrxK7Kz3d8=AS*Xeo8x>`vi&5!$ zMY)Lqw(7Ea7t^|Nf(fE%^}z?^>>nU;UyrH(4VAYpTdH=g8YvJAK&8*=D(`a& zOnAdq`ktGSqN0gk)_}dues|YFL)FMN{CRF+PEw$~mb{+pvo`b`w{wH~MxU{E z@`-+)59<5$hK=$rliMH0c^S0n6AjP&kD91%U$IQpr%Y6yW?EyYsj|bp5#;2Qg$T7_ z7Q5FhUcB#C<2Yd|mnZsNn4_kukxSU~9JX2x+6sEEDXl1xYW=Z?S%kW9%ROt^6*Y_z zKIzDToO?x6Rb5@c#^5KuX}zZJTXr^nCN$-oj*8yVoAGaoN(x>^yBI1cnfm7r;O4rJ z6F|O?IcMYK9r-M;1T=D>o$79r;CEbeve4BLPTFcl7w)EH7v?12bktGQb4hMS2quW4 zH{CT?b&Q6=33JG*8o|-0YC6v@O%YWp5}+9)tfkj2S)vuh_}J0c|)R5#_Oz1kj=pvqyapt>wVeWZ=-dQiWcHT)YQXMx%M z&_P>E3k=Fr9|aivplJThd~`%(THwh;>XIv$t9TYd&?4>tqBnj^ROJjyiJ+ zV+Wv;Pf)e05&yqWhKfu%2kPR~`!d7>rKM(ap;_3(I(w;rgL`V6%+ zJaQm{e`66F?l~xKTDn9#pbCPSD~2*gif$dz)3fu6ex3t*#NAT&;JJs@BY2KSm_uoo z4ru5(`agVGSX}rj=F%Zm6%*groyd<7xc>!AG9Eqr$ZY8kt1TZj_d-WT`51U$zSRMb zCJ5h?_-QH?05BYLaOuwm5&tsAMQ;pH+i4yBu783+rjQA!f!F7ySFF*!`5r|Q^dqq@ z%u;us!s>6nQx9%O&C&2lsSeT(F=e&Q?HydS<$0^GQFbpJVjC0~N^;n?Y`bGp6AVM5 zkgy}AUMeeA>ju96f9AeAuF7TW|DWIc-h0lgM-NI$2nHxp(%s$NAR&z?D2Rke3nCy0 zDxtK2feDC8NC-%GckG}yu+!i3>|z5Oyw}6|+&h2qVP>!OebzkB%y(w3Sp!8-+@yR{ z@wjqW4SWTSgS-iK@r%!Y>?eEpfQWzPECu62HAN^0SSEk%BY}S9CBn?E8c_|QvPSz^ zV{~h@s$pbV&36*&&dwfSXxrOFH0aiwYDPOK!OfKh$R9th9sQ+edTDia3EE%iA$nZc zIj?tamko;L#yb}3>XK}~?~{vco+ahILwCoi3)-Yq_s=e`tplQZ(k(fexX$Ga&2PMQ zsMc6jPL&&#kR>#_?WVd>cx)dv4#R=o zU6?EnmS<&G39FjHb1K|yNsxxLWlTx?_&fqYwlMMew#${Q_U#E4f4!jFVl_=7N~#(t z9%hW3x*a>7@5s->WBagv2##0<09IUAWMfwet(;n-GKS)2OM^9KEMtn>$L8>OC%?qI zUdd{M;th?1zKitmznznRRgvkC$d$73?GrbuHBRHSO30UKG8tR`o@}F~DS7n&_RCS+ zoCv^jI?Kvqlksg3wt|NhqQuUja)T<1`_~#Tf4^(14Jg{TUoNzMkFRJ%yl|0qNdEAZ z{2sR#hp2JNUVhyNUao`bNzfIuO)Br6CVXnWnYKKvr))BNpj0o2#z8*b(3P`{e%CTe zG;(>OyI)od{$d#H#A6pBHeTzr+I}ehSu1a-96P3b{WFEJQElhrRjuvP}*&DTEBu2CP(oN1W>3tQ20YWuS$z6Wc z1KqpbL;!B6zJg`co2C)?%Gw$Lx8jbc-=n7KMGCkpO{w;}0KWZy$cEI6&hPLbn2vaT zi-@`mKwo_C!5?wV;wwI1S9{9c& zI{(T`#VN6U(;4%!;mtrb+?sjqOIMK*CPQu5zEmE5&miCUb5&5K~@EbG5jeR@{Po1uyarCPSCNNruXca zWqYONuC<2q-82sox<3^t7#D7Bs=H%!j?9_XEB!?n=rt3&VdRwyx+7kLQz5u~0$6+k zj7!5dV;Hu}vm;tkY&4yd9{`$Y6n17@sOCrorb9BJ4aD&k2hX$SpyhIWJ_=r)i5bqa z<~ePex^Y!7ZVf&$318dGF92X%T6XD!kQJ&TQO!|`%!g!dd?Q^s4bQhZPIt%AdVTywLi;alDu(| z3~1yj_$uDWsFoPDqjWOC)nf~2!m~cM=VCl%_qZQQdRBC2l0J`eKo|}m?Ia9Y6Q;yLFLCwL5S;Ka;O1Yt39ueFOlqXI&kBe#a!TtQ zr-}==Hr?Ab3M0=X>(w_DIGEL=>&JH5%KP^VX6##O{m25@6^!amvywIn|JV-$XCusL zfwQQ9NkZ+&0@3k|Tb~2E06~2vj)aZ?W}F+$usY2wx{XuqUi$-FC#RYUs`|g}fvls) zzI_B>AvR#8Tge!Om-N9leuQYxbTM*`Pxg>uXOP>OaUp9XRZlR8`t)Q<(jP ze!{nLU{t`Z&GdDT!Vo0C(0Xl{@(C8T$l8&)y&E#NGA?xIJv*0-&N-robPMCcEwn!k zw$L*33XQoHdD%);#X92MAU^T~x73v8s&C*F5FMWwcimM_UfDUVWdRJz!7X+chFEDC zItN6?-Hz}!Rg%&4%xYT%stAlr`BIF#rM0z%zMLSBh|#So$m)OkeqhY{3Se|{`hV=` zJzd5>`7V}hTp+#LmTIkPpHe$q6(U7zxQkab2o@v3>;>?>!U z!<^Q+z4+S{af_Ay;`B##lUnCUJ`r?RqQ-HVz%Rs0lktMEV*sA5jB6X{vHN;QX!yN~ zr>X5%{G>6+xU3StyeoW~lld_Bd1>>+^4>FHka1a4Dj8oUXLwtEhX$|M6q3{l2Zbee&1A%1}8*8cN0m6bk5Acy*X62bX?A-7NVNMt3J^ zbIJvjje~p3Amg%5{QQ;#tBC>@QPTrEO^4*Ffyz*MrbD|hE*#{wy8r{1<)cn~cjK0- z0;QPPbrQaV*G}M|Pwh`JNCi~%v{e^B%gx3cU}>*Y+<}bCHnHqY;j`R_4|5BFhgqT+ z9|3?Kf{a|24?CdvHSE&YAQ@&3o%n{?ZTDgTr2Ls9H=|TQc{hN!5RZ4WFygy8o@Pv) zaiP2K>YbMNFBu_Te7)A5=Ah+}RMA%%uE;{GK*6|hkT;$}Os6a|+wfO00K_;^fx5 zRW(U<8xi*0nU7ieYFS51P04e>$b}_MV;lEP;vjFmM43;Sr?zMetyCOpM zC>&$f4JD>Qet2|PT zgZ^iX%OT;z%V&jo;73u?II=mmitr*&Jha?_aiM$fner?8z3qd73nzea?IdjNgSQYf zol;aInM5JW1Ekn!Pdh#Bg{*Ef4#>D16W$X<nr6sPvWh%}q5QUw~Zz0G!`3D2;5!EE}qvYWG^e#t$q6 zm3@o4XMwfEW>|>2SY0{Wq_4vZWJ15zmE~^a6kpQ*C0hF=(=Lo_t>m&O8@*z99hpKQ zD}v-W=uSBnbWP)XWRsD<#ToMQ>O_7V+Dq>^$hiJEbVke3)#CzKJj}&eWkMTCp&XkS z7jCgCLYtS@AiA_|aAI;|s5!@3Avo_U&i{Xshi>bfE zgZb+PJ(Ov3f2!QOa^NVq>Am?x2F%wo@* z7*|t6EBBzt=rC`4BYkWCM|I;Xq!lry_pZ)ysjFoZl%9X;jB6WcGtOfwVPD3Ve?IPQ zYYZ?hrPGq87o$=$Gg4!G%oG)juRUr1Nf6b)TL8wT%uQBu8C2r`xDAe1g8CjV%Sa>S zS568N!a?(_j?w&1Yw~DnZf(1)wXO_%b=&xg;l&DUkPFJ1z=n%XCzI%B2x&klt5Uma8h*TT34onhVAY0p@r4&QHr}V zE}(aN-`#RIH?ndI1bWxU!Pvn1>ci?${5AEcrU>~XG`t$trnXn25>xKp^f6UbG!1^y zJ-?S$1{jwbuawD!h?I7pCvN5x1=Gd*a}=*7fkb*15RP1M`TcXywg} z3xxIlwx1NZlm!R>a9LK?y@23{ zp+GrYdN1mlyM?~K^`-b%+gLoYpqryrkJ9p}Ss2?~j!3whd=uy~CDXuX?Zl`w%u?Tn zcrQz1E4ORmq-Ra999lpUg<<;BOnK$5ya6{~(9Jh@kOl5hqFZ9r*mtbmUe>#_Ty*Vj zee8uJnqt+rFs{u8DE5_?bIWU;-b3d&05?{hgN{el9E2MWz`bIwqGTHIw2c&gvEGyI zre_yh+5=l@zNPt7#-$@DYwRAHl%Ad%>uaT|Z0wueuqAG0XU2u;&#(|s@G0tnfE$Yd zP0|(GK^TBq^B9BR#kT`c0-*qwElzw)f6(fuv`;NlV_bT|vc_(BQMY`p)TrRXjFhF_ z4D_%x(6_o6_o8uhSCagf3JzZ4udL{n-84xUNYSlvS|=EIRLqQQE{De_16^RLs%(1g zaq}*-&~BV+*ILZLLu(;L?-!jjTm8~FcCdV0MZMq=8$9DWz~lC21RuDDnYgFRa7Zz_ zbuXg<|7t;v6kd=P(vK`1Tp-Rv>pc(cl`Uhx3Ngj;CO zy{scHW8@Wa=kDzQTLob`+qh37r1N5!!TSa$#4i_*Zwj^iIpYFAd&vsxN0#)@BY(PU zLZvYlQunOjLu2pQ3=|5P8vdScCwN@I@?OhMA=STBu#j(s1;vy~ga9R}E#T~eTWPtY zf0F5}!=ok$z;&>&Z}CQ4G{617!^W9Z7}t7FmZO?g%%?$M>OnV0QD<`{_x_7^kCYbV`6m!k*rS$Xe#JDg+8D`v4-meGo{>t^<9A{1I zo27lgK!R?$xs`DNupavxO3NC0geCy6?3BgiZEhC#Qx7)ZwK1T`Ma$-9Ngo_k6!W(; zF3f0wqqy3&cc8va6F@x}dwabcm2ubvgxcMea3 zAH_)XBNr)dL9>LK3CfVL9T^v9_>ql(?8U-vJmK0!80rTO(SFa8pIy)<^(z>*i-mtr zu@+$5_dkd9lG`VjwvEexsG?1xT&1}MO$nmNZRUEaiwiSuUA0k>R(DSLI55A{35>s3 zFyl|%WHqn8>?AE6kd@bE*=hb@(Fl58*E2B#c0sbWFt^zGhpkgP4S>JOxPY0`PDsw{ zNyqfoX%&Per+M|o#)<~n|M;SzUF7SwnNw3JlmFISBG~xj@dl@_YmkJhAb=z9iz(21M zbgSY2h3d~fuVNZiHiRc&{|@6qwkK)}=*88~Ajph)sVY*JpIbfnbyNQo1PaW$wMmwO zrzJg}3@m~6$BtwgpA@4Vb+XqH11)qq zO$*TGe{C!8UoChgm<=V*owxyRp41K=?ZqKsZO#M74o7gy>cXYcNcR`8nz{&H^ zXBM`sIZ^$&&T3|nr3AvbBjfskMXs(a%|oXKK80(a;Z_bTnZO6jVMiXCof5nFdYH65 zzZn)5`rP>p9kceGHV9(9KhIUeJfZ|73V2PsGp?ntHw^@N)B|4va~jaQQ$w|PZA8vU zx#xr7|M+OK{rjZD8b~1>=ut2P>ZE}Zzd840hK z17I*YY9QZT%RJ&k4-9X{ZH#NVI@Va2PyHG=vJ+vQ6XTU~&F!M{`t8ch^n|w$HZ|}i%7C9o$^Y%}{PrmbSrsV7a$uj-budzku-iPA zZhnH1(>7-Wy82_e=9Z}_zqROdZY38UyQ!+RLQ zg*Qy~bs4sU`y_*_M&?OyGc37|aN1<`%q|Q(@zS#ldjrhEczi!&T=p9#~2nN0#-&N&Yls z%?$+(n*9<1Uk2gC0HpDUHry;+)|nmC)Z;{d{37GRj^#Uw$aoaAO>ZUtsO|?=GRBd_ z$TILBL(hDStV3V6OoOv3=4Xrx?2*nlw>?d@HGv+ncXV{~y?H_HC>@veqxPwdhrpuN z5O^b3#F~i;C|!QuO~ncPt7U5(7j6wUHcs}TY-U_d;Zle9pR`PQ|EaQ?P`;LbD*af6 z&*g+&g$}h>zq%jhWu-21>NuCEX% z{$Kw)7#9}uHPK$jEFh-_7(Ym#0jB4^86VeKMO|YvbFgUe(f#v(83Z&9O)T6}7Dzd8 zsFmf)U^yY1%ub5MAL?7EG~+>0|EejH>km1Yq|Hck@_Zp=5eb+l%YswbqX<|JZ|d&d z7#9{&eaBJP>{@p9@Xxom{^iEVx)2HaKSlg2XZA32!8Rq|LL?df6uw#kA$Sro2-sL( zM{7%KduL}?-$+ZME;Ex_Ofzh&x3DM8;_T_O3OdH7gdX9i|Lq?P{OShA7Or>U^DEo* z;8yEz$T8822Y!Jpp#UT2Sf3X0cri$20wlt^A;m}|>{mWD-;rh|$StU#V?@%#@H<)4 zSIEkiNd{FPF3&i30An2|#%`mD4k9iEKLucLbtG@1XT*T3ISj?rIz?RJXxka|K7 zbjJbguNLIDP?;l#gnd7Q=ZjDck&3K`M1416*^xu325cbdo7lFIi0Mt#Vg>Nt>xXXO zb?2r(q!vFiyG(9IopE6&a&39U+zb1_Xm(6*hK=wUL3wSG83h>s@1G2OYWjc~lPYJH zR_ddajvf}dQbwM(k;AD*?DQw?@&{pCXBSk%&W$0h>9!&iiZqFe^ze$d=KI)#vRoaZ zCTV-W5m@u@9Nn_o7@@+(D1NnMY<^onBBn1%kK-_d?%l2#lGADR?FBwYTGd;FQ%k7E zXjKkc5ucJl(lm%1zHf4jf%9B0$j7h~`S$!0?oWW(0gIQFOhpzy6Rm1&DsS^pSN zo7_1~rFOGJwC|z4IIp0*mLbuMXPNf>#=xtpXJp}er+kXyG!YoXrXgi}uYO_=L%0YS z`tKSXr)AJd>L7dLR^MF|I6|iy(=yhW=^();B&TI)Ld16j#HXSQ;`=hYus!deI)R8@Rw`O#a+>x06RAWwh z2JM6m_uJZgZ(&w?mFUK?`JEQxzrwh%lTTbkrCoDdr?#fuS*eTBl>=arWA`!r+0L?O zg=94hOz`uurXcelztf*l(lIo5Nf?`)qXr4+k%@t>jUGw0IL)CNQa(h5q~TVZV|6%L z#k`ApA$!Jax1CkoTqqeA4q9Nvevs8NcVr%cLgNc^w&7)NY1a}Gy);n!ZE$HFu?U+Q z>1}xzqQXKaaOpi{dAh)w;~QD-U>d+vkQ+)a@X*pK$F{=24-K;nnV#QR z@Zsj)dhoHUM%K=3Wtlj{RPUx9@d9irdf{1l9nd2vGzL3W92fnpgCZFtss-EzJL^+6 zyNJS06`bQ1a(y;HI-Li=3Ibp)Z-o`p3|U^9>TPRnC8=tD<|RsZQ1rsnFQBHa`6IwZ zVX!3QpW=blpMj;iDGW)Q;r+qKz9f zucuYbY;X%i@kM@mI;ERUvw%`m?R6<88u5UtNs>DSJDFj^4ni1*ZCyJ6cmpJvXcZ%y zNGIEIkX-BIwComHl#Qt}F6`732R;#($GwCT1c>R)X1pZM@TZ7J!KYfljB`lLdTodd z^C7Wo72^vVu*^7UkD6!oL$@w9QM)vTz^3{r6%~3*Fw%&4B>V zd}QQ3A9p|~y{yxviLr%k6q)l-t+8rsv}Z5AADP=WkK$IUf@N9g6~e!fl3n2-dFMD8 z*v&GBXA!8nP&wAaVpqS6l5$XCCm&jzpkp_C2-ISypE{itbII=_s;4F^-;Rrc!z`m4 zXub0Fx*RLLLKr!16=m(_7-z(EUpu84eWZ>Y5^>8dt!@U)xV~XV9PIrSIR%gWww>6> zuNU0P*ARI&2Kmt1v3W9F`_qgZrsf!a0Y$`+^r%K}A?KUKnNtIy=9HCLeuRD83?jT0NwU zS|~QEDJMLmVr-5=l%F^&Q51H%EIF>Qd1k}Gh-#15KEZI-qo|)6m-$Nt2P?j+r0kJH z3gIIB6Hy(i#K9@hYyg<_39QPO03Kh8{Eg$U;Cl_|y0%E90PVJ@{#v6v8Sd z5qQ$R)|Y9{NyDm}(hhv4Gf(Zf`JJ8&E^K{OsWUEsK_%MBN$Pst&Ur%u9i*)pRz=9D zxzd&!eBp9R#S}h6@a~OQU%B#1y5@Egb6>5GJarbJXVbd<4YG$Fvs&cFFX@uo0VgYQ zIZMx`8Amunh?{+W*}yxWm{}IL)RJN*EPJ7#14f9`UTMp_?sesE`Q+A(rR`otOmC7t zzj|=-Fp+m);gw;^Y=^neKOF=Z-Rv_*-m^{x8)?2)i`)gITyok85&QtGXRc=%j%wc8 zPW7mG6%lRuApoo|6CjTSCLk{%h9mMJpNN5bYkiNbxM|sRlA1v~;+DS0>7L+Fjrc;S zUhmJcIm5_fm)*H{AuwyNJp`p)vRa{p_`CJdLU&=NqnfeR)64kuyYDZGFfz+uFB>5O z1R>C|>D(d2c_G>hZd?SOW*ndT7q`@OTkqsC)$q@w1iS;;wme68&ShQHIZ}TeRU>`1t9$}UXE*&Op?gFrEdFhX8Cp6+M4ZsS$*Nn?krSeW@nGnt^ZnNTILruTdJu>A4;9x(U`mbUY68_D%jYijU*K zEjK3^o;sm=LJATHaz=t`#go3N~(vHSMD z7q24vkBsiDivF{@GP3`w%+G}LSKaNZNlU;RZ@{`p;evqe89_Z;Y5{t{6UpWXd%KN^ z_U&ejp6H}SPhpYRzYV?B9Yig#f8EBDzDle`CP0A8iy+UKKUH09XHyH>FI}zPXh^v7 z#B?8|zF@~#Kx^yV_E4UwkD-+PeqZma6OjovBa6iR_V?h*raBy>)Ci3A4+z>Nk|sci zWRj|@zuHbBg1X?Fx)Q#!>yGL4Un-`dC46MGKD=-qY{BO~r<+6vp>r!^_i z5#1EyZ^%7o9F<)e&CKB(yg}CJ=_KEfV>qH8#;G~s@cG^Q5j%E@qaD(Pz2&k6-%mj4Aek&z=;=f~yg;899*)RI*j9Xryp@XQX3|664)|BYE&zZ!0?7g3O~4zF$} zA{wgG5Qm}aBx|1rUYL_AK5?VJsJ>Wt4-MVzxF)B+!FK6-^V_NXJSH=pWWpX`fIjcs zrVMI31>>N=*M5T^HdB@cfe}so?Ti7)!!~Meg9kk0z%h@6Ck{GAeG}x)kdM3US~t7% z{;nF+6J>r`>?l@c5eRFjl4EA7+_VX>pG7gT?jq|I^ckQrdJy~NR{o-z)*kg!0N8UU zZkB+a8C=k?83v((Tx}NfH1fgR5(iWJjh`%ZGauW| zGPmIC$~}WPDGzY?@cnn@H2`;}<(RL(>bEXJsL#)aT?OHomZplv*d{Xp3(aXkNJLvv zjl9{_>%E>GOdfWEt?FQK@;`Mb1*39kio5ADtbyD^P;@Tv7$0(vWScHwqJdh^)wDG| z$+uN$DL^RhO#P9enOaOm;o(1P*K)lWwhWTmf^==EsZVHV?kBoc2{j3orEzKk7M{b1 z?v&uTsI#Zi>c&b;*vn!V{#;$T88HizU(&89G?YN-cL94pl}a#XKr{a8i7E@AoT`8s zWFMFsDn?ZGdF$6p`-&o|IrS@b#HiPVLFlrmBO@z5w5f|Gg$N5_H`3uylwo%2b>m$c zSCf?+xP4hZJmQgw3$m81mWM}Dq_=LLvkPoA;(Yb0shQMY2?Z%8*tMn(E7;`+q=(~53BIsPE~^|o1d>+3gvZdE zgSpY;k9VxL$lTDCvBHQjeO0G!_Xor+mWxmuYGu9kV_U9;#5}jB{9>zi*YCGmJ3uxm z8sygn6JAO~-QNsvDe%2dLN}rr!GLI0$|@`9->mNTGHQ?iM$)S!5EMk(?^@YQuG_3h z%uuzPNrPdyzX%s)1Vv<)<{#FhZxQt&aV3$k67&Ath%_3K-{XSEHc*ACA>T`Yh<)c= zm{%29UGC$+VrmL&^|6%YIU@U~KzJ;-vd>UPNS&>IfC0}~mD3Pa9J{^1{41NSTgf5% z6#Js4SX+pI2IwqisMofW*MiDsXqe63ouQmXIBDgI2A(MF~&7f+0* zfJ-@yJj_1v!WA6($uL{OIR#mj#qkMrSjXNPj?xmh*82$5d9V*0@+%9hi}rp064H;~ zM@nvFcAmZyod5n{*Pc%5*G4gGJag6;;CY(6CcNtE1Hf~0^7ABlrP)rk z1r;oQTLes{Dvt=A=9d~O5@M&3CV0}epjVi{ul!V?{30Mr5|Z@0bQKUNL0<=T#~wgm z`dHRmHnX`O^GSxYApf(#cr0++-vKJ>%3UhA$iZhckzcB!3b8gdq30lw}Ere{J=&SN?ku)Ev%TU}mP=nul?bi%X^Bjejs z{19t`M>{SFwd`b(2*146Y+3y zg4jk@<+!e85%WTJj%bggKml2zGg_6>jfn>Zg$K$^4->O#czTl}zFj(K#D4c-hEBp_TKij*fKkfXDGPD5mJa~ z1J?I5APHJj5il_KVM+>f^W+_$h_f3JH6kggsE*S>ih6-|R|imwipU?&!g7VDkOm zLV;K{cF0lD@8Xge#*ywP)19bis8^3>iCtf=Sl|dJR|ujXnH7-@i-``A`O#3+28Axy z>rzL!$L+_%_mi*@J}CX%cYzV|yi){~)kbJh?>SAh_fNJ7g9$HYUTrh>5K7n%QFqqM z8;z1UaR&`QH7_Y485I>59cgJ%0}_+O?|5UKmFfmxD(rZ;`CD4#3f4)=$lv9`?j$u; z3eEdFqGm9V_H2*F7S~Jt)>}LxvYi&m>4!1z5nYQOr!>ZiOfd1$TZ@dk@i3Pot&2kB ziRl@rI8)r|T2&S!hw2QXO5pA0DCp_BJH%D>c|DB3P4nK_Tq3KS7z8Z#{whJ}a&`4+ zZU_c;psb>}Yxq@P6-wRN?*{a=V5=1Wjrt==092vYY|%VkvB9A{`Dv9*>QEtiXbzOr zQa>74Ap)<$YQknC14MCUF+Ixm`8`79%2t5%rirhN?AcA<+1B8wz;?YBEN;32cg$>( zz>Pz7KaXt0L7M^`zA1{-g6UF|c0Qk#im0 zykf{%9^#VR;G8P*foUNxl8B3qkvDhYOmz4dn5d*gYBrveeOQa;MZm!RPi92d)tAy` z9v0@&hz2ih*&mnbHqfp22AGLT?QoVoNGXNxanGj$xaCTdSNS{eP`RFRY{j^#Gx0eE zeyM3Xu?Q#zvH%quS5sjO)p>d0W($$yQkcxVok5wZz3(NW&$83Z(J{l4HT?RS0Tubd@oVqr~P&+HH4B123}xn zct~v#j?ns1-6_^1op|GRB6BoC94<*Ebli_Hpfy+o*JcR3*#NgM27E!%GLkaG|zi3G=Z2CI-d8FUV>D+g+-TGYWTvpBhX4YOmfD8~EIyv1Zf7g`0u1R2| z>yL7)>oEpMw)rme*9a;JL7c&{DN(j+O&Tt}zr1x+iuR8M1nd^PUM7NRp?uAJj4X#k zc1wIQS{&{rg~RjYD${oqc|i@6LVca$gIa-bwf@;D7y+stbEn^ouIUS}?fYzY=$M@K zg3>YpLjpfI>ZN3wykMlgT_A-7a$@!9!d-&4C3)fQIf{mHJ8ah zuyQKY2iv~o^L~Hiyy2!#nDcm-|8`|wRlgrUsWLa9avQ9HL!K}e&V@%~Z4aH?rAwQ% z8u$3RbR1>C>yfd~lbAMmQ|`O2{(5zvU3$pLIq?l5f)>|Ph*?T{J8o}_%0GJ|;mTBg ze;F<2XRbP~YNgNlOP#2;BAyzDn=V;4<^v$v%~(laIO+bx)Wd?8HEx5LLw*%88KLIo-cz5ENwPM5=Z z<+->1^%61=VK@xrrG0&|k@{6w;eZO2+IM0P7l-YuDo=E{D-_0AJ5B_|CF!(-PZ zxpb(s>7dTm#`~UAevU2+Crb;=MV6Y_>1p<7>vxB~Z(`2F69!|sW%vyUyuJFS$$927 zSxWTn2`~x97MpIT!8>fXw#26d*4XNjAiCALu*jAxWqo2QW(ohauB@tWr9^(py4MJ)RkO=gH(v12NEl>CrUfP*jOeaqLg>Hm*F^257P~Dr88Nt87r7ps zvmZ-8f+5I0Ri6tdt<~9-55FxgZ|}(?ULMz>h;2OnrsIv0kdcK&;Ipi#X}Q?^urli1 zCF>td?tWP7^}eX^bY7e;F&a#?1{?+?%?oH37dM(&eLy?=MfO=q_q2%1&s^)wZmhQ5 z?kbzDbI0<~UjEcAqFPl(JS^y(Ivt&wJsn(~t&Hi&Y{f^QMVVNDerT?9I6_+a@ifac zX`O4tJ-{=s=hb~V{U4C6*4Vf`-#ko&&qvL^@7iv^ebpu>BHyBcwSwFy)A}8Cj8j-X z$b)iRy?6F@eT;fFtOH+HCq8&T^?LZ~J=bq=!pw@yQhw4S>S0G~E{I+hKE__(U&0Pg zXy)&xQhj#b2P=_(M>TmxEZ@M$*{EoZum zHjxE2JvTX{hbqYTJ)nX{cptO8A!ESJ!^z3OycfEfQfQZ626881hWq;b>7@sM;gT~YJ%ozo5yaxFfu^M&Rq zWwa*~PAvJo^8Odi>_bp&8@R8{1#Z2xA`)SY7`F=gH=E)Vb!)Nu{x8^PzpgIdBc^Vc z`d>2i$-`I;vG$tzO*f1MiHUwl|9YHNwYtWsI4U8qL(02XCnq}m>6W;1=V3QC=mYc+ zojyerutO=##07*JcETIkb9r87HCdFu9aO4|vet52Sp(qsD>_`7MFqT6F+w1kRiBe_ zof;LFqxuuJU9v_Q# zYz}%yPjf7rWBd)WKwdvbI8to;(AHe4Z}gq=?WO|mVhTfIVv?i9@B987pe4B`FbsO= z?wwlAj~Rny2wSWQwqffI?Xlb8_tAz;ppp|6&g~1;D!Ib{b4#T>jnXvI#^_8?) zMb4N7k&`=Q_|0>58nrq5y`dqAKsZ-Hp3^R8MG%!A`w;6&vkNi~{sv8MDMQ9VLI-Q* z{qwYGqbje`#ocBJn0Nn6t!~}su_vk8XPrKzL`6iKiFKPdKvSQ;m)Z_}{TxDESW)HF zF#M#AC3c6$#@gK6v`f`5Iw4)3E+^MMImBzfL3d|=m9&?;wQH;D(TxM#%-!KW_)qZU zhk1;K%~qXb?abDJ_wV1AZq`&)s%#GveRs|UAiC{>kdG~=X;=Jy{Zm74NjH)xq@uWy zUv>!hUT0PE2KZE;1=0CObJFZ~?^$(A3(YUl_C+zSevkej^Eema6S_nsoHg>BF0uj_ zzQT+nPvNqq0`D*noPs!4S-hrC@gjZF=Y|fyQGi*A}8SARcMtqRLs8k3N+^ZO zmd;}amG=iclcz|VSFZu|Rz11`%f9M|=5uEqvgFB ztlX^ed8%LE6!?DYw9cJL7K4op-3+dtxaA(S71_e=qsZClHTBb!6vZD9yc(n zcZj*&A6r8>(b=@Nr)w$hgbo>DLkHO|*Q_4tFH4&TP3E+8R7Gl+esO6}eQ9b@Hb5ui z+ceuOj|bs%QOLv)OLG<0+mx4>i||$S)b~)G#7BNcK`Fb`nh|DrYXS+3-?8d6uCJ0K zDekOquWP(-S{7D~@7i=sOxX#5ob@!S}<-*$Rh8sp{G%E$Kn zl=^Oy&6{yBuT?+xS!O?*C>~dqqLpE0zD*R4+`|b3bvL5QhU=j%`#LW&#ZU87Dbp-{ zrsaqDl_g<&5T+IQ%KqHI1W0D|REbUf=0QM4*<`opyM+ize7slnI%^Y&I6wv`AG;E%1Esd^R6K;xKkOV{TfpGjnVkoalMa) z6Enn)>~S6#%uuS@NIs4UuIi@nPu@mJw?Dg(&8!7-MyK8DsHia{Jlb1=YY~k9{BWxG z56j5VQ6p|@Q}tTW`(WqD)ub(ghu4Q5=aEtS#xO5Oa|(l)er8~IeVE$VB-<~6ms@*` zs_8|6-qH1MV73{@ubz7W7nmDbf9<-ysPc^(BG1e}MavmxAlb`d7dH0xw&U$>qGmB` z3u-y-h?m#{nIJ%Q2yW9E6^_jXrT9QzM7oD1Q}Zw4`<`JYZr%0TOqQW%jc!aQlOOvr zRXKbs3}qRk)DV9a<(!!OHF)ib0KfKds@7lQI{nydobOun_&rPRbDUFsJ^gpOatS^| z<0ejHBG-@|Rb>56k_X?n1Cf}3LAT!Q^@o4(Zd{ISHP6HQkZu<#RgInjmq?z`;D{AW zM&I!5=Vtje1t-`Ek;T!4?BG=$gOI>NQ?`et(`qdbT_lSD7azYqZ$Gec9;{-!O3e2;5cZ6gNO?Qlwe#w$ z`yV;S+3+xYg0TzRbH@S~?|~9~kE?e+irP@l4T0)kYu=#Kp#aRTD+7wZF*={33k#ml z_T+XOrAFYY-VezGh2pPJ&8JlxxQ<8>IXP-7)M<#4w%%J4BVxp(f)VK))2bEmxTwT1 zh^QUEgzX9V;}48ji+JEVh!NNHJfC?;Cs0mme~HA1B9&*Af{T4+4v4w&)vLy-R6(D` zz!a&0Y1e!k2l-0a;ek8i$79owC}+PV^RK!jstKVzYcfG1QE(`nglSY0}O zlP#+K1gb4-I^h-Am7IiTM@zI!D5?08{ZKcrK-G})MhFuUD6+?hXIEtomuMHr z>G-oKSg2S zqmy=^&*TgXS}7vjybAh-s)SI}O?On#v*~18yBKr#(7Z43-TlR8HViU_@y%sfUohDq4bf-erxVHq%>wGiVffwV5yXAOS;sz-?B+gNr#<)TN6pn)(J1DZnyl&va>)sXS z0EY^O+k~_D8oNVAt2VogVdcZ#nK{|68U*?p@k_r{_x+uF>MA=c8$PGQQNsB6kRNwD z9MU(uzY3a3k)bDLiHcD|+UxAqFpuH&7SB0wR4URhx67k2B_~kekUKqlVBj?U^utW5 zv&O9HF}eaaUzAk=kL5j)r)=Qpa7-(I%L|i$ z*+QrB@N#MaRVT-C5^u!8pAO#q`++CWPIsFyyRZ+At?zZhYR?6eDNp_Sn zy|%It;AblwmrY^jxHLIAZM0yHN_z!oKb;8DSW)fzak@&G?6!N4ilUia4@aGM;Hgi0 zv=8E!Z${BM=G1?VIz>^^9n^JhwYdlN~i71IomA6VMMelwg+0b)&I!jqzZ$)NJ=w=OGtL=aVqV>(@qr-p#b=3ZUS=pHG}0jR z(A_HLa_W3PR6q6|vY^A5P{FA$x9LRI&TKUWy2Y$PlSV6i&DvD$Ufa_2;^gM$=B4Lm zX7W$-Wi4M6XX}-`O}+Cn=SR>G3{`X4_?OXBg79&%vG$^TgO56&%`gW?)*2)WAMX|X ziAg)M6JjuIV@a95rLmGdMpg+C$^sD0@Cr*R1O`10^^Mjx<@Es3v8QFV7C6eQI1k7I zDOz0dfWzrwuKdyO&eYL#UHMU3l!#4spI=2ku}t~uHvO;^>>e`kKa5THE!(3zif*xe zE1w^a142nel)A~9s%z-Q%GRkOVuJp!#{ask!7S)KW($3D&uApHz4wdBxj81j{HZS> zs)i3L5~0pAczIn)1gjuxqQpG)t7A-U${^wXf{^>S8mBRm9bBWfXGG&B~`k21a zFKSR}IImjZ)4DRGcc$^zkisj1JONbpCtY<$pGjmjJmGnp#^{B%`6s+)h#b|+JNWuF z&SYA_5&NKH_%)S_j)8mG&>ue{{B=I~bd?!n&uoU_1 z63@m23DAHTk={xqi+Iw_v|qWj%;eS1@+1D!Opg3`2?uQgR4v$wYN5Nz_s_Rt={r9> z(##a~P^&Y;h^-(9sT?of@gX?6I4NnK2Ct5&VOB7?!xn^n<5)_2H@Hf|Zx%uw9kHl` zKXyE*KI-(knB{QKL-=cTA|Fm_+?I#i5c>z4Dy?lj)&0`2d;KHQl(@Z7cq8D*$Z|G{ z?!L-vw7OU|TTIRO9$9(=>9Sz&5kG0(HN+8oCIFEb>tDo!j)6@v>k)l-1uT=YuGcJ{ zspfZ@#mQ45p&p1dnGrYF#f_`|cDWuxnsOu5;9eRK=^@)0ktNhQGL|H__?H1OCoTR{ z?*otdMK{+5V!OG24~)>?&grttchU934iLTs#LEW8+aqPJQ(NOl3aVFe=fak!bgZ81 z5-3fx+MYiAip;Hg#oUu!{(P`L125%#N_lE%|W9J3w=p@8givG=e8{QN(C)#b7Nt z)-%@PCcE+)U;Gso7sEc^LUWJJbAb(i@Q>MAuPrn?^}4b&u_AM42yeGAa^b8Fq3D1` zx@;@5AvIKsS3^7YzIQROa;85Ch1@ruUdw`}y*R8%gi=z7#bvYSzAgIuag9VmlC7fK zW)NwvgDdYOc5vZ)?+lpjjfe5CdIk4sJ}Ag1uJQKRmbN2!j(rw`B_YXG)9+H4B8HxV zVK!&^>ehGsCeq!RJl?K<(?B9%F9pZlF0UWBZd*aSQTCRFy`&RedSn<|d(oj~pZYlB ze?WEPghWS-tDU)8Ncno=XR36ep&xEiE>9br=v*GFnQP%ZcYH7E3@bg#2uC>{zj0~H zUdr|ocTwlLfAS=^UEBHQcV9VWv+|c$4NkoqUaAOn`_R?>owX^SUY*8~$X_|Cc~nWc zHlrvmyK+9tX^&q^>_%2n^KB_xgzw<_i!ugguy~WJX~r*g{u2t2-lF8)8nU(4+Dwvj zLECOhK>jchT>g+cPWKTxGOwAa-dXJCcmNjIg26U%GP%&9HrZXv82MSvf{NNy9h=kX zbo3`Py5^oN$T-$Xn=*@>F^~8-D!!ttp@(;|t0$G`H=N3$s_aZJ?G0XSy5G;g)W?3v z5#8rYjggGD3RAKrVHt=8LhAD=kg7yHJyc?o(dwCiYOJ}SE} z&?i^A5;i#7f|*fV?Nj?}F4l;H9r8hB#prNnqK@0rR0T_<$X1xb!W@9F?6VF58b4f& z$VN7P6eNQdyXjg$HkbQdZhxQ2^P*~4L8gZ^*Pqu%pqDRrGAe(WPf@csHe+S&8Fh)z zwr~#25Jg;!!o#yOVQ;wC#)zNe&Vib%d=S43b~-5NG~2F>xI&$YAsqI?lGJM!>Nt;& z4xF!7^{l1S>;28-?XXEzUPkwG$YdS1!q@&Dl33D^LIOAM^uIe>@yh z5Ugo`}*NT^-n~&Z+!9|PFWJMr)B;RXt z^L#HRoD+x#`U{nuCgvFJE=uXPQI-j_)=Ut!D%{vH4Pjm##Tx`Du-cZt3{JUCc^BhQop|u;BoZT z|5*H!_IQ{9JsnaZoRE&ZC)|pZnm|mZ-8?cB6ccxx+(AnJly4za%nXfO-)4WbwhM?7 zBswQxzdPWC{=_#txR54{K0}_)lC%h}xm=})v7poh|HTrzN`Gk+H%eM>zhl0PbQVO0 zM$oDzbO0iIkCOa2e+Qd6tDv?WfHD&}3Yphbz!CIxOX(v z-&fQWPhrswEX3?0n1qIL=m-JAh zQDt)u0maHTg)+ovs&MSGfG4YmO3y?dxp{swwSWyIYw*L*47C?bH6a}m^YuW0>mOSi zQY}~kpFH^&8k!OjYL`)TS^z90?Mm8;a&m-$?#$(=jUPl>hm!qw@D>5<)UK}}XTIed z>~@`sGiFCkGY&v7JKR+*fF2~4uW+`HM62{-#Qaf?Dh0p*cN0cuo&u=35Qj?@D_Ovz zR}!u|eCu>?jBXS5F??b_0a!2q7(flDEL_fiPZgABEm4_5#8Ma8ftCgMRir|Xeq+gn zeGn-ciUIBFbeNp3n?mWzL&C^FAn8*#7#@t+a>k z{(mWA{4ib4AIs4fD>XY^4+K1*A;tgfkqrK`4WqIJ$y{Dr*xL>@8FqSqX!3tYa%29# zXleey`1ttl|Gh_=eRyGEVPIe%{Qr1o7y#0QZ?6moZE9!Y?BZl}$-cH2O#gsyXi;01Wk%5(o zgNccenTd^>ft8$@f&52J*52g*prPPoZ{lif`v2D#Awy5-!1Nu zRjej0zafCwqkit6Mw}dX>AQg}Bn8v->u&*AdD!g0z6}b@NK95V7@((dZ3@&1*@iBC za@yx%`_2iT(EE7J5F@%oDi8}9;3EiNgDIiQggA}@ zi29Skc!>TeHpQ|;3+Cg7Q&J34x`a}RCu|_#8@2 z13JS{%fLqo6uV%QDSBI@zv_--87Rt*fM<+ z_5^(VfcGQNI6X7Px$v0lzyt8c&p()vofED>?!gssVlIQju#4Nq<;e62 zOf_j`VLdHnz*0IVcqAGZc((>Bh1=7cPJ2gDK9@m)Sk$_KU9Wm#DroBoE#3BR4GySD z=hX-LSga?>6#H44^j(j%=c4I@D9^D{_YD*0dBYnXzH@rdh116OMj2#8RXQ1rb@Obf zLI$E;D)@4j<|^4&B$f7*tR)UT?}PsNV4|zpb$v70APRofZASkHO)xp1OFqw?T2YuZ zLMk2|uZ~ySqr=(W{D5h|2Z0aDCbgw*a@?{W^h-12Kt;n`9o1yEURzkAv`3z`%(CPb ziq+RURv2^#*AI7PlaT!w+=9V3q-A_OqwL0yZelFP5$3JlD@Kg0agM%_yyO{xYxV%> zpt+xqGFulth4&)W(y%Z6x575^WXk)}S&@rZd2YFa=iZQoWvm;=*0G?edv(We_S!je zP})^i;tg3yl$*w@dqeJXH=qaC{;d9RwA$U~i~rYK4i z!FvvJeF0{{>I`HJwLs|kB4aLw!BKdPeBE1VUt6&Q!!xwmpy;hlb-iHrN6W1Q&&e}>$K<3;vnB6yJ%+AA^;7NY zdR1j)IN$NhQm(>3bU&%%c{&mzDS#f&QPhl}aw{UDK!>7=RlJLDB37iEQ5effDr{gr z3mCVa4|gG4DkCD!R{Q|1KqMJQgE|*U2H#T0An78Uk~l-caR4mLMljTi=N?UQ?il^1 zer9t~#qp5YmSZdGe}DnkN{jnnP8SE$f0?fTz2%u0*jSnV(`7Oea4;}3as1CSap?== zlDU+9(!C=+U;3imVB?=)I)Sj3f`7kJkH$|z?Kc=xZ7{-7kIU^yFf5sc5hx&G`70D% zOKWr%B5hx&l(SeVKu%%;*0s@gmj#|VlXgQcKgrg6oMxNS_H3FkybJIlc~9&}kpIKp zsMP;Fa#t<2f=`$RC&d$Yt;&OJW`wcE9nj<+!q>$Q3gTHT#h`S^3`n{HS|0)&mce$|@J}8vU#13q6pCM3roQ??}+nS@m z4tlna`{s6wzV`TVsKdizuwA%oc}t@s7lD2d#j&&1vkoZ+kuN;nL*m!~eMudkuOuUOD_Fc8Png|I^j? zhiskvXpe&2sJb&Z~GPuO27;LagsFPdjz$W#l3= z7F+N-gb`0W!JX!qA6jST=}8;<*`J_wF=|tN`c86K3+fg2ectua)2-O+y=Um%`U#jz zy$VnSv_%^wKJ{rj@@)-t>ibU52tUg8BKEHA-`iGGo?9qK6~%Qc9cjG#bc$Yog}5Hn zIg4iox87LPn>KPoU+(SANT2eOH;Hqy50DM8C65+|L*Pvc1&0G2Q zLiK$YoZ#o1mLv)%Ns!oIfI0rKIIU%*bH(S%8a>dB^sK%AIB3=UFc+xFpFPI|Q!3l5y{I2o{B4%sV3EX{&Q`T;7n#tA;9keUsxM{i{FU&mMpl z4*=4s|Ap!o(&NYjJ`k4WgZ&HuVmqmjRRcS`y=){qe@tYL6J*VQ0oCy7i6a+A^fh?W(3D4dHqdp&1W|=h4P)g zc;T!#@w1st2@Z(w0xPyrm&c%dp0DJ@ut$eCIFksMu}?%hu!o4>(EQge55=)w)C*uP zTJeJ&$k%u4FI%m@Le~)h=R%Bc$HKm>)LU2mWIg7&Wtp`vC7`#xyxy?6w#QD@R@PP3 zRMa!Qw2pv(BsuwP5|IX?TC6(hfvG&$7%QWnqIc~KzbQ;N$Z+_`#*&i2^aN1_mbM%d zb|Zhhw@ZGNkHW2y{^l$wN4w_qEb{4*_Hhu~o3?^>w3VIvYR_3#?t`)`zY^m<*V^fM zZNS;6M|YB$u0AjL&j7IfY9_6*>@x#i6MNW~_ee{B%5nX8=EH19Pfi%ixe?v$JhhNjx--^Ld;(O z@W%X2&-;|IS$Iy>qBz7u?XKY#gm33jw|H1x^))WwPq;Gs+adi-fm6f>-lj{A>o%Z* znrpPvfWp>jq8Ip{fI;@Noo{Gsu_9I+G&2wo$B@x62Enevc|g_!gm!242%2~t#=}DM z5&0IEaHu!t>aIxcJvV&~t>S*NgDeG-RADc!u&7A!`e2DtFjqXjc7Gvd5Cp~ZroP$_HtpTmn zUO!>OG^wVNH@#`$$KRH`{_8LVb75K*3jtlDc#Ed| zB#|@+$wS$TM6zka$+%$D=oS?jqBKOCEb7A)OS@M%&o7<-z`b#KL)nWg7x-y+W>@Rt zc!}DMR2P|RQZDPY&!W$Sl#4M4^lqfgmTSQOJqj_JK%43lY4nvkx4Ft8BIZ5-CE}*R z-%WD{55p^4^fc6c?`!7#5|-;6zRtzwV)eK1pxS?sy|TdjT}ful5k#y!eZ8%fDY4$M z9n=D9LWOHJRLu(q{h_g7uq91*7Ve40+~v; ztW=bulJF-RbyVUaj{xmsL+_r@MZ(5(5W2qW4OPr2n?*5f?pRr+N-nXiFfS&2>1~h; zWH!ze_7JA0WsOhB#o2skb;jAI1D&2QUZ6WMS@Jvoaj zBj=n-^uU$>$YAGf@SMp^j%@I7uzAB7*v_+)k)oQ8z$u6xs?_$hR1gqCDjhg0L_lop z>zhDQbE{DG^mTs@(`hS^27?e@hBaZ$lS$wZ+6K6=7V$}35IzZL{jvludZP%2?=uVE zbB2pTifYbpWx&cV?Qu3+51PGw|4#=3GpmMPS4`LU}euR z&zZ7e!1-5dP7zwp60{C%Q2Cy6fH_D`=bq;;j9inYQ&hS~UvQl5^c)O7taOa;D{1bK z+#W@W&r9-+V1VCV+wHLYeF)$=5qj@w4R!DHGR?v6nR9QXF%0a91`orGk%YB2o0q1` z>sfG5+%CZYmuF7!|2{5Hb<);IGkSMQsuV6MqETi^Idrh`xuIm$*ag=kgKo@P6gp9^SF+ zg&(N)tH<&aeQwpqIb8M;8A9*iztdcyUl;$dN56&hz2$yGZ*BQAxU7T+5zYu+a%%WH z?C&N*&fsV9k8W-E(l-GHd*bSD@_ps63t#p?^SM6|g0DFo37QUo_}2YNTz0~V3HL^Y z#dCOs@ble6xL)9|i=Ty#TWAmRZ#lME_!#|OIC$Y%J3rh*$mB1f-`wD?*Xu84>C7-# zk=EDvk=7lJh*$_y@fOf#wb8$lQuzW3EPru30s5E=I@55D8L+{g8=)F z#%>9jLC|wB(|{DzC;4Ha3>fzj;fwKJFDoa!xmFumn)_qo!fCL>$fdT{}}$=d)%lZ+R#9otHO-_AK8LCcL~2e)5bFpU$^B&ik^G z)sD)`CAcu@1@vygOkv{vfZFf6HnJ^7yxHWgw-eKZFCo$DnY28xI_HKZ>+#6eWciT6 z;#^w6r}+}dR~_F~9+8lN8Y?FFJHN~Pp+FoW)+2MoE@ltOz4+nX=o1!@2IKXsvH=c$ zbnmb{r5Z~K*zs~?a8^zA?#HGN02r^+A+F}t3*UKauLwJVtk;^)``A46Y1jwNCfM=u zHzx`}U`OnsvAsmjUq9~ms#Pj;s#|pd_$>!KO}Nr{yj|L0wm!{6I*QuBPX;a^Oa66u z^2C8Mq~?OB*&c8?cJH~Z(@KIc_1WJ3OhON5>MVojzRZ{WusP#XFfTN?e`999h_VCHcht~rCR#q|YZg{5Jd;;~kQ0ACEls2$*D-k94P z;(pAZ3lMIgOa-OK0OuaU_vVS6!bS`5Z^m06e1|4Tk2gfPMhF+`Onv})79)UfVy1Uw zlNZ28mjmG4KjXG^Dxe8ISmm50h$bn6o{qQnNe4%+csEHr*FGkD6*v5FR)SFegSs%y z6m#8R74!rvmczc|^-%5nbZg+i_tG3mtl)0mdP(`1=wDNw^F!m&>#i|AjOkmZ~0{34yV~Xr; zDL7@ERY!C@C5a;EH+#6y@ZUEY1A)@!GLF=k3PfxF0u~BVMU+a0GRf`GJD%u@MuHQgr8oHJclze^rsh*9jvN%atEcc>Nd@gtB z5Hbm7q_7XCL)kyi=-Epy==F@^h79A74~Vi_rvQ)|$pL>XvS+%z$Qnr+MGQZHm8u-q ztzde!`*N4psU1REgsdxgaapSMY>k~eWlPtdM4;+64aTM{$0~3LCg7zs9+pEm9dW0J z;1~+yB&$kS`>7B2O{Xza!8OChgt^39m##dzdaqlaSjlqYM>$n3SEiR$wU-aQgg4yn z5IiTsZuC<(7PJb@u_BI5vbyptjcsM^T{GOjUZ?M#^tv3s=446DItOUdn#s^ECSAGC z-z%+GYU!veFSh5lJ8HT0jnN*NlJ$yNDvB-BEuSM;+nXdrM{vl5XOf40_ z=S~bzE7&T=7nqc&8MaU~X32>TM~N!d)7k6BE6ZKXFOyyZO#)qRo!28CSLakv=_ZS! zOk5D?gAdmk0K>HG-lwF}*9Vw#LT!jrN3&(qEtM4&HmW?fCh6EO;LOV?e1cRqrOQxK zrSwl>c2dgOGFwJVL4|yw>WS7e@Q0DkAsDmZEI!Ua`KOt2V0C`o*9HbLc*N!k z4(17iNIjK5o+yr2O**Nu8gWn9ksib3I9&_%OJx^egjY+1W5~>xlP*gEs?N64A^ob| zI2Q5oczsiEYCZ$$FTI{GT6uXiM2c}euPho>^Lj}&v}3xudSB|p-=%-5gXBU`|7kC$ zn9Poa_B~Fz)J)g4Um?~U*G!FU%u$Uo$vrY68T|d+zS^VOFj+Xn({x9LFW11paqItv zoDZW9@-)Zti)cLtf#xvQU~bB@&(xWbh;x+c37YO5wUnU@)r%BkYk=}`@Oh0*202pU2F9*Sy(zkN)F$z zeh5wgE}eIU2#%R4q+}Ur#?Le!(Hu9ylfGw zlgU+~TlYXUw};|rL6=ICPljV%TOf_2KPw`F9JOHSm8PoY0+A^G_R3l5wZ=>yj$kH68 ztH>2aJ}TRzX>>iK8?UYlSE>!Xms*SgALpZvm$tB%g2r6%mzD9c1d5^}<81-EEJdz< z=Dd#vUrSkoEe@ln7`?r3q$sp0`bSc_phIkFoY96T8cS)H$+b!^ScKl-84=?&R)h6| zh2LzQ5oH4U*M7ojYa1l$=QykX>4bXv?YxGT7A;*5FW`Yd|D z;b$p8MZQ7$^?y*xaZ!8 zTai)m*2=wCW>#eE9kF)i^WGOuNJziRBOd)#!b=qt0_wXsdJ{GONkeD#O)DP$A?p}8LFx{s}fE+ZfY`- zA6d#>Ez8f5=x6Md@}h@0fo~ReL0@B43M)9HAyJVzn zN@3c@$`U7DQckXCWgX$>AAOO|fw!|`8ZZhlb=ap~+P5-EwN_t@GRzfK)uC=Vh2o!m z@Bh@?>Mh8f**+&03Udeb8hX`g*^dyE86T{i1Y)UQdDE8uhHGs?R3#!9*V*Zq^_7pE z-ImQ7#g-i}l(nkNVX8f$eKL0(C^=!3b$Rf?s^EoItQ+1yId|MZJxCv1d*ToSnv(c6 zW#q7F5AHtv8;En+jlFFC+2Ez<)O*#E8(RvKv4 zTkorbG%MCl&juF_YAE6tE#zyTYc_N?)wNq+V%tha`fI!1kCz33lt4#4!Up4>20cXx z?QOUmbJugGwm%#b{O3$*0L<`Aw7sCSs7w>mkJy^{tbIum>0Xa`5Mp>LeYCz@ZVmqfA`sU7=L&(ShN*y@` zO2S94ztEJ3mP$o60pK^C{#m~}`liF9mAEy;P_xs%GOHp~8uyPWA5f}fW)$Qbz(yJB z0DiS~VE@Wq3!EG`8NZRMC%v`BQboPYz#`NONvs>^hh3KEA-0hBqeywr)RiSn5^|I`ddpHjZLfoYsmE(i|qp{$|Dgh_1d&xl?LhZk<*e( zpj0r};BW(U{z6)85#@19{$61Mk~iNFZ*}DGo^s3(*Ey?QE=B!Ramg@!itO5E93ipd z&yWLGWV7IV9?u5h`A)!>D0gB$J%4ZoxvEh;CVA>$S#E)yhLYgHL>=9*y}ZuF^%$_$ zGJ?W-wRVuB!pvA-J`EYb88ZWBpGby}h$uP?=MBTLDNo)*Q`0Q2RoM)Klxz(qTh3I% zjCj+;xyi%ns31LZ-Iu8DXhVy$nKwAzgj-4lb1L%SJ?JZO0lx zrqf~hFRW}-|H-wT$k)HV$NbO5DH*2kH#-iXBwGGb4Met^)LB1l?h+2nfAYVpUe>kD z=d(@i%Q6%%h>d^(dBvJUAH~T!Hek78p>tElmYH) zJr!WRwqyk?Yq_9IZ{+0M{=Ruyn@r8Sg%si>HKu0pt456cOoXWAMqM|}nCG`{GC$(C zTH0z%Z&jn;cd8N}CFlKe+whS(<2Mkv%Qus?%#tb8B{AV@^9ckAH3~#CgYQo3Y|wbL za7AsU(7`S&({h@llVa}ryHkB<$F4Jc!F-afa0ma0tj~TVV6*L>@$JXtUIx$wB&K15 zowzQfo;DG+C(Mv-{X!QapnEJ4hYQvlnTa^8IfTsy$)i`6HFXVAxo%AJ4bosM)HZF< zewE`dbx2%*R$5<_5^>WMZ_w0_xETuY?ZTfw9D@U8Xk{b}gjOgZ6-dq%P$~?ZJ%RJR z++IC#>zdn7t%N>oENmnfg!dgls%`s`ZY(|(gH!KNDG0mDS(EQGOxZ*Lj54>A(!<}2 zOU4ObkW5LIn3(jNzZ`5Lvawny;YFbbiDt2_!Sm)Ln>?h3d*RN6Eg*=Opx&1+I-q8T&*LoFZBJZq} zkW%>&C3(nZiqa=e*h2+H?N`Xju6F)@wFRiX|kVF<~dvn=68loPWpX3ihlBb zIw2}>zXOp7oHsQQO*NGocuI^`1~=x?K>!f$#r~ha+!q}5tLv%p>%rPUtZixVTU(x$ zuF73bio#R39fxlS1xL&O1*wdsdJ>at1!OqpWeA-JV) zUi=*Otz{1GMRUGQy!5N{D`--d1`R1@Lv^l6;rn4|t~E~r1MGMKHk{fvzsF?y5SRYN zk2Lp=r0!XbTc+U`o{hX9Y!T03%Gav{mCF=G{tiTwedE>dgHY_2X40qO2W-P`%jE5I zwtzh7_Eble^D5d`vFQq<;+iC=AXPPO!w&<6D%V{7U9uUHy=MzE*1{KNk&3+%!y}sf za>@BH$rW9N)$*eS3-I$gbCg5%y<)87*vo|unpknpd|1(W0-fE)Ivyr-MQIx5gw$3| zSrSdhmH?~laorCW)ma$Z!hgCLV@O?i?DSy znYNGMOX+V#gn%`)1d7g31aW<|{8);R0S~#6bSuq#Ks78nikDP)n8q*9A5^)>O0TnE zJts$mnaaimW%F~VOEOCk88sCvmIBL;B zJop1s#Aqwj_J`nS*z`k}nb|8Y8|#`PO61ZJ|4BqIw^(9c0jn6J~H z6NYp8iS#nU)>bYk9}>4Z&{+4=;q|ZnQ_pX1?u&*?|Ee^jz!^CU#n$Kzu;L6K+9kz^ z@U2N%LCHyU1!%gKFV7xmPsu}Ai=;hRwsd642ij*Pn_L^K8%;zR29SM*XBD9VlkL|^ zfBnv=OO2i-VzN%{t9};ZKdnU~zYQTYNeqs@0%|ofD7Y!Gd>QpfGcq|qE|wRxH>Go( zq&Nmxu+mG!#Mcv$>{{CiPa*{7Wc3w0T5oemKFlQ)M zsVcogR|JQ_yVpRmeFvtM!GM6+tJ`Tn84vpQm)b(z?9RrU@Z=FpX3={MAuWMog;sE* zn$uWOS9BF;qCnlD)hsuX!Q?BO%U9zdu&6vRqn2`QRD4EEXZcj)VV89`RWLid%pG_x zRjM&{3IH6J!_w_Kel~SFjmh1x?5-RW-jCr;an?hFc?PbTSykn_nO`^duECJAK-4ig zCEWeae&01PqRHOTzl^^*e7K)O_50l`X&ps+9($8kEt(~&D zv8Roa+Va4la8tL4t#G;bDyJChaX%Nc8mBfEc`yIuxxWQt4qZj7{dUxBj~~4~(K;O_ zDUsOey42p2$GYIt#|lgTiOmTS@|c`et|DJGj4XmvtO`Y1x2$E9-c+{fScqANWd@v0 z#8~n3%cbYaWuYKu&^DsEP;-0%s!*QgQg}CpC5;*)wLC|z%t9(ZVoYaB+Je3Ygrm0T=L;Gi20h;t&!al zBRm`@3W?PO7eG_IMwe%3nw1eV zHPSEln<>D#0sSJqBq~YJU0s+f;-=#%EZ->}w@l;3g&EtG#gt{S9xxN9)a8Db2?ITx zLTg@G?bu_Vn$^Elb#>u09mlPXEQjozl(F}m=i+OCY?kNg=C>Ua>#6;4BvBV?OU*3~ z)S4319nA%|kw)qG?g~m?)9FcbwS`uKnR2P=Y6>ZXBMV_+J!wIk40p@bYstnXWHhED zgS)e-<*&#bsy5%QT;XUJkMnnv}sF zyp1!Muh=TuXi`RK7&=VS&rQbZhk+F#1vL(jKWx(d`l}C4iH)|Bx3ju{MWJxsDfLj8 z%X!P=GY<~Np**b=qmfyvWT@C`zm)i!#6)?t5hW4DDPrN-xpHD`qK6swT!G0$@J(ET z5xCTBw`R`3#T*b0zpY1jOa_C>?~$%NjNN3~z_Mg(p#SGpRX3OTDaEt+Gez8Kyq4o} zA=1TMb+-psPfeoJL%W%V2tv%LR2eBba9$Wl;a1g|Q%F@;+212Ue0uKJOE4yY(DqA1 z8311?zA@-fe>A_JLKf8U2j+c1xkb5@UR{bJFu`>{d;3>v+fc+=+^fOA{9W^u z)5}*v;6MZpaGU?|LLjMa!e2@uO(nucf%dZahBGe&HTRz<2AIy_r1kD}fA zM{*b42QQ6Uyv8uKAUl>4_1zewg)jf-&C|6HuDx!zKEYF5ny}^PN9&E2s z;=hkTI-op4Zsu)2zp9^bY@{;J`bc3!mq8)Z`?T?~e?hbI86^<+ZJ3Gv668mU|B;6y zPHlEp)=-Hy(5PJDxNXuAr4HO|HP>o*P#3XWPzE*#RD^vUc}|HzhAeJwT{w4rJr&Bt zx8JSoaj`+{DTlWV9+iqHIX6-w;|Ov<(yOwO;xpKVB;4m@=~BmWUsC^MqyCi~h_N>u zXu9`$9}#=1A3;EgLtjkDibkxuB#eiGWZ_Mi>GD|j+!yxz1&QCBwnb%eQq*}+;*3RyYGWx9U11u`auiZebsz1ks zXXv`qUqMc|ME|2F>!+Ov61kvWt2Z67$xWCUetSQRz!21STJ+f6QriM4^?vF#KE#H2 z%ckwH>-x*!n#XLNag?9-{Yem)|M{1N4v&~-d9)gtqUw7`yvUQ--`G=)Go&OmEQL4} zorpQ?Bk8D4x}+Y+WTBaBtvdja`!5Q`|BrJfNfA_o}w$lIF6AZty< z=4ocd{cc0suY>&^1BlMk{l9-_Kb4Ie&;$FsF(Eia5YmP~&M~t{_qR(NWV}>ielPFh z4j%O%3%S+iM@;KN$}LO%u3;~6ab_>BHs=J<LA$p`|v-uX-Pz@pILfcm@&t(xC#TTSEA%|9e+*eqJ5D&p;A*F5+$vffZoNoRZcA&N#W=MvH8wZ3Fxj`s*uO+82zf%^ zKLr3Sz_sH3VHd^G!eQqcWhMQz3qsKT;&Bz?<0DGTy+w&cWbW`mLMH-lIcq0mBs%Tox|AusXOXw7G&c>&C98N;ewUGmoj^7 zuMP6j{WT^8Yjy~L;)#I^t%>tPYQeS$iJu_sS_~aA>o2rl?{?ZuqA2V7--Ij!*T=!I zpHG#r3%>I2@1ip9?lQAew4k0&m-Yl7rh(58v)Kske;1}XrBT~(k&tI&bXwz=NQPph z=sCZJu>to7&${Gf$BIqRrwqFn1Gs(mw>C~UHv6H^m!G)&-p+520CqSbFnf~psmJmv zs;LDbM_l`$_-YV*($N7d zlp7a4a8o%L)u3T_DM@4x&{*IlF&y`%?)xyiz;oO$64bCT)a4$8W-H^n~(Q_w=QgT1%+ za<7I^&!Q3v;V(GP%6r79^n%2v)b7_Ef)P5OqVJ?<648{I7NVMms9HwLau1ggWHdb* zy@54(WMao$5e6PT+rZfO^Hv7RuV@MEDqSRGn zGLfThB*b`9n8e#R>o|V9Z-R#gMTwN7bF63bqwWwbyi}~b+GuXCZblE05|NSOQvsJE_{1T}5R?yame#55FzkX#-hNhx4SiAaSfGc!(d*bw}f$a{!u1c~6cIPY2; zzkXrACpEXQ3BIk_XCU!+6xn5TvxCM!+3b7q4~?WZIPu5hKB@)E=SoXZD%`d?eB{A=O-%}}u&-vxi(-t{9m3pC@o zH~HERZWD&dy7z4E&xa~FgZ8%p7)xd6=5Z{4~?xzj^j#cPJ2e9D#F34ch?ITAJ z4MfPS9-9j}oAnn~8#5=bg@H(41#kGu&1l{rREu7lN|5y;Zk*;i`iR%)zG829+?i-! zus@%O@aR@OHX<%V_6bLdwD3WgJ~)u=fv{wsl+zXaxk zMYBNW(5f|DXC&8R|LAo^n{xcFf#;K4TN#+dk2Y;X1kr`NYulxQxZ*FGAjlB1E1DoV z7gE2Y4MFD4!*AWsXvw`pvN}}{R<1Xr@|`>6 zE>d?@Iw08^W6r7Z=(#Ml5$3n9+8%g&>QgH+XRK=^#9^dBb+ZRzxBmynT#+STlc~nE zxyd_Xzx_Ax& zzqJzspavOo4e{=uwcrWOOiXWRLyQqIf5egb)==bO9!4}5`^lh|R|Y#1mphQ$<|zFn zq{#cJjPjEOb(@S3(>9#w_NP7Jc10fw^K@BnM$Gl>&ejs6s!0r57C8ZwdTf$5H2&cI zfe#;oxmXS*1UqD~Uy1G_e1JA{MBWPf_LNC%G3?-iD)@x{OKHCwUg*#1Djy6ciXru5 zD#A#SAyIKX3P(C%_ib9k+7EX)mjZZY@|s1_KUIVJU;(f${Ht<%p6caGn=W0@RkFVu zc#%!jLbt?%2=CO9qOoeE7P`Y%+;Hr2T#;>ZgEEDud-HLpVcvYO^((twOrlK8@yu0z zK4DUgAX53x@E4N)OYlo%zlv^J-9lxo0I)6k{rqa>jQhP)+4EX{UXU%)(E$B)#;bg1 zX5e}6{y2<0uZk7-C7?}P{qpgJ*);_rjUvbt@h9|;Q5KP1jmmM>ad88kj0Eo(j!|&j8 zvOZ;C!0-JUN7X*z2$g|l@kqlWN5g(?{r(vtcc$8sEDV4`=|GKTuX;hte6J{Vk@y~y zo|Kb~57}uAmBW3Cqs(1pk9HtuVcLyFKPpZ(^mrGhghlN$R|R7lw52gMAv(?$s*54S z&>|9kMdZ+%NvU}btt(Nskgi3;9|6Ke0UYF^#a9;h;-nh~kVjNxeZ%~LV5Q|nqIiE3 zQxjZZ3Nsmx^uOwKUg%Z+2Qa35P}5fZ%4NOFvX>?Sa%|TUM?V;qF^j>6Amdt*G!h!wBY|z$X8r8b`ciXp zW}Cqlbl7t_51SzmLL!wTagpP|33Yk8tOx_Ny+1-{_mYdXkLp~Fp-D4nkwOFa2NA(# z)m{s#{Aq2_P%Gs&XM;yMQ0xFY%Nqceiqr|j2KWNH)iB1 zEFM$vi9{Wbs#sJ0<&B%Joo<=a9D_^ZEbmVh4QGsduZf%OB)!^Ka=<=IaaN~j)e7DV ztjre2UN9?qoN<{Jhns|rev*4l$Tg&z^WDJ4Hv?j8MAoIG%`mb%vhKN6>KV`-Y1Acg zxHtUK5RO_CmuNUq4{j6YcSvr}={*Vo&(K*|ejP5e`y+r^=7)ON0t$X~Ow+&>6uKE@ zF%ye5vHm@G&naXn5Bt!t-cGO%^M(VW1L;?#jjD3(8-myl99*8_rT-aKdAyUus#Pu{ zu?Yhem@KVVVZI;VX4f~zXbZ0y2S0Q$;C`A_$_uNhTZ#U5A!a-RPxFJ%=HFM9t}7l6 zjZ!dK@^}O+_vYcVCE=V%P3*f7BLkri_j3o@)w56LpDpzIJ4ddcUDo*9>hIW4%5n4y z2@4loN7!+*F#pcj4l-6(X3CiNuFH2K%)d~2G2i-ZpL`m%GKhJu$5t$NQz9h%7oPp#G)DJo-=-EicscNXiTkIUK6!L5-tU zsT5O5XAhp*wzUEIsVjdUQs{fCGcSc++KC@&31?86XeiOyIqTRTMAww`5On-@FGbTY z&Oe?x^YLB+8GoRT9v-X{5`@1G;%}hpA!PVNh##KRJ&t&6*kghgA=ncpZ^R9)VMbOd z;96aYy~K(s0@aSr@69@C%LW?yRsw)rME^xo4@mzLWNHA?DBoTSx<}(P-HMiJ^dODn0fuqh545l@g=Kl=^;!)!gYdnDP9um?@b~$6Z(Nezg&`xm!0h3kcCcc7 zAwvz5C{PqaZJNeMrBcY5_&M{iupe5(cmr8gho?j6g>TbBKY@$5A zTnjojlXxn79=hV91fJA9zl+bd>~4BFu_-o3R=XQe6l`HW5xxQ(A?=5Z9N^TMRDG4} zz^gF+mxK7(>qk|jeN zF-88UY?Zut#+@Q6xDtq3fr{xE<^u(T&SnXaF&0xRQJs&%;Z+!9m5*Rt5eXxdTfW~Q zR5QPduwL|P24599JLv&CQ3h;{s0fxqVhB+G6{mdh*U#Kun}8R8o3ED1|X zK&tXygfZv*GU4oE269*k^2_!ch{)iFe+*Lmp)Vutwu^@cEfXOa5xe$PPeYTh&r`Sh zF{lVG)-X~4coY|vJw*`~t5`uoqT}@|m8$|W3_mPHLft~!u-Bs~o1LQA=@&}F0+p?0`^tYMm24}( zLn~pJEs!AR08RQC(mjz=z+p~d4~2>I@Vw@ey9q|w1H~e+^Kl=;W^fsQPAdvDsLNRn zsDU6VnWLt$Lk7TKI;vNz)w2gh{RSTR?1-(;;)7{Jpnca7&A=`&jeac?jyJpM!wCX? zpsESOT8_E`j&45BNli}|+-SE!IL*o98Y zCi=KRRogMe|I_PkU#6}G5HM{R_g^xs&>IPHtJ`9ix|YKm@R$9pTI5aYJH5xQ?{tEAPl2`eeDifYSFr>D2 zZY)C!rYCB}bc$lec8d_gD2l5dpCMgo24_Nosr&6Kt2SD2u}7amNIWS~kMlh-GU8%3 z+5zbItU}!H>V@IF#OH*YVI5Y!%a0*30eT5a3yH@Hfv9;^Aifa`tp9#G3gJL&6Ji>) zgAz&p=!v9ApmKC$&RoMCqrkc5jf2M&o=XW0GSj+1{(c`{)_D3CBSi#nslP>#D+W+L zWgLESXK4FfoEg4dyFOe16R4u5q*E~&z#k+HG$V;HmC-GVSRi9mDPb3?To;!GA+Toh zWi0IxOv1b-0?Tn38zYejw;K&IN-&78m9K3sFbSceAYLgfG?0TLrzD$9Htb6&r(^8mlu%BQfcNnX6q4OH zL=5$*FAos}#Zat0mk%h%Ya?PrXvF|Ac&V-3(PI!%Rt~W_{4on#%bH&xnWUDLEys_R zoQ#5=Xaw>?#j8O^IZpnQVg+m^&`|arS~p@G_ZLnr6D=Xn-}q57h)W4N?^L0IJ_&;s zS3?7BIWJ`vSomS^Ne1wJl=#Z9GQl#|x%1AiW zK$CL3Tuq%IXw_CQUVMNkmW|p}wv8Kv)f}~HO&tI!63(?Y}CG;2PBFQ&&u;Lq;?cE5W<4wl{M8SYBJjBoD`=R=XN8@49pVhK+?7QMM}v8BOo{2QIK@8rkIftI|G&}(F? zAyL|suxv)OeUT&f^BAJ~N0^P?{7ybJMZpK6EWYw^bJo+r4xx%gYh1=6$yigH@#;dS zr@xGOybRky|ArK^t#XsyG8KzP3Mdt>i}vZqIt+qKeHMc3B$|~P=Qi+X-3a;7D%8qB zVJQD7jw5z}U#^{ggSv*{tSRya89I{*Z9T0Vxw)gdp&lZtk1!~Im6i1~QIKqpNfzP# zNeZpPQrWJA)U7&~T1F}#SZD^ayS%BQxSn|QJT8|oFJPfeLTdB5$>va!Ezea1zbU7r znTS3tET@fcRk8us^C?{^P0A=4?NL0o$Y{Wrg6_h@EHp`)Vg$KdYg=5kzsEozrPVWrLyUDc2TYNy>Oh^ z)ppvvd)yuZXWR5@b*1GUd*Q4 z`li|qx#QapJSUrYFB{k@zuvO>@h1E4&rm(#}P0NyJOq!wd2(tYj5%DvSucc zLIB3E1#BKqd@*e;Z6jmEF*ED&%_<56sZKn8>}A3JW!(q>|mOoBYfI)CVP#v zv{elpUDVYCHHS|CpzUnM9JN^A)kUhHFvXK7i@5cPox6uT+%%*uUZ^k)l>n zEAYz2M|Z~aN-$$WzGS{%kQ^*V(zq^)#_(0+S^tnNI`wPLg6SfWdZ+Eem^N$v*pbI> z+_R7A=5JSL-M`iMjOa}^RyQ~PDk8CI^Sv(@DBmEpW=tf!;>$??e5iFNtD-O}{v$+Nqb z?9I`z%y7MIhT+qj=~6kwh%drhIa`T^dH79WC~@qq|U?A9bk4C z=5)kQ;|53`y;L`iBPTz-4X~Xh3KLHlB$qGU55uK!^{`VHvh%2AB4_4iE-hx#PF*Fe zk*7&~6s=Tr5chReKX4vs-;=rumzU=UELC#K4ted}kXNt47S3VWqJcX9DzhYNxM-zd62nof4w^J7B1XLzskk@imcsu{k}VB zx<;vzz4A!d#(AFKsk_H$wzT<@`iI_nhVp0dvo*FBc8pMk`sK&U;(Bb?0C88V!((;A zM&QpgeuQQm?v4G%vZ0BF+&81(F2Kuzz1+`a3XtNbcuwq5^5sI$Ql;0uqDZI#fvg(y zyR;fw*_+szlQjio0xkU`d26q(+}fb(lM73$?2g+^|E28?TS6p}qR7my+YM9Z zyL?BUE48=2?~+1pSno*s*t?xEwWju4D9dTKbDrOm7O4tb}w0`;q0EnNe3ks+r4I z@WE43)&obPlTJ%lV|JhORL6Xy(Hn;bsTa5Ra2s+E&i!x&E1KP&S2kB@R1@+md2;db zAj;DhnYpwaa1Z#mi|+hss;p>qib}27cq_ucbsZ*K^ia$C&67*X-Ll-`VBzKA&58Bg z^y*_xT|aCi2tWHRYx!}l9Yg`dN(ys~;&s}))^_hEHuu9F?v4#`QC!AViwgA>=F)Ig zCsIXh+=15o!Cd@WT=wRE94DC!PnZw)KE#D5Zb=ZWx8cru>$03rj(Q+(Q#|M-SN3bh2 zOy;mK=j}@u%8n??=hcfKC4!G=rG>PKp`3m`O-_3!Z6(vp)n{_V0|1XLn4wpJIOts) zZ6-FVH)({%p3r?--miKC=r87yC?}u!A0xGZc7wZjh;gkp8x+(RW;uJq-6-?93oYw5 z8}!W#FS6%<^3U^08ePg@Ay+c(oYdFBV}VyxYpBX@{|^7IWZy+|w_P5;{#MVBc zI2}9oK1isv=6=<3h$1@mKg_#DDwe>$>8Ps% z^+Zmpvy|~znRVpbV?@IG_P?oolBlAMuLD4^H*Iu%9D*;#PV*TeT-`c(i?gTQy_ro9 zLys=R*}9-WaF^e@HWf=Gbb@HLXkK?2jZQ>O&4bdSVd9sJz?`gey23NN9umnUBcu%$ zAcU%4YXw|;orCe6VD-^)4EI7k6RHfu!7X|G>>?Kz#@`a^-}Q<_KkE)h zK6R?i+vOx%4egV~XTHfi;B#zQtfDGC>aHz!&LuC50Zfyjw$@&}E~OAQ{8b9l;4Y59 zuhM@vcG-zYY%3xVw^_fp?$kADLcdtuy@G^E?TxvRG7t^?9oOjcct4G-xI26AOyf{e zMNh-iI?1ubVI$NtK8qxW;FtdRqgd~KBU5|Vq(-sfFm&`(`s7*lp*!G57)p9d@bf28yzI2Y>dFNwRo6XC7Lor_1Z8%B)x)pWohC%1Lx)m2zh#~}GFg^!r zFoeoSkPxXzzCajBgUMwJh~?k-dPS8$ew$hC5pM8@YXH%+dYIsWwfY&yT-BJ=VN*DCv~()cj2AG*KHnHbp1QV#8%9(HY5_5O@o=xALObHRv6wwtkpuhMzQDb_s5-{s3{B zJ7&ywv0UHr&hwZ)s5h)s=`&dKY&76X_B36x>I=9F8rwN?I;2{4-<$KvHP%jZt>6`| zP~|#XZ-|vx+TdyHyxpw?izn6QarB%vR2zrZy?3X~s!F^6phVphu@+6aJ(zA1zOV?1 z`h0P_xIA9jT{$5aYNKh-VD?1d@xBT@NQEi_Seai%kOqeaPDQxt+jiv@kn2=sle`*< z?Nr?@Sx=cRP;oka&evlkt-9iv9W7Xm>WJK&KeqNS)%L_sI6@;K7CuMGki^ckRC3EF zR8+aZ-gGR7+B1CZj8L{;_k~R%bwQ?QNk-;`W4%H*lr-cx%GRCJdY*vT!pOn&n6;2$ zND)USiQA^SFP4ob$_^;zDy3pwI~ZOAg1@h$+_(8P+guABkrW91qf zSRn(c0As`k|D4hFl$z3#X*qQkk4f3QRuxfSi}pO8V8U9$!NoDVDAj?f=41}3L*$Iv(8uP?o>TE7*p@=6sbfkgwEv7i9NXs1t z#FSI#O&DDa_eC_*wM(N>*OEy`+uLMoTDJ4<(Z&cliN4Aa?PWmZTes0x6~fz@;jNIlR&p|z zN#@!3 zxs-jmv<_FrP_gty?=rSK=ltbmYIQ5P7H;47{{93AprkHGWRfp;yBcno`Fsjvl+Z(< zIZwgS{&RS=x5P3H_S(SiT&<3SH;g}rG`b!(yZHW zSAerB0klxe@P#W9r7Z3C<&jjGc*TMQFt)8*B+&1e> zxpT1Tx93AubnoxdIp$wc?XDZ|Mb8KBxZIIX2-JmWQeIr{9cB8f{qqtRYgq12%8&yr zhh@sCo-NCmY^C0~7yR-Yyms(!XugG=d}qbg-#5xQ zyuH=#t1{CDI*Q*T;){K2Mfxu$=;^m$XpfpRW?eqScr2BS*1rc18EL3}Z;f}}V}tVk zN4EAZLSh`AV~tF2?*pgVTH35ZHFK23u8@(itA`F7d0M5Vos_yR*N;V`qMr0$6owR$|iiO@&gRM?_ zb^Yb0L+~vh(B}IMD-ZWA;@xM~YFKUy&{7>QslD9kOIsA;+w$l!AMTWWUHQ`8m;M^# zO&Ci}n6@N?T(;=P>FL!TUW6KCj7{rDsK!K%?OC!qvF2{TPpg+=C`k>J!munXFdUgu z?tg=<1^jQjnE%JFZ;bpN0i844a{mn3^{}RxI0$4d)>9#XxtsB?`NOPBeqxxiAxmM{QBg; zJ5rv_j6k)j^^XLfOgW(Mj-J;EdQ0ygtp8wP)6A$E2q2dg#hK;0CYhney%k^0)2#w^ zZL|Mg4tSQG+S^`TrH*a21=dp5?UQqm@!5gOxM(QA(kr~Y|A45nCi%bL75_V3`2YRi zVrB-gGX76ECOs1qfc5`D$As`u99aG2I65~17>*S24U?RcNFdSqPD6zl;Dh~=N2+ax zqQ(b{ndbN}NJ z{BE4%s@-@pBb5!=YbFMdfP-67QH`}eN3xvT5ytd2SkP7iIyfusO3Z6OU^n?KluBzb zV(i56g75<#G1Pv#tkz9=VcqhIx;@h5P?+Fu@pJ%2i{q$sGx@kElx#}};JjL{bang@ zdWed+Qd_h@3v}nS&(A!L63qK}lCG*Kdoi77;JFpT*XcU3S-uocdigDrSv;lQTwl}Z zfHRtnII%3xQ`~B{0t9i7Yrc04h|X4OaIkWA7v`Cl5otG9zUVFcUU^iPREN;ap3Kr> z20pg>Z^_`_NTTQA!W>SjRaX!2o!Rg#4L`TsnI8>GNt}t+o6*obv5nL~Vm)iOU!^@2 z3nIK`v8#)%dS+L-2;Z6yNDRJvT+0ePdr?-3?G*gRS`D1hMRF%#`S7^jF1r2@E@D}< z4ZmlV&chm(mKcdhavIHj5UlyI(ZXqHC6~|)zy!XC+glf$_m}g?oH5nLp;<06O%#|H zA(Xn0S)FwIaPr*p<47x)RlY=zHAl6q|*H&icu+OtWSirA%kh#U=kz;S3}edvdMI#-&W2o}Es zEg!Dv-af?`Q;)$vOw%0KTh+(U8eg!YXugbi24~@l78JjL9um>@=x^RU=%@N#iBDoy z`4=2sYt?j`PrG|dsh0(AAM$~W~OGoI(?>l`fHu| zwaMbTCssM0L~DyXD*kgC>GnR6ld_rLzhEDTr3Dio4Wkw4E-N^8JH$Wh>q(q5k@0Ud zyA-?n!e0qDKG(dFUh7n~dZewtDo`RiZ$11z%8GCCIVozw>TJAw^&bFF&vWOTe}g;s zeJvFTa(^k5CjD(?w&(v-Z(F)l?Bpj~Stcg&7Uyj{obi`xnFamsEmklto%#4^R4_`V zOkc+G@K9gyr!SoAa(#Kr_Zc#|4H4)+5~}sF93CAjvO~i|OPbv|@(Ti`UP^Lm;+qG* zlPkB`2pfs;sM!7##y*2@28TtVjMHyeSWi^?ORfK*IW4LsI}%*X|56|7p=f-XyA&H2 z!E8!swEPtvu~SoB0%<$-jB`d_%lh~=>ymF)Hud%79WFozHeGe=sy2S(5ySI`>9e-`m0 z2B#_EKim9U`~MUlk20TUcAQZD=T81dgHQa$LuI<(M3S&90rEmv1!SP-c%9-n7|7&6 zW?>gt=>P~&$JbRR*^1Mfe-X<6I+_2`&wuRqe~$T2{P?5g_OZ_YO>_LyWHDIsu%8?t z!1^hUaq>29@;(y6a+{F3S7?(WezKI>rQ*+%8MeSgQ>Mg*iB>+3s3o3#%(3UDvS=VpV4qebs5z>sRqv(7m}IM=Q2JC%mTa_@B_G3Roo3 zl|h3QWs};XOz{;UvnDK2sw+uTo#+bExb!%URv#tH$k|^H(%8FmZqwY(4{Ik7HtnCLKf{0dSp|!k2 z%d);yqQ98zs>E@6w)}kWtIt+>e%L343XCbK8O!oFIZ=deN%UM%EardiaH%4_X|(8J zqekT%+S%_%(b2K(#WG0clt^VwyQC+Q~9P1zJpX#6JpY0s);4u=C4t{<3j%l_A70#_Go+`SkPh_&ezP_np}8J6^6Wg=z}Sd{>}3 z6|sK)TEeAJ80l(7z?#nIbe}!fd|*|`XZF?7wVhd_PNtO0QB=CTON*tY$Kf@*uTYVQ zqaqZjsc0bfKSov92C2a0@;M0Eefjx1cezhpCM9mK=N`(YQ8kdh77rZF{3twNb% zbw$(Ye#S`mQxEa`cyMaE{TfhO9#uMVA5e2~iP=%J4C#!EyC-hC%#cKp@X{g+-C~b` zah-De(WU!oj<8v0rlhnNysZfO7c7i|?Uhm}ha)}^CSpaS)dBy#9INBKXhH3mQH!s) zv7rg&5K`E4RYJ<5eDYCUne{s zEkZ{yOM3Tkd$L#ix%KH^Cz~@l-wK__p&bDt6hLvq{4bRwcXb{sCc!fu0g0*|mAGA6 z_cyDl0~M!@58bC-r^?YEvFaV|#zkrkJar4IY}a0qjc`t`9qOT5Vs<5BQ-i#_f3?q}sh7lb8_Q0%3!?IP{N%BIGWlwVigR3e!vg!`+<=_{kgsomcyjaTilS=%i+wMco2=B`ma zx?!s`x@yxS_XoQ=dpnz~t<9|m?h&TCJW+(}{4qnFrAz!Bk`s0=<3p_rUHWQVX`+$I zx?;(Kg+;P^J5+EGmP^+n6~&ROa^Xtu(GU&!?Kr!hSL^n@N**so;0lN9K5x^dZ3 zDvel=F?kfFU?po7eDTgM&4k@%n*4%OvshoZKE*Ic5)}EM3TM&PsmU?WsA@+4L`$9 zY1UD0Urn@Syc}J*S4yQL5{&%0SVCY~iHpW9$X4-i)r{-ZI+5Tw+v38U{5{ipD(uBO z8}%;ya4!juQKmpShlrkqIk%%4?u^EF16uKt`i#{0zQv9Lk6enwBa@y9bV|pbt$6>g zk}>3w{cT8lF-6-oP@sSGQ4y~V{3g+mv~PQIlGygm-@~1JxP2*c>mbiqzC9(~`6zbb z)c~x{_DP~h0>?ItWeu!2xXNf9%coxAm+A2ki<}f|YFE0^SxPPki>Bg5dnwkh-HXu+ zvR%ics!{b$IB^)~bHjSEZBL9*0&NlJDceiaN?SzlaG$q{7m2uBjSAImkD4Jtl4|X? z2aWm}2Tl$x+cA6KU(?psrro85>H}?Xx_?ZYJ367aYA1yAC9$(C8rYj$gRz_uX$*nE zad8L9r&ZMHO2@Yv#*A+>#PbxAePyxxv5(1WQcyDQOn4uQaSZbI^q5j0ri|^}In<6H zovTK5IhWU~#%5KhFQV7M0bBgP=>=m(hsbGe6138x%LL7Gb=Z)W8Fo}<-N@;xZ0M{~ zB$iIAKn>9K`}w)9s?s$GffK=^w{Gu9#=5Bob<+59Vv&sO%Yn<^+?IE9PV18DgBpDV zjcH?wrPYda_Ck`SJBRECqATmFR&t{_BlItY_+Fdh%Ro&e62`^d^Y%3xq)=qOFloAt zzgjaEGqkrofyO?lD6yjNTV%izgF*~fimQBW=ihBy>t7e8KMp(w! zx*%B$WAee-qo{~KJWKaf?c+_D@}1JaN@Ir@Y0^lLA|ooK2lhaj*qfQM%Qck{-C*xH zH*u|5nTX9v`+hdk3~MMTPfy)i6F4bR+v}yMKQ9TCPMsPd*26YWl4y6oYh^M%d&E4B zG*$lOXR?Edzd?qpt6yo4^+J(zF_86Nj86|1Fv)ogdBi?QQt{>+w^ylqr0{Iz1l9-Y zquf@5egPSS^&$Gd`GLQqJ_}z%g5D-%C@$zvAydG;s;j{5VDw<7*}i8&i52x0cwC^- zfLR5E0>yzbYp_c0tSss<=%+ir6so0gn z-vCjm*mc89fT$EI)gqxtA3zulvnX6Vx~DXv`W^-VhT5?S9WoWWK(r41BlWmkR3Gq4 zHLo41Cw;G46pqd_akt(T3su#%xFiMS38mtp-LBB|8phhbdEkQ?<4xu$v8!Qsd zKsN)(N*_yGNPh!RQHe&Qho^Ft3^Pi<*9;2-J`0Bxq~9xsQKWt9hux)ps)sqHeQJk) zN&8d|V@cyH8ug>+)81sF=hNIoqWk~aGX@AK@BIV_DDL?JwpEPs(XVK3;?V7BZ#V(l z%6oEvZN)uTfS$^p8bD8J&lI4iye9_GQ{3|egsL@-CH2AyOPLtG0&^SfOo{ zk8G8$FpgIoBP@*L7a{Nt;d%V#dX9FwMz+)_@qejc)`xTbL_2*aTY8bGxQkajA}X8} z6v_1u;raUZ|Fh!1PiHYsv7De#o>wH-ErjRdo9iF6(-yKNONolbxbYndv1T{7f<*($ z+37%exPoOJ9@^iQ#1(-u<}9`FE>RG*`wQ@8tQl#n^av%0;Pgl(`@v~U^k!Pat_Yni z0hR*1N6^Y)L5D0ehFLQt%^9beW-v(z!sVhTbWzuET zvdNuW)u1GG^K0OmXJiNwy?QQJ@kcjTtVX zLkt*_F%3MIcn~~foQg2C?2GKrPP=dIcT5M4-2<}aOh|j<$(b-tci^&}vLBhR%nt`9 zz8PN5X?n8!nO+V}_+^)yb$BWqDwvB>vbvdFOr}n!h-EIb>zNZXDWjDtnL3-Z6HAfQ zq12fZ11T7ixJaktDcF*@kf*?}s2^ui3 z3<+Gw_w?y~hOb#Cv~_PuGWtve27l&U^I3gIXB9F93}1N{$MA2_(gpSxV0FCmPx#Ax zb)Fa&dCz^aPwZvwnR_Ql>>W;A%T^%>juMVC9-Hno z%gi(K%)Fw0=9zc}<;Jt}kKR))5|;Hl?UU(vWms}9{?vIQUW7dF$v+V&)0O4T%;I)} zO}{kl3b*84Y!iCpQzZWF2T>6@G3Ua$s9x5c(Z*zJ*2Vgp@U68YxOsEd1#fk0(gk60 zMwXL#Yup8Lk)rI3d)+nXK&#BUPKa=jXD;Bfv zxC{6qOxYdxEgu6r%Rh=^$t{Dk$W^9XmL${z%f^AqSkFX(%2@t%EcA~1yF$o^^LHga%Rhh;6COb*O_%P< z4y|coMCe1)AP(2V{(#z>gF1lS!xQ=m*(g>(B1>4tS2hr+(X%r`t%HjZK@FQb&BlaE zRz3<=wkb5tr1&KigR;bkssesG<@yh|utrV7yQot~V1BL4tP z$s1WoOL;b!GLbTnLKu-)yz~#l+>2c1G?dPcn3O7%cIksD)B6U}MyJ>f3J?I8^JHNH zh)3#zN7;WkmUWbE+$0XeTU*DOS&Ew&#TZFU#K#$!b)cY44yBGEo58m-ysD1E*l_dxf6cBN0eXL^tv2npo6A$w%qmN)xr zpnmN%mvMt7hY_4nq~Bo5NdScp_FU|v`I_H2`@jeHmHL>nFux)9(r1%n=q1Cp>rQEd z?TE1DgZ7pmf)CL{%kA$S2}l?eSm8PQR(!~N6|Du@{L%Wm^ScF%8_=K80p+x<*bdJJ zya4VR(p`eV*)CS+vWM0w)LCX<`si?6ZI(BXH((=hBS1S)o3xwT9%ct>GlGLNfKzPN zMGwW7;Jy{e{`(i%s@k|Kz)2T;=KyF5ECq^#&_RqA?##Ek7|ee>4TrIhpwSj{@JQ_( z^N1X?oon+h`LyR;>(Dx9m$zZAG_&z~%)Nej{j$|NiPfPd{l%jmr{g&~IYYanbrOjb zt+A_n$!~n;bj5Ooezh8TZJ?JK5m@gl75?Slb5c2TstDW z+{C+yR|VnDTjq z`}5xMc2Pxn7ln6BVLJ-0kAj4OiqnsBfQZq*a+s=qt07Q1EbhKM<_`K^E?YS)E&iTU z^5O=&OUz0{(sN}WIvUgDg|A$3x-X;N=sqO;d~Ut<*aD4U3%%B}X#VBcZPqR8-NLfm z`_IFsbqs=&n57=iL}OBR1rt5LM9L=Z_#*wSBM#4e zpM#pvzc%@E_l9_96JT>&`PcMa$oD0MJ%u&F>(pt1p61GWYf9TX;U4xC+&54_ z$i4vU_xEG)eXy-SJ0Xq)=o}~)=q|8KA(#YY7nn^U+ywXzFv{O>lHf_;unABuQ0Rfk zLf*vS5wLp!8pJRSkn=*kKp0W*L?I|tWDRfxRG19##RN>B(*T%n0TtpvN@U3J0R4dc zz+j+YKz;yGAW^_o;8lQqpnX7nV0{2%AY%X|&=2GcVg;#yzJsoSV?YUDI1m>22J{9B zfOJ6wAX|_oIt%21*THq8=1{e)Q0Nw$efqEcK5Dv%^L=BPx!GRn>%pfHL zlV!rVgSGst$|+mI0Chngb#o%paTqh5>>B zis4^I)g#Cw@K|6ckQ?Y_K+uq86~^|h#y{|ZvEdVXr62f;rSS!Erf=|p@P95mgj|D! zdISsP7cxLW{eKq6^*hE0i5ps(!C+$eF zilz|Vdk}5xqmSQLGUC_4O_xR*)5dWj=F$HnTnl+GHQGr=P;+JFrvx5-Uz?8m^W{)G z0V@nZRrtFFsa%nC)!@hKZnZiz>kCtS# z1#{n_2;;XjlP$jDo`^J%H8p+lfeTD+LF&L9Aj}-vDh=U%a&^7T=S>- zq84B4g9~!*TX(6mwi;Qk#L-`FeIcyRvTX;|6H*^tS^oi_HOce^Qy1vNk!6<|=Itq@ zFEtke-FR-YGltM3ub&ft-cFdi!rKb(V|9g#Ccp z;(v4t3|FD$`lXcY^ZA-i3D9kFzVHDW55GdU0{SlrC`+7Q!JKDj#ht=ZewZz&A z$GIiG7?r>K)|YYw{!9q(^@J_JASmK5rYY`t!t905yQFf@#{Y9}zL@HQT_9iR#M3KL zuV^&{=@j}EBR~Au^DcZTE(|pGrHg%JZNVbmGmc<>3ZlN-zKrf@^w-Bz9OEm=U zgpjx3#zQ37I46Kkor7WMmA_}{J%#cr>X81^KC7Ilukk>J#duYxpg%%ao)Q76K#47j z;i-P+c1wXHNBPg9kmDRb95nQbT^g(-#Qb*Wh+eTbT3Exv(pCR6T#-7={ zt#_U&r2LU*_%?S7=h1IoSR>edd{l1x{-;^*$NHyH#PO4l?WwDW^WE!V%5}G;VoUv} zxYs_fwSS2^C=}YBLRODF*`~t0$fc&Ir2k~Ma#C8`V=kCH9BVQdDH|gWw=dGAJu|s$ zx!2m8iT7{!dLym8K2A84w=N>;=lgxYp7naWF5G(@;M7bs{nmdk6(Mq_lGQ$##oO7~ zq^9QC#xz?=`fl8fB;6jLogh%*9VONta$;6pD)UunNp^;?xZN^bLf)bf*{Wr%@`tiy zSOdA&)Xx1H&$&DQPVPa_erZTPFJo1+pLDP)b8s+=7vRQsvcI%Zh}R^Nd)4EhYjAiFLa!o={1)s+UZ1s`!*Y2qM*vrT<_x`s)b5dQ+`<`4%7W}FglXLes+Zt56s zv0VR3m9GNoC4%>)NWp#PA}(=`^D=@B&ipdt)N>@f-R<~KYw);6M`PEow;B@4hg^-d zgX_YQ%_y`${+H4Zo;Z0Tj%Jgqfn?to9HRm1MQPal6wowV?W~JgIz7>HuZ@PCjp)w8 zde%61tNrb+)MfG*zL$4_eZrlCozs`{%g*^fZdKZAnamps5;yaRBUVvyaSe$Vl&`iVSw$6%vk3VtPNHZ4 zr5i9H2jAPlggNS;ZzyQoYZCRswWV$1aO2DtV8|j|AaFizAfL%6#gO8{eGyL}?`}2C ztgLSs)u4%@ODdsM-TbG@ z(8Yvfqm;p^8FN#{`(J6E+{Q3@%#|ZQoEd!UHOrbnA z=H`4`M@O9DOwm+ZOH!QPM!EYy0yufAx$| zY?NNuTRZ+}a3hEi>7sG8I|+SpuNFIzbf}w>0f&=!)99ZWn%ig)#n+@!bK1-&qiu3P za==%?;$^U9>AZ-~YeS=-dSYTe(n*bCQZ19}m#L9xifYHIC^x6gy<(YzsTT_^>%;Uh zh)N9hAIpS(9Qrc?xAgpgQdC<1V$Pz(y_5|m+Q#An%syhDf~Wy(JgP1vG|Uqg{`J86|8}-JTG2p03NTo`{J-!VG?iES0(T z(PX5BKnby6)BO7$uc5@ns-U<$YiBp^UwpFFo5YV56D_MIam^wp%KFL-&!fGb!2|at zWS-)y-E?Ck*i>MzlsqO8MFo&-KsjQH8F*Kru4)RZI%842rSRVNKR9^B6lH zhuNqtbF7k*2vf`48?YL6Z>RI!j*^&^mf;F1?Y=)A%fkL@N!`}US`IMq`P_t8BQ!7M zZu_p-i@TS|JkSyuL1eN6o|6CZpq1%rA&Rw}ZzmFqi>=AbI6X$@(6tuIIoYu0WSCeb z-ni_g%LH9({#D_fT>qYz@Tbt&s)rrUJ$?e+l)bkSKe`vBA#%&r|z zNZ{l|+C@o00o|RAac-yF&@DA^`5!Oj<;vx={KZA2`!>-D&GaI(ZQr;zKEqT0{n!2F zxyuQ|NdadH-u5PeO9BH=B3=W-L_>v3BBhSB!T>Z@#L`V96&sDHr5TS!UbLR)eAnOG z^vc~j*RxZjVs_+s{E%<^J3M>vn6jV4wNBN!7WbV?-7Z(74Qk8V9)_4|-WU2KVAtR< z+f)DTtN*GuZ~+2YX%Gz@aa?2f8e)cwCR&rAm2GM9vI^~qW{ZYx)J4l&{sxX|MVTW0 z4z8|eq@1TH5-L9ccN{w{#ZVKqNs`@9=jUK8)1^L!pQ64QUm#?LcvUf(Q}Bk>fEv4NeZo(7Px>ao5^rqy8dmAPq4@-kNCfY!yN zKb944tXCmC?jpIo-0HDMxv0*$4vtu(u!fTJY-g|*?vq@D>LrbLlC`NXxnUA>a3BXV zzR#8b`3{ccmwGvUjOKud{ku%auLsai_}*3ct-8@LJZqTttI1z;t+5JAeiyVqwcjB2 ze`XVP7xrrCt50)Q`^0ef?*4whjuW3rl~G%#R$@$nKQ6^N8~KFxERU`}N_JvuBgeN! zk7b7&%L_qH%b`R!uO=a?l)qCnG>A^e7?*+H2SDE@L3nnsO)JfTYw$Kx2Ai`SA~Rib zUqxs-NrZ$Y80d^KDhnA>p0Qppaf9a^hnnZ1m8cYArE!Z*zzv!3d*(jMn*FomA~tWE z4C4LVRjd$YRBa&vHF+Y@oCY-3Ih$_uCFy~$|K@aAhj~N_{n)}&&KvEb8S;zm@hEi< zWzY4vzVa^b+5(asfbnu;+FRf&yw&&UtZ)Jma4PLId%Mf6&m5|SzgrSnQGIfN$gd{t zIaytpuWYr!n|?l81?D7qHXeBVSo&&jtgEiiUvcv2lTkKLFEP8HC{id{sq-x2_#SC~ z55q?^cl~TYOc>GZhQPOq{Ey+|F9?ro1X<4f3wa*Qd5D^KGGH#JNje|q<}M~}><(M| z3xjYp3Cu(U=f{=Q-b75)$Q@q}yXs&qdH%lK1!_$9dDAKLccH}ZEKomzI?#konUW?! zv<|;t3V%$sh3KbD>_wXJ>r9bcgN2EhLzB1SM)A`Ucd}4Dmk@tfg3BRD6lDbau2%G7 z#IL9zWbwwC^<7vdy=B45TLB47l;j zp^?`bsm^alt{nb|ZF^pe!*h!PT<4zkf1@fNGl%OEHUvIbz1QtWi8@u(lFWBHU0sjY zR-d(~x9g2)-}8j)?OyZdHeMRsDSGqGGq+)pref~r=Ld4#8Mc#@G?@^~fC{%2eww_F zPkf{BAWZPVHg7>*peRqV-vjGnAbk+P+np6A$S=v|8BWb9Mf|Q$EPViWlLm(GSdvdd z=+P5mV<58^xvw;gjwa}JRc*?+LwZEu)vK`^;OGWc^TsZ;?{==oHLFtS#wXzakSmMg zl1tnn#=Th)wI_^x0k5EUi_n=VHwR&J- znf)r!EcY|fDfYD2S+!akK{;Hf+UttDN)E2g6gL}Z-vs%2@~c!t1FU-RQG|Y0bJ~!j zB#-hsW)S~2;G-(RDbHfcL4)eJ2CjeTU&5gnyKEagWi%jx(5{2^lG7)|H(cGx(GTU# z05M$HS%aagZwN;k!^y-~!IKd1LZ$x#K1~a{0;-aV;;2~vQugl8;Upn=_6i5*;4_+u zQ2tA-0*P+`-Mv_uGIpw&Cu-;K*#Z_AxScrh5I}IsMXcwTz`Cplb|wz)RNn4 z>Xu=%J`x8~t`tVQOfSBe(od^c+SZeedw1T{RO|;MDRF->M!#{Dr~3?^-9N~?hI(tC zvE63nu|KDO)T)*3Ek1TV?g^E2Z!7x@Vw{9{8m%t3kMmYyuY_ELXmME%2sy52Dm9fo z70tFJJG>q`5=c%r5A)`QX+X{^^2T%K8nhV~e9NFJ-~=l^ngb`uam?EOp2No@Onu#q zG|Vdk2^kLy{o+;;?Hq9#z1A5qhF5R=X;cKbO4-0oS0E2fZhthj=LLw4y=~aQ3k_ha zQSm39Y;Y>$>G~RYj(JF=W~EJyf9>D@=|T2=%)`3u_!wb)bVjb9xmsTL=;Q@S+xeOp zO_43arSFK{AwPRN{6=7aWc+PtSEF(+bprR?Y|k+WHfcQtm}&V)l5OF}C%2++#GL{N zv(h)~qnjiJPGM9Hwx#Z$+}?Wke}z6J;JkQ$z2)|P>9n5O?GC`2#n;vXHlKPuYGhj0 znu-;6SiE*tR;KJZrhVZ4z-;HkZ0ggul`Rp0ahfRxH0j4v+xUm3e)684T=U)s>F>>_ z55E$6mI|1>RR>7FxKiq=wyy z-`fF`6n}uQW!>`-lB!46qM98)hyobcdc$^BW{ zWQ^Q>jy{)N`NX$)Xd69sx6shibDjhiccXX(cU&Q6lJ;3pwJF+Dx{Qgk>urIF98?;O zG7kRM1oj9$?JQLd@JGAGP?+Mb)-#8E>QiPwR+s+-p4|_6W7YLZ^+}C1BDTSj#7&j9 z0x7>Y&?pMEo21Bnw%4*;M^W!COt1XA192)p+$Mt=)P_a|V+z*!!?@dBVNOnU1F-Q*80FION`hJ)rLT`1N^ZH$r9M$%8)|GGUBJ5lK^e##mC zrO`wpV0r7%<32LEyxiXBuyeZ$tJl$aG^!>QoYbRWf3!ba(Cj-lWZll!)H-1@tPAw{ zT@tgXo5R9|lPgz0x%0HStL=XeY?!}T=>}{-D54lD*$_0<=7+}HXF$?CCoq}SWx@fW z3OkTR3|u`(7_^>MXAtpF@5Ub*8ap6r*cwzRgMCZoZq1#@8tTS?7`hb;kZv%lLq-qS z`_J~+!DB`bxCe(#9C@^DX>AjN=^sAuUvs6lmLbnz*o9~a5s0{uWGYUq7IeTi2e9M% zC;EL@>8GLqcd*M+AK3k`;t_h>Pi111x)xzKEVRKs=mm7SkmsbZez3ZoAX|+3D@u;s zx@y)|@;(U{u+ef-#0)qUbQK(Sv#P9{N{=x_{S_B@>a1?;e$>$CP@RTb;%FCD)5u`P zLX*f*V$>l=Fk}6Mvk!F%U`^T&`%d}QZp+#U#DuJB9S^J+R}5$9>f-d0bDWq<3fMtQyf&jtnV1ok;HhU z))nSd9Zw}fktZmzv1#b~>()Tt88QrxH z;c`CCMQeC^7t!jY0QvU4a4$--635Unzge}!80yHJ$|p_n&vN4Ec=VWATbi z>t0M~J-J=SmD5_cX)Q>EPY=+oQX0S#T8^;ON5S*zP5{NmOUIJD@2aY?lCLjGzYm&j zA?!eD-`n*XoDlX$_L%=So%wmb;wt7LA33{P7cuHX)~d-XEKd@o!XHk@4Lihc;Pp84 zRE;x{UQPoU``Q8<0`3vCeR}NpqmB^f9^n&vA;tWI8%RAp*qYGCtj`i>_-4_`<=wu7 z?dgh0KHOJlM8{9MFM0O8w10uJ*u!Do^T4k?xvl^@?(cK3;a*pt1C82xUIrCU zYtB#go{|=G=YAF@A7tHsx}NwDaZnr9kU<0Tz~FFEOj$wbCRh}^K7x!Glz#f;#({q9 z@^#x(`Z9FnsX?$VlN#n{EO3HbLpi`2rXh_t$$s2u<(qk2`hwVaQ1wS|-pT{cPUWS% z@zOn~zODAQ0l<&bZS2+JWg&~>H4<{1m8-M03`$q zcHuPfNdB`D%Ma-YAd%tf5pFTRoVDtEVWpw|gKcp593jnyJeJKPJHh#aMbuZf&By`h z?y$%H-$AD4O7d+caC`3KdW~KXDy`@3rI?@dN(Zarie*9A$YAD17g*)rY&4V}@_5OQ zBBkz&sKE}-HQADZmm2bqITdRcZXcpIr}Abd$B_+nK5Icq?Y^x=%-S4d#FeNmu z;)$m{`{#*bX2P$Ba~}8qQpdo0>c&D~r}7K2|C+@bMn`pE#h9UXsne1a<6(q5cH!sy zN-0PmNS4|4mA7HYt&VVdEq+Xmn6how$Cr^k%;pjoM-51=I(_A6Up+{^l-%ixbY0IH zMUrr0FXl(Wz3&ZDQgx4^7|hg?v31)TbzRru+wAx6P&apXpqU-V$$<%7ykb*p53S-Y z8ps-Mn$gX?_*l-Fs8YMZlt-bV%w9A@q{vB}eRWXlaVML;Lk8*R0{i(iXeV*7p*K%b zq-6em4i(nRQ#VQ;e|JXD4c4KWhU@2G{^mr`C3*eG7Rl9;y9p9GYW=eb<9Q=eIZmt> z-bUe%cCXi0Z1bSK&sV{E&Nmd%9HRg8oezpdOT6ZUFNDy<_`6|-N|;#(&YK90e7f=t z{=0}-{q*3;BwddXdWmA4P!=bz-ScVM#F$$<#8c~9k5{Mvx(Q8d<0|c{H=TTY-avoP zm&}GXIxEVK^f|Rs1Z})+-pNBCt}jw!x9qdSGy>Zje1|&`M?jV1G@{Otg0n!gge6B1 zDOs^5G)_fn=kbf`#s<|JTDDRo zk4-oFOc0?1M=oB=7=M*53y|38UTP-l!gAysU(WVnN^u`G&M6$OCaSL%5IdgS z&QVX#Xp5vVt>Z`5p7}o2#n)%E=uZoF=3WosRKnUDCNi@!Gl)2TV@`st3DU-nw0f1$8tJFj%EuKrsLW#VB+&X(3G~Rb^4%1N4>Lq<{8ne*(nUesNVQv z>tNk>^mv86yYI!9=p4E7`0#}Jz<$wFul}sH_@=c0KZbs#m)Q8nnysYgUCv3iG|YQB zYU+#1P6f9c$D$fXnyy4g?-Dots$HnIb$hY87NX=|`(1uwoaPcfo4 z8?MpoDW)%JR=YT|Vg>>q>_v!%rb$Y^+iI&2KP8LSIYs*|un=G$kpN zay^$dGs1h&Kvv$Sajm~6DC)~2R2Ln;Ve>4$R$a`_@skd(OJN9XuxWJ(JzIr5(M-w^&{^~@XbyJm=#qn{9R5Qjr@7zvtJK0hn2 z%z5?D3Up*zjC8+cjpU=g@E~nfR#paK1G30j$S(>NZ%sr^SO>&mG7s_Hvb7fpno-Hi<8gKOi#p5CHK1AEFst0%)SSxmr zn&K8V=;VCaWK>9Il2&$iB+q8$d00V|W*9*pRfu^ALY9h9fC5|R zDu~R%(K8b1X{XYtz+E{C(RRP23@-!Hrk;96y4CeqnD96lR}v~G*W0QrZnXn=L7d;dOy44S^qxEb%I5L zuB=OsoB76@$I5IH_?^CAIHf#C$kTs^Eqw)F!eO|oOBIg{oU;T9u|w$Sm4)mN05nG>C)bE) zZG99G5ci6Mn!-CfLZ89`B8LU2&?!#JiilAzNDnptvSR|~Vb5bQCvbWzOfN`GVp@F- zSsp-B$&qd z{7zK4_$)o(`$Hzco7GHhk`o6nZMs}LQX>vnJ&V|PvgXS4;}wpY3?gt2x`d~NUvIN| zew@ahOCZC87bVC?uvUNnuG|Z+Eq0@yE9f7HW$wz?O$Ke~uD)?<2Wa3+r_?}~%9rnF z0DC$64Xsh=1HBNH0$&&Sj;%+YBp=~iL+mXZp;n)fNsHi9qHks>K}DWuXl40;hlMj? zf*eZjoG5;3@c0?%%8Bxf!J}y2ffU1?W_#S@nTg*jaqpC>zrnn1gtA1UT^U@Nm|{|` zc7kg{Yq8!I=xDMYb3H<0T)S;!k@0c+cxpN$z`oAc&}00VH}gv`vDzS{Vn4*q!Pwql zriwP7@uKiEm3VWe^Yq?8c4*_dVdIBGG{++u9v*jfTq_L0I9}Z6)Bwg1mzPzyz0NwZ zu_|sWhUPu~bs*&0Tp~&h;bcvy00`Ms_N`wcq!A|un$Td-3~qOt@Vf^Rbv~&$7_=Q2 z!!BW#(u5mB`wtGY#pR)8(Hil8Gke;EF1k}H}!1fu#vAD=2e+h~08!<{ow>~K6 zjwu+vhMED0S-FJXxko{*8y}cRx_n--AHMU@Z#yn;V-13RQS+Le^dJ@+W#ZK~JMbIWzRbIkJ}OR>Yq zHbfMK#`{S_xQgOBlNIO$k%rei2H$FfCzf1@`FZ%Hhs#(OhmY@%@AsdrKO~%znVf!b zB2&;o%Sj-c{IIICYbYna`Z+@jLcNi07n1wFkLn=yE64lt9r_YK{(Yc~z%?Fyjg1p2 z2W&!+Wf#(;U77_5lmG91E@lm))Ga zsSa!lk946Kvc_3gb#>QSZC!?l__2m-Lun45bYveoX22aH9@)O7w|$BClZEfc>BcWx z6OU{G5Ovq1JWUFG=4g@g%aYZP@Azx&(Eh96!CJW%cLefUc=vqS>B$^pXSGgvNJX(} z2B13R5spTGB8TmsK1e5WBy3w zp#gVMg*dJlmM=yZk|4PNFX>lEh2Nl-Ln5b3^AobJRLK%fk${i5FOfN`CBGzV%8O}o zDT2=P)M~i526dK0yRg_`5ic}XJn2r*370Tp{5`-Aq{}8JGWG}uuZx}&=<+-5yQz9k zgQX0=nr4FGG!clR^cL92hT(&~&SS8bC}XstpU;5|u77beU=z zuxrDebkb`K!<3f?Q?LbBuq6ThH{Kw24NtP0eg4qp?$S&dg}Z1Q5{u%jx79&cm42zN zBZkn?AIQcq^B|rVfr?hJ#63=eM;%G5gpMNOU;VpW@{_v4zP|nOWupR?Y7Yngi#b#! zh3r+jV&`_0Vulc@P^o7ZJ4H(kfwo_)>SZcIGUB(EmkAh=+FQ>x4mlZyFZ8v1>;V$^ zq64moj1_(qCsg=&2=Ro3jeil}+-n~i)F(10nKsjYvEf;2a$O%kS?0-sQkv2{Ik?lW zyVKsxt(}g>R^O|C{x8C9)hBY#W1+Dyc_Lv{!z$@y^k>T}e_b_un*u~nB;@I%8a8P7KsqWs*Bf5XP4Ac$-cOAhe zn|2Kam;b{U4#C*pmx89>Ijy1ajX9Ka2dH49Bwvv^GCCOCCJ+oR+_VDQ)V<0R;nY*ek2E^kJp*y8X7A^GykjN3h%CxzWZ!fez zI(0ujFTv=FTD_XZ%M_{UA`@5WjSf5B!_k2W;>^0THa*_1ty)v37fc9H;Pw{KSy=#rsTi|nn1E+kiJ^LK0w zR(%x~Ly`06lgkDWUJHn!Z^5HO(Ius+O}H{SUL%$k{D{;D?sOL8|FT7c@AIuSv>J_< zThl^cHbaVJ?HPmVufCk4N3rj8?>WtvZKyas*228xUfAd?Gp#I&@=7BQys3#To_K0K zEQ>U*uA&YzOmPBKzc;`mu50@xpQDxy5sqz(JPP>vJpKJW>nuS*`L-%QP`mZIbrJ!e z1S!^E?$7B#FmMPbF}me)-bNOGL`b{2+HQU-xvO!>`f~Bo+G+aIB8^jMglkc@B8>CQ zg$D_E(iq4Riz7DmnkU=aL$nbwiisdD`Q6=-@>2_J*OSkE#~2!1?_@18$l;<@i~Sp> z7Oe5L6HY1^qXhx&H&D{J47m^L7Jy;)a&HwIlaUw5ZrXHX{Fd_MyCtJ@uU&>Ee)tAh z4EIvxxAm^a>53xgh?4qQ2&Vy}RvT9lddU^)Yp26AyKfMZ=qrcnGl%Fae?yjp$Eg31 zpLmKIY}LaaznETe!%HO=q*`_=E}vZ4iOcUFW&O5u7}>2J?N`z<8{d|~uR_w+g|XyZ zWX=&wUS9V!eb(#pBc)DFk@)18Up}GG>?uaZGs_Fc@RM`> z{fQ3`U1~)-){5zv(@>~O{tgCxiPN&DM4s4$h7)y0;v8UBI9NGXXyi*urF%^_;hbVF zV9itG{59uu^QbINVd%Wq+@{9a0iX1FX-FlOD%!m%R|V8c3E`b8|Frwz9d|@XwYkE{ z-&gLy)lMduNHm>kTj|3@1X;#yeRlNL1g-gB05?F$zbSdccKQ3I?&}k`>v-boKh!WH#KUG>jPFa>p!ylo61oE*`@oDohWC!n(XMj)Xu~p(a#uLl1 zr-&OcCFTZsVAY5RdXup^Ry&d#EVO4mwS{J_tT`9TTT$?ze~BxUeB?s>mlw}p_!0C7 z(@3s;upofrn`;Y#Hd8tSM)`T$OOcYruUXwfegwlU>bDxOiAMWoRq*hv(pD^}DUgnB$(J5ehDTDAL(vKG8jZkTG1Y^X!H*VBZYHm&litUB*3-SYIlsywrvJ5sFJO6G0+iR2DhOqXi;xhUXnW}++vEexLoI=c*V{~XQDLsMnHkv(MOAUFCGdgR?zN`(H)b^20`hMY}z79l}usF)gvI_uDcVkZ?d-wK6J9FQ| zFJUV&BN4)AEC4cdbZ3;ACxkP66uegY=ZVpb!@6%J#y&m;ZH%-lt;8 zChNzCT?uI&Ach~oUKVGb?;?b``zI&ccD6&j%|#-nAgY+#gtmvC0yaL1sUYf_4w>4( zE2o6!4PvAD+)?!|B_Vt7;7q$Nujj<1C6c;JdgrA7l>aW|`4x*h+CDx5_r0yxsO zSiYpEiXKKj0dmF)Y#YiMZnwWr3GrZs)erH&kV-@c`t*f#)-M)6)|{*a0%g2CU(Nu= zfxfgJR6ALJsn|isTgs$*5ug5~^qG9(Q$#M}$<|Lvhox-$Zy+`gh|g1J6k}ttsN1bV zdYju6jkfPXHOzs@7*wRQFVlV_P~>cOGPk~v?~D1{3w^ofe1%3Ag0HMrv48=}5m+mo7SR&e@fIwpsVPXpcl46kzD2j+Se`SaGrwj|92W6R`O0!JLiP9{S)5mEPbZ}tb5TOyR zLca#0>;ddWl%F~~Z9}k6J{R7wK`m$?o3#zw4&4butVX>{Z3D0Htyn`Od?+X6_U&t! zEv(88<#L5&-<@_%xX_UE<_-C~fdNi1r3EnY1v;A+tIUcS#Ouq^~hk|AdPV@!v5BT5`lmO=@WjgLvv1fRb?1HVc$!(cO`*6Q&5u$|Jz$OOZ{xi1dQ*gTU_gN?cbW4AMjIttG6 zWE$Z#&l-4%H69L}wx%YSQGw5(HpY-G{Xb{NUN;&ywUEDW&((OkUvBAN|FUOTdJr!y z{)Ej>#VLzO;w3n}V+LLbpZVv(PVS`$_#Y{~A?k(Xvi(07Sfg?5bpZ-*Cx0(M@h#mi z3oZSg^)CzH64GOPX>m~;_gr}b12{;DafiY*D345L>6ao(wO10(Z#O4Pv)m>#D4X!c zP}kVcQyZ^XU}MTRtYNLP>Z#*0y!-S=A8CtZnpmwj`|9d~L_3P;jDq@bJnyh1^@bxM8cOWqH-wS@-|v z>`TDoxXJ|U)zw``cUARKecyMtx?8u@vMjY^TWVdFE!(k^SdJZRNKD(7B0GUN1jqr& zWCGaOF`2+Z24=%9Ft!}o771D4TLT+{vxI>FOOl0eXCae(T83qZgu|_U?^SiHB}-0* zI8v*s>v-?~|M$QD{yR!n_jL7=MprhKwD)cBHTGa1G^CHuQr{=mL&@jk*i+Z+--5Ua zVKx&3$fIdW`iP0nq2`_~emc^JdQW7BN8rbW$f)y8MnjwCT~JzDK>k;kF^|BJ2Bx|@ zv*^~ja&|a^ZZ2}=$SC7{v&`s7(R>B)2}}F*^6>k%W$BZoqqfAa^(}XlpDZ`MXIs0? zNRc#)j6y@VZ!GTX52l6(2NP9yb82wYV5;g(y2jxgJM{S82Ek%CNwQ5uHh-(j>Rx|f z^gyZ*mB#Krd+W?I_YW$ub*V#~76i{#-oh^E-c9%I@3y2iG@-rpaVS-Oftel_VZq{1e#9Ksee0joYs zP7_|ju0hkT-(}aowO7GzhoHR32T(OV)b3`^B@ba3zPympee!xd1opmkMZoW zprUkE#989F0!spyUzwT!1J_pR)9Mb@Rr7nJ#;5##75?e>H*2-Wa1}CKfDE%Mq(NWW zf@%_N>AAL8qW0KpiYh(}-i8cQ2JHEf;V6zs>l^MF$aW58M_qN)qNi+PDkRus z+@0@BHf>B>AyXZ#?mrOg&BQ#$x};$p{nEFhm6%Y^QBdcyEH= zU(z=vyvy*};j}9{R7Dq(>T0`EwFa7wAL(C-D63<(n$;0%=XF}+bz0-Ae2~}S!(%bXt|fHf)DB$HOv~+9HKSul9$zz~&;nql{r^>bIf2oR=A58b8?4u8yJ+|qi`@5}BwygZ!wq4!(@4@o>DJ;Ju=w8w| zI|Oe)$e?AK;l*k)3}(j}6hE3KS~Nnes|fstUJrLsY&tVQ#f}_i;B!Vk;@FnC3|qlK1%3Y85VsqOY-_`24BdRm#%c` zyVQzE#?|;CCQO!miex#X(cz2QU5#yBk(Jyq*4I_=nL<&YNK=5iRrM!4vdYBJHtw zYcded^xV+hwr{9GwAf`)Qe{-_Np-2#NTWB=mJEi|-P;Kbo6I5R2yv45y;dos6TCtk zAa+BT_YqUzmvhmS_4tFxw%8@Pq(glN`mB;YaSvnbBd70q z%X1boiYD{bCy=e0nLw_@m;Ji97dpnnzW=(;{_b?w^}XIW<{-hX84vUG_hBP7b6|1Eil{uJCF&K5mu;mT#4MhG9hP=?n!iVo94 z*-HrL6diF_Qsou<}mzc+O>IqY0nG5UF0g~T(1Yyw$h;0Ab6L0EU(us6vDseIAF*rmLU~t7dy1*7J%&{m z%IsiO0z&3`^d!X7mK)mj?RX8}+4WO?sz9c?BBet^;SDHm9=lmGjo6C*yyjc^es#O5 zWa_}WHV&vuOJVicY;F8!0~sU#18S>*&%XjG zx=-^KpU?NnNPExt{TT^yNs(&H^p)hy!n(GS4GB!KF-}XkxdM3~$m1{}WG2NJF~LjQ zG7IH(#kNw+hJ_@2JrgQSE;Xl)vm(tBG`#{JVst$NiTx|9*JsRQwYCGq`p9 zM;$I^2$%Dj&AV_+m8sw4h5v}Q%ywdPsjswdU9i+xB1^l>nT58J1ufLr*zURoj%fMv zq~?ygj9iDcd^R0)F6}WyNiLBBRchO1Mu3E1wCG?o>|VC~5lPD^V`eq~lX^|g%xVx_ zDq^Rs#wX~PjEd$7?Dbdr>Htns2FagX9pvDfRo@fNYO|Ps(>_@9EZ*!3$!1=MdL1$p zn_@DV)atig``fB~tNCu9j}p2dbbY#NkMVioEz%At3p4e(>+k&N|) zP4Ap(w8o-+mutD6craVVZbzLXvfD66oYOcWLsmH=+Xq+vLCubQKF~9c8R5a^gXV*i zlLyU|XETZd>2E@I&hs(PHni_J_K%fDdrD2EOeWab*hzMd6P|@wiAF5Iu8WE~1L)QE zdc-*~4PoNJJuUX*NBPT3&mubIPRI^AW8*~3vrvwe>@?;A_NpYf!~<$k1^<5RzYB&8 z4%DMq39P|!mrzV@@Hub<395{luOpi!rb6Y`h!VIS64&PF^Pr{&-Q-Zv(m{7tkd+`1v;0h|wQU<0eMBiX71Oz5tGl zw`PYD0^=Hr&I4vCF;y!O$3vFG?EgDrsKJ-C|1@U9)3yWjWltz@{W7GM2;Zhfr()CcP5q;@d?BGO!15-Sb!g__aU$K-HmP*FSAbW_SE)sdZ0S{MTX! zYQ3Oz-MYU&WwSF>ix#`T=P-_iRXX&X{HS&|xaX?aJhm>8H_WQAFk-bXw{g!q*|N_sZk)5&6S1Ef+0n zNp2a64Rw900W_fR8jxi}wyLG~HQd!eZh~hWqga0Y34;0L<=);a5at?Y@|w+pz?JZ8 zmS2pLqOWgAk^?e&6)kG-DdHDxX#f;{i3PqS-q7Aal8{ts?KKc%KS4?TnOo4Cp!~UK zQnS*rHPlsWQ)z{~R>5N3pUeX^Q+bOrIgpv*hTW0V%jLM<4~{i7#ms&;+5Nplo@>*>Z@dt;+!?TniUbB`7Cw=-f-K zo>BpaR!SQA?$ABm1n7)_b^!=M={CJ?I7!qL_a z#FS8f`Lc3g)nb;^s>Q(SN`Y-KS`z_(#4gZ3`zbBh!(LxZ0UU5v-ZBDfBIt|Qc>2l@ zXSi6NJb_B~F{0HBE`g`aRufIJyrD7+##z)`N3cniJ&3PW zPEq$j=tZ@D1YajS5E5;OCwV~11Dx2M=mc?dyO~UIz>UmwU2fp&L|}D+z>tf#4)G)O zI5DET@lX$kjK)q7TR~-j>Mzora|je6N`pj)HI8b|w$@7KS+UtgwHe5k53o(m?w~@l z_i!>*`KD2h`u$-W#{fXR%_`xbH>$9e3$nt9HZv&D7M|K|cbXZ>D4DM2$d|1GgZ4z^ zwb)30hb%H4B1?1;e~Tp=gS~4W+%QL=ILLW$W6>wYP6vY?`-xx{tHH@?ek|X5}+f9L%c&t0?H<~Qwb^F(EoGiFM zHj!Kxw=_32^hU}5C5nQnF_uyrdega0SvBHGdrcO*67gDXey6W}EdLQv4XTMmGy!2% zhOqh^YbD}D2eBK&iVrkC3w9!h8Tgx`LRbU5x#3)R+I7f0(=y8(t-5Cl1-)o31`4_= z+;Fa}UB|S{mf@9EXG~#5qWQ|5U84qr?jy8ot{C!jsM3eGIhS>M!m?^+SlMl}xn-vL z#+Kquo$gPV0?pCbKt4H`iZlmg>aBt4Eg4>oIJ-p?3LK)m464@&e^s8(#`0SZZj5bg z3#Qti%Vh(t8{m3CRN`b@L?bbwcWH>t!x>Aw{fsaC8EKk&ydn8n!%2Pn}w%Cj=lT# z-t3ET3d)!&!CBqSDsYvzX|>|dbFQ{$!7eE1XTifoSqU6+aa8i0I^Fz)SV!vxt!`%( zo9H4nd9JKZi_K4z#d?C)-9GHQFB$@g_-tzbSOvuvxdRGd{ch>_U?h1@k~4pa*UCt;Eusmw&ilc)(w&9KwBu&hSvKa zobzG0-eW|LxCh5Q=b+B;@i~v8c;fS5XVF1;tf$OoE_Wh`N^&?;Cxg@6Y3I>uhllA} z)6-gjb1`7Ho+`t8=p0<;H1JUHzF_KPIXLa)PM4iWm-TO~?~_og-=W%<5y4XR4)U0=y9l_J56T|P{H~`gzkJFnrMp~m*k|x})#QL-jL77Jlk=fSR`l8%Rsk2M|+pHa`G zk9cRyN3eFkpoMk+uKBVS4s2^QK2~l#oDQEUr&ai)U5VB7dWUn(a;UDB<!F4pX^*&(tw3y?o;b~Ft)JDThqLo)wlw(z7$^rU^APOr~d>4m7L z5&prqoj$L#yUeNhY+Pqa@5cY>WK zia`)WrSFVFDR?K*o0(jg)@TH(t_v?uE)?|QZ9jem)#%cScKr(1$SgJ$=u>6*0{hle zWx_7QSBPTiL>a&3m-sF1#S>-p9!OF_V4~_?j>1+^Q?wv$MsU zw_g;5=ejyPDUYeE)tm8{a&7sKN1P)YGhGph{)J1mW}LZFv)d%{4%y-)S<)Ww3@10V z`qX$^Fxlrf<=v5W4z-ZUms&h5DHFj-nR>^;^QEO*uFrTfQt{&I#Kj~z&XIlYs zs(o;slFXlRoMcg>UKRWgI5`4N5v2*c=Unm>p4V$jHSJOOqWfamRm5Mx>9}7+bYZ<_ z>>YIhjQ_?+ZhLjacDKZs!i~95IM*0j8Z+r+jVwvRUzgH;e<~gD>+s(P;onN!h(_2a z5KZ6_)BytyQ6(ba0+g$GFpv6Rpvb-{?;)j%2^|qyCk$LExBiN{*uR=EK&^s+j-}W? zgH=_@eFlqHRlN$w{AeW>=4jsH#^D*9`AaVd#yWIlEB~|#D#AZ!d6q&mHrg!bDsNgO zZN|j!;f(7dHh0eP@*zB{YQ*LtZ3e5t{r4-!wKR^Uck8rGy#aTs0pc*G?e+-Vp3djG z6|_Tpi2=A**?9A8-*j-cFx}mrYMx5XIO?FQ$Iaz`Re=8^06Y31rT0x2g0to2H>`+^ zyAIv2JVwN$g=ML=T(vjg#H?t7t!=>#Nmg=O?H=6$*ju2{vQ*G~z3?{2Ua799{=DjWJCYqM5{~urGRhD2WZAKB_FG) z1}H9QpjZb&B`RRUzpsvLH=?CW0A4ocbN zKr-5bw1dIv@eF76*(z5V)aihQlE(sCo)AS%jrsBSW9=Z*`dl`Lv;!zd!};H>&mVWa zIPViWG&wpC9x7U`LPx?!nhTVjO1ZmODUrtPiCA)vhKC=}6^t;Pi zwNg`pzg%AW{#`^pY0FJ(ObA|r>JVcTB)cL(`9rPeEY5U1Vl{_U1C-x?q&Uq6hGhh2 z(pUNN^7S?tNIHzPku{@w@cra>zyh2_uU5zI>qG%;zYuH)Hi)iyu%qZB#Po?@HvMZ8 z+0=g0RbXP%{E2TVKU7FXJ;@xc?@BSbye&mB)|5U`)>`+)+E148y$XK<2OL3esW9qE zox-&Of4Dit2qCf%?Y*%rxGonES&A{xyf4`v%l4#uhI&)M!q#Sg zOTsNM@Ee9zqxnEH6xN4()6`v={;X4wB++3vSw%*+Na2JxGMxgc$LJh5%kru}B<b% z-y!d1Y*0tk`r~mCZ8`hUZlXjuDmCSp3ZAPe#kJDBT8jkz0x@{5P93g^Gt0H%I;VxY z%x6K~>xx($CZ_Q~%et*iDhnk{n@eUp3ZYV}y4BRw-)6jZfKgUkylmya4G!hApjC*+0t#PMD>2mNmm7)6fXyQrDf$_Tw}rjlh@GdNWf)HO+ElNFrB0I6L!?pmFg7S> ziIS;eHll1?qhJL8S5!nJ#2K2+EmkXd(qLpMIFAPM2h@Ls^VmRq0Owr)6!2#jw^sR>aSjNhpvlA4x_ zCHng7>x|t%)i>~j-fy|kVSpTTJN;H8`GF5n9F*+cL7Dy97g-<$ z-7cSEq>j!|M#*D$2PBgHJozRk8fX$O=NDdpYz~L{0s1CHB=9>qQ?b zUdzH;F5H6Wp#EpKdo2b980`_SCt^36Iae|eNI5yqnF<7wE)E>4#)nhSh!&AyA*1TBy-gFbD5G^~1L7AUMW>h*-J298ssK5yK?agMmx7gagXhH6+-@E5r# z$~?melK7XPFX0pfXTs-8x_I7|gmj&*yar~7UlJa|hq=7q@DlQmQTFuHLJ|HA`JDTT z?mRc>tx7wrwV}*FX-IjPFOr$0pBk=qAn*KFcl0oAdEHy!&&s1y*h@c@B<@n zpfPJuYEyu7cy{qEeGUntS?j80nvf^7z{ECPUf@NRn<*bY~%U&%jY0hS(K|lr~0oe(_ruQM-7K8YR#GGv7w2=8DuP z9-P(=W@$Md&i8cZ(9fa4d~Or`LA${wFh}Od^#tVcTIG6!us{>ImoZx1w6IV{y=H1w zYwc;cU1!dsRQ6clf8g(pCa5#~G2suy<9=3gFD^nYb|ZZ571BW60cEF85dg0E1)3!9 zg>Q;${k06j*MXN|FPpN5{@y z9ACyl70TkMwQ0&xxH^EgIf38aGI`6*3^4m#7PnQT+9x`_fx<)!fP#(c@X91}>+_Wx zU;b(3rWZs-VBn_By!WM_y*fSp%FloFKAL4ImX{Ia?}j7%4IE*J*r0J&ixwMV(W9o( z=LIxU3u@nj+|q=b*G8Oa)`yHv=tD+Jrs_Rzx3smAwOv)UfZupKx3*KF)opS6On}+F zXU`s*l)VnSS22?BJ4U*uU;Wuj?`4cE$q0)0eel#zUj|P-&&fO-ElXdijKlFhuqc7= z(sK}^jhaPL245gp!VQ1JeTbyaLx2(}0PuG&{|fgmoQ22Ed_6pEtHSf!qr;;^w8`(Z zxU2%z(4SSEx&Aa%|J-)CL(=pozF7J4+1bih{()C`2JPnCzk2rR-IH_YzOo(aIuygB z+9`L#(LIAl*Q`M^06uiyE)ma?7Q#X>@IZ3&czAGdvNk?=!kK>u;Q1-=jH98yffOK@ zar;ex9v&)<(v;+LK#9&sru%bF@T=WVpZzKv3;ZsCM#xR(4n{PKkB!wvfXavT>mD@nz>4MZKuKTUFbsvBB z-uo`y*?~SkI)7)!`RM2ewvEkSo@mENVt8Jc|@@8OJ&5_a()9s%m%iDtvHE0+9gd#Uli!zX=MFmoJz+!N5NK!Wl zJaywK0nxkSQbhKfBtrtUwQ%|$=ffs#Na=oFi$=(Cj^59&pap; zxlTo;*xYWpFb}$B*+~NB+aS-AQa~iG_o2tlRD*>azC|ck?_tqR=gaUeC(4*XUL<&1 zb#B#ekZ4vb8i%oZmHwvr(Wp2i( ztlN1<|BeT4&bv3x?0S=IGD#ggZo%6t1>i^c0WaZaNQmM`N*c3ot+|7V31}n zv`!q^)c>B1;f8G=9KBnVIGQm^!c_n5LkV}=mbP`b4ma~G2Q?hpXkWMEQ149--INXX z+}zcBcw7G7t&iN+tp);u$?jLJE{P4rgW;YVTH1H@h7GdYZgt6Qr1!@5)KGgMl8P|0 zN0n5?Y>P!4x$VaW*55wSDUwX{#9_GV!;3uKOvi~dk<)FQxsW_hvU3TVCbIJ+b4ks} zp__A_#5{0ZkSF=Q^dzB|ctfR1AUPu839YJ2+J!Q@@?u%P)T!5S)60~wkx0#D*;b>* zYNZDSi82uoqMNOjAE36M&XCn`bzZQTSjeq7@HS%$Wdo5WzxfA}TDgs^WWi4c!?Bl9 z`!ojX$}d9#bJzl2uT1rED9HN%6ZakPaa8BNb7pq7%*@VC*)rR!wrI6Q+9GMyR?U`V zS(e-_%iVHaT(B`1j0*-5NWmeP+>o0W5*!F7*x0f`kOskl7l`vhLP9Q&`~oT5+`Mp8 zi33=xch2mrnhWOMyx+57XZOsR_3W8*zW@LGzH|OZYtUW%q@Sp`SS+oQ!{l9=o3TQv zht-1D&W3BkHH>`}pM4r*Jfi>`$>qrGC}=ocHE5pfR1-TiPwq>bL$%KqVD&0g|4gB3 zkTg&2MCBO)6_;OcHZkL8aywtNb8E?;B(`+k`uN8B4Fee?MWO{`6>Y;kEnDZsd~`sINqC;{!ahHyzNuyY7^mYZde`Ry(?AC|2*BMNbG34c}oKA9BJRO_6TUIo?2vTLM zz&VdcD>}qLxOh}WWY>Hg+5P?F?+~w(9;^nNg>96rXQXKq?>NKQY)ont?|cel;^TF7 zWB~r$)8ewWQD7<~z+|J8XH4ko;DCaa(GGCfnS!{CMD-^jVd^HgGqSe9L0 z&i;C4+ao*Y?_1FlEl@K$Dp=o_T6yQW8I-@3Zl1s+`V#hbdrJ%ziEtz2;Ye|%zNqmC7LC!|fBmgU&F2fsFCa7l*x z;ZLk?TGi&)Tin9I6I)`{{llf1rxdXt_8m9YQR+J!zG+0Qw(z5P&j@BA`BBg~VjHAa zD_itVgb+@XHgxVxK|VRTOK*81tvn;JG!jbPfY?uvI(4yH%}Rc|H^>1s_}$o1#EOjq z{zukCtBIcpPMeMW;5;%L8Z_CjhY}q^s6s6`&=c)~PxQr^NZu(Ud8drzmJ*U%E{o)r zGLl<95|R@yRu>-Mf9TQmk>quc??3qHaO4T8Y4bqOrdFraC?8$8P*9Nkx)%_V|IhtP zKexRlx8<`-l_PBD6A&f8q>4amG*D{i2yV+8co$E@znCNn{^b$ap2jjR{sMw}d6}HN zNvSC0VHGv1GYNyXU!0!_fhq50Kwe%EM0`n2=`~|R8irP@p&0?}G{hGqLGlRd-)mVN z*@4znLX#^BHeQGS9~t^Byu{P$XUoukai5O2p&kT%CE{PqjbwxXcvfSGG`}0{gIHC8~M00IRAq(*S>}*8g<04_>lM=p@+xD+&A8 zScWwjGz4W}fYdWs&8=D2v~Es~o}_goWo{YV)w1l4WmVRW-GlGoX^2%bfxcx;|E$2= zK~LDLr2+Tkq<$OCL6#Q1w*8!Rnjd^O&a*Y_<5_T__peZf4zLQA{_ zVtfPNz?-u&#&<8M8uxg}?jiFvW4wHIceaG_3p`ch1^El6o98QGeD=Qx@%J|GKEAbe z=hB=(t0q{zF0){JN89=iUv$CVxwpXf(x_=xw^IiA^gt%JrniPdb9M<*!{!$5Y9IXg zatQE)4ei_eW4A9ova#0Wav4~o(-g3~gKl5*qEvR-B)t3b%W5NCS+@_uyTNYeEds*^ z0`^IG*Q5uwB3s~rcI#IPzOS6bcZ-7W;9ZFCly`Z^9!Dczg-{z>u+(MYU9N|8BrInO zrJB&3r9Lvc6TdPF_i9D2yi?fN51>=3Mk}VlJ1V0m=JqDthI=`4@j*~*1mBy1?k=#F?}*ICFLMJf9Y(12B8ISAa4^;Hedpp9IK zVoyQ&Gw>oA-cJ{NIS6S_73AwKWs6f;_T{LePklwGzkk-jQ-#LD!VHH}Sz1~{RnFer z)xKjO9vaxUxM^unhWaMNt&Kv_>F-W%e|UTS=}lkWo)fH+UeDWj!Om-~E~~q3Q&01% z7B@2;>PbAa=5E**wnAL^7DW0q)`h)LYNMXVK6iBwh~CfwHnf2D7LaZMffmp* zinr&DjKjg)oB>-hU`__)G9a1(&|0-WxdQ_p*yw1PgrOvc^%VRXEXe?7bo~811wSyk z@nn(=mS{uACA1;B;?-z$#frD&^$s$Fkl)py3FVMTBy-~hc)1uX6N!#%AQI|pArjw8 z7ara@uy3fTf)nENZhUxKMQ^@}g;X18XdNBQ&P^emWWv@ucX9RRBg=v(ELlh;dO9JM zXj$2kU)k&g4=wuA-sx1rAkcb)$jW4bXL}Dms*s7hR_9i=1rV7ybYgQXIWPKt_Hs!`>ZHJ zBJr0i5Q%UgDANcW+X#Eh8#7r%t;`~7WfsAnHf(@2fjvcTzLZ6O&N+cUpK0 znj(UlT-@cxD%7l^8AutscqnG39$j0N0Qjs>KjOqtd34JZ(hIi=oM3Ix<&IS`P} z>k6eSP#7QsS;0mn3{ZdhFhK3q!vJP@lUluY?BlFSuO=x$|KpCODWfIU9#1W7iR#eO z66l}u*}gTI#kbCn*jjfle+0ZC@UwWEpi@I!GP$f4{VN^Y2YbD~hAPSKv!Q(>^+sOL zxtyk|IqU1w>v!F?YcwyoV^kuVqTGfi%BY?w-^60Qhh7fr?z=fi<-&yQ>Y*v@kSX*|wr7x2(|xJ+fKX zBl4)C^x8stNsCXcY)hn;cE*s*2Wn8R7B*<#jRO%^rZ?8Ox-9@IyY|eFaTXgAM=*M< z(A3)!ZQ;t!xK+(sje?aWZOP7vr#2$ld^VD`iUt#>H@F-|fBV|znnmp~iXbc7mcdaS z9KT51p$b3{Oe+3<(rXw6<7Yx7i6utCqj`flWKUjD#k?Fxd55V@@)VzhP>(plG(wQ) zAR9YqUHUJ= z;iN8p2`~N&*a8~7zPHM0v$sgjDG3hA!r}uoOO+Ol-KgQLc>ma&h!?CG|05wmYui@Z zj|a^FdU%2tPtCEE)sRNtR!Tb*}*@=jaW@8&EU1B(Sje_Eojsmcbo&_RRkDZ95hu zHMD`VN@xNO#Zb95`#TsjPbKE>?jPEy~z#_RZzPLp*Hk5 zGb7S^dedc48=ZrwjZR(;wbRp4n?-Ue#T!(t*>ClRcoKYd>;lgV9DW2Poru>3hto*AfZ8Hn?^aLY?a z=0W1L_p^)legDY3o=?1V_pS%m#hVL9m%wAJsc;mw?WZ6fRzbXuWAn;hzwnfchYmk2 zLdKJS(mx#G-&GJ0#qrO{W(bAy#k?QY$WsMaN6o)Gfq7Fx`V&5X>WV&p6{(}uW6zK@ z+6sUsfB9?P#HdiO0$LKXIze&?>hEaa*;c`7&}a-+L9lWf{O`BvfWd9y&Cnlyh)@w| zBE9C~E@*zn$FX7ftJ3gUsEHrxkoLk_h;VU;aBAWe9eP$d*rN)U#$G|$H#;WV;`jws z^xAB39NOaOf5R4+yt9I6IHVK37RfDYiY+vU*5~NdV4qrWRk^(h7kfx=DvsjCN5FDW z>Gi&%DeY*fd4)7MB%@O@Gx%DXFBzw?%^rNt*iVt?53O))suga4R=6@Mow!-`iHYq;)#HI1ugRnlnb z9ojL}*SNejx1ufJYTMA|u8#PTA(qgV%Q{*Axj1C&2(LV{DhU=YzGHcUH5zpcZ!;Rq zdW{hpnDjthVph_sQW0hk7=?xynrPlG=!*Y|Gd2l#(J`yyDIJ3flO^* zwHYi#f};MG-5NLUWvRmE0NdCi0!g=*H*H-wyWCRDUsJ!_+!Z8E>aH-uP?-@!LhMF zqpgH_7XO@{rzTAAV>F{tOfMzcg_7}AGN_~%Gh$(^r(}Cgcmmp9H=a0+QMOS)oi?D| zS*cUxV#NZVd#jX9Frc&0XIg;b>=g8w7GKe4GF_TPZQ1{=TlbyaQ`fZrn+I-%$J3Sb zcK0m3smB}X-!*5+O>?~Xp`(BM`l`i`Uik9ATsXOE@$m}}GDluI)G+t1Z|zi$` zfnHOp)Y4v@&+9Ba&Crhd%6=Z42rQabY3o$XL0>glBbMLHS0c_U|beKPM$)} z0+3i@O{!^p_4kMe}v_C6_5KyG#p^%M?DPUO3fdni)rZs&o-@oZ^b( zv_N*8!q9PAIL&doTu@cKh7>A_s@9cLsP8Y`T+2Hk6UnXaN>K1Olek*P=N4~kUiqmN zar5lkuRD(?P++x3aELk$=Q0~z7K6rZ4fJ2B$<p4XCuo~6_M+hr+drM)$J4M(=|OQz2Z%YnI+p>m)|v+ zJ_TC_?%vp7ba`04(Pj4A-7~YN28}Pjv=(JgeGxC3a;~=s2EiM!Cl>CW-L!e2p2o?V zg{AE2`zjS_lo5QxB!cV92>!u{S&pp2hE|YyKDFqIAU;xxuF`qBFs1h8aD0kx(G_#3 zDx>g{)+k3=wPSBj zm=B;B>-7Hgk?~wT=~c=3)Rryt5-gfl1g#1cZXcd~m5eIy_EbnHrwSh0`q1`z&SIe% z(P8AQoYvxyeC=C$npZZtRdQO@;PvPPIo5hVjsuWc`*Fzjl)NggRDA<*W=#-nY}>Xs zwrz8xjcwzLZQI$6ZQHi(jjhf1^1oM4RZ}%}r)K)h^z>ZR?e0UBH;i$G_e;pOm6p3j zy1yP_;K$f66Y>^N?|Cyvgxp~6FvTx5)`$w1phbH#p;yvDE7)ct$S>C-F$AbT<|u`f zsP!}j$2{&UxX$O8X6=tSNrmOYq(?XzWFc|xm@H(&w8hX?WHM*lT(>yR;<8|cL}qk3 zQYy92G!1IEuYBweKLS>a4(q$(?u}#^;!&lI_-li;D9XGr;>M$-p}dO02!`|XQ%z=Y zLRISNd|<8Uf0HmS*q2M`p^%PaT~}kOrCt^{gpHS+baW#OV-iCRqeN<`C1^`@Wwc#K zig5`wkY+LPJKbV=`UW*i;h$1{dyukr>V|h-U~z;}68gW)_vY(19?ioe?|6s^`uk0T z`(Q2Weh9ry4_FuoX23Vqc6}jL+ z3Bz&9cqvgo3MYYx#l}luD6B+$b6ZQC(-*OOi6@Rl#)x)V=%aN=7tPa8(}VhZ`no~* zQ^!*j@VvRSf9gD9HngQ88QhT|dmc43$Go0OwW$=)2D996VDy(i%zp=ybje6R`Z#Zz z%*z}XW16Mc9NU8WhvNB-QV(Rg&0%5&LY` zX3iRnF^VZz{P;_LCE*>QWM@thBc$EXZs2J8zNlc+QHgtmdQhTit=-aGC~kMXc(zb*m~>qNDUc+bs?24#&x;|XTsBP|5)=W^CzXL8 zTB%Zfd}w*Rs7MG)1EaB+gMULGnTT5ID@F+TQ^g7P|+Qs=aOmo10Ln%v-f9F3SU?MLHbI&*Bk_m&>#CEUP7IM1^ zn|r;fnpiVQN@}YascH7R>3GQsoqHpejLL$e_Oc-OCOZPLDo$G1JPtzRgLTU)K^dua z&Y1}Je6Zt0@Ma`b>jN%-sPU~H#>%&U^1Lj8M0Qg__m(&<{li?v)-JzbK+-?9v%gVj zfLO3=i-|M-)`R5*VMYO{M*^x7MD^phAm*1=u#@0J^{*B=%j&MHzVIKL$oT>Z9KI>* z;CuZFhU^?TwmuN&WRRxO|5(=JbmNBMOdyYx&MJL+jhp$Zxep(!Jk4zg=VyQU$m3I6i zm3txl{wC>qW_jV7V)#Nf@qr)K{rF>4sBk8en9cyIwa`kWw|`)5rUSq)kRcDQ7&M@RO_vZ9O_-ulBI}9w7*} zIT}^x>VRFf({rb870BOygVr2<3Ln;80(=AG*Pz!1B4zn}n)}qlX6`5z!XXkK z^(vg*KqJ)P$W1L0SVyh?&U>^=(BUBGXMQ-Z5iHeu)PNt4#Jsk1jo@Zy9V#VNXOrCZ z?#B;n-`6?$7bb6{Yi|gb2ZR%D2z6B9h;f29NEJn1M~WnmcI*$;3TlE@HjiVlW?iww zWma*OaN%0V32snW*Qn)kr6dP0+Ci~m@Xht=9!6GE^`EgT;ZX3V4TzonoI8dd)E282 z3}ausmb2ZNk**)iX?Vk%_bD^?54Q$X|M;C;tnQ6?4k%lz1#REFK=Y^;X0eSz(TdY< zv;<5P`!K2Dv+iOM^r}i!$Yd-32pTRP72hLbBL0ZiELB6dE^H{I-)g8>ua0Lv-vN8a z85B@VkNWYDqjPlr@y+;Dm14=B6>A+F%C-qv8TqvIH2j$x&FO|P$!lI+x5^OQTUX1E zOakSfvpRc$G*tmVm4#VGuKkzh)n+HGULe)0vAXj9DE_BIhhuuQyx?lb>Zg9G*!XW= zT|lN6$TN}F@i^GY!OynLfb?dn{O`b7%IV$QGsh^6yaus-3b~0H3Ym3U+-=yf5O;j4 zTeEquPIF3c8vzKERX=$`@wddcotqJohlca%<;!`4C4X*y z3Xz58n?3q8nq1)>YC2P~tuu=-fGymEehNkmWIy)`WKpK9E`;8szQ zL*}X47-d3bt<^#M7Si}k+ZPkrV-SnD1t=E)C#`VzqCUi`Raik(S% zL3-l5E6Mh5vc3vek1uoHUan8}P09K2fw7F|Yi!$Jqw}>QpP*6>Qvz06FR6=GxYA}C zGouK($k|Vl)z36mqF&YW+B@9FZlm_6mbbTMyVlGrDo7Da941!82(ia@E!nkEw;$m| zH%515fLFl6anD{mq=<9U7@r?RN|9hPy(saIXmjyiBwGrFN~DS-t3y8x!*uDLP^rkf zxEbZSPulM0Yc6ed{jbv)c~!G_aZt@8zgeu;Zqx7Nn{z~FY=!T)@@QYe1%Kw69rbo* z+7=$%r|K!_1Y)q(`Kvh+Tvw*$Wct|FSZp+kuZUKXkw#8BhJ@`TXb#ziY_z74R%<>y z0nVP&MJsTslPu=w4hzY;)xV3}WSZx3$Cz#I%|44vFA1h}r{)%+v=IrwD~)Fz)0bBA zM!0X&Rd}I!r>ty=?P>9;TCzzU#SgynI@P4LK;~C) z{(lXNf8Dy}@wMNfnQB+xSO*E6HVg_av%H5-ns@*aL%4vmke8+oPqeB*fUbc@q-N-K zx>hKWc%^8+2{{#)AK!|zy|d1ll{!gt4!soxN$fxa#n7W!VI{tEtQ(!M998gm!Qek! zA!djLgMwu}&;ALNS2drV-m6<^pG06lrL@MwmsmI-uf33K0c7|qj1E&*XX)*A*ion4 zH_m@pL8HeSh0sz6oE5G699Nfh6ist9C8N9o;kdY$_+_q5=4cCh!qdEVUF4K8^rgdNpGBIqED8|kpdY=OJ{1 zzu--?kgo}Ytdpo5-GvUn^CA5xr*F(p_LBWAgiQ!NCbrn7lqY(0`b$L6X&EyGed@F> ztuIoEYc3Gsn2HGCafqM%NI8x^j?L{^6+l6B?Z%gA~wGg2KkTATVowTak?NX2Ghxyp#t*NqVIq8|?O1TO?Hm3DY{JCE({9U+oI$+ID83rDm-A=CY_)V_Z42MQ7oS;s!NmP|>XoLNaR;!Knmp|`HvipU0 zUgO4PP@n}*WqNo|8qs+WzPN5`)Ejz^rScClIeZ*O%6o5{rt$$DbSG<#mbxk&TLJ*F z!+;Q_OYu|k*4Ydz7jFXg6lo_P(!nU^Ok+MTyG*>hfjiX9-9Spm>R9{`?PrAWXIW(7 zDa}A})ao$g%C>BFf)&+rZrM25d7=lManKNmu585G{C*0!0liPOe&C(PC@3Z zy6v01BwA?16ycMN>413fLiR&nAXXz7+yY!9kZwc}&L=J8hvgJM*fToICW2`g;!cLG29IchAQx|0kNT>d_KPmqcDmzX2O>=>L^$=D!D z8liiQpEm)(Kx`V|lZ%4@BPNdG8X|mTt^MUu7-Rz}>+=2K|8Q)<;Sfv02aS^+KxWD3 z#8(45q?lKs&@X9neA__&;`7IoWb412VQv)IwldGg1*wgzOs%$5)SI{^FE0B%IGeDa znJUBKd!eK1x%rgBZ28syexseFMvJ}H4DZKu;VyQ6{!4K86A+p0Sc%Hmjo5bG?qOBfT^ z^h<+R5`M%^F5XvM~Rq($N6kTSi8niM4Ng2MW3bc3ql?cv+?Dh91I5_!iUr_b2 zQ%1j81)~mUC-4snZb{+zBXu!Uj{1HwN=cQ?|>|#47=+jlhF37E1NjX4X(|< z@tBvGn2{!sZ@RDs1jh+fg4EFm$?5DMZ=^>jgJa0rHIj^$P8Y`T&y|Q&)V2x&HMk$Y zTkYEXX5OL3H(PqTee{#B7K2(RP9piViQ@192yxZxJI_y7-GA{Yk@?+g9h!*ujWHdj z`kk-o{s^5IIi8iFvObhA-o zz1JF=EoKYqX54lJAxJmt-|dy&^13=@kHwx5zkR~aN_QX4TI8x#_b1kF?H;k^e#*rW zSL5C5r*6V?SE-x#?GHG-(FM}+d6$2AJpy)IH~G!I=94X#oSS>HtFp#lzaD<^uU6Ur zraQFto&B<-$L1P6oQ~GA-|Uq_->O^rX52VMKlL)p<~4hns_X@E4ZT&V5zg(o?sW&e z6;#DOp*pDeANd6oSf&=oBIOZcF7GCelL!H%uR-> zyH)T8>|om1?B$QDEicph3VIVZ7J_}=if`AWkGm=;fT;gjT;7v#ZQu?uU@q8rDfAfn z#}PrK@h7UbRCT#Ggt+f?FMIfG(>{=SPmd#VN*mkPgFRFJkf>Bu1$_4tN&ng5+>{q- zSNP-A>Qm}9eQbBn`bq~OS*SONIaMfr0ykRe@bpgeo-0Ft9!T*dt&sHNf`!~mvG!Es zv_$1IPOYozt2`up#>u3ijkcJ27So7O#;r!VhO)Uye)GjRD&$-}E4WqF_ipwu$6z+L zQ&c2<8fxVMH7gfdwj?Jne$6Gvk{I#&)oZr~Q;JBkn@C90?p^YwF4DfoV3mpDlD8)B zGhl-_Q6q$g=7B2vs16I20#Rk;Qz$FFg>$}5c7s2w;f~D3UgKC76jwLL8Rj0IG!w=o z$6|);$^k*Q0oC{{&o8W|%Vts-J6&%(f>z-K;q8n$B>k^}s+CZNH{;FSpm-laU2Fr( zc^yYEBQsgy#ez^bSX#y01X^xkMt%;l@PE6K=`>Km!D zTs_jN>8`L|3Bv&g5!jj#A%D|STmy4mu9pwEtC)G<6)g?lD`xJr({PYZDDvYj4f%{&sVk!3p5yOf;Bj+%^g zWhHGxmrndNsjhA+cRooQxHv%gQa@jLI&L39fPO)gk~BDc?)V(JKofX-#%ndj@_(rKFf*DPZXHnN_zRP!_nb6i?S&C3Ht?%7Jke+VioE9UFj478zA<);t zN@TQh|5I6nrwl|A--To?0*)P1&R?Md?f`zz4A7NdN&{Z7xP40GO~&ppGs(8UxunbS z*52*?Mhz%UfH>bIW6e%RI>Si}n;IAEK@B zyyKTcKRiswv3c%VsasLaBCy&jSGvWO9vtv)tHQ$;PnCAO4w{Vte!kozr;U}Gc;oBh z{Jhk@AH2odPRb{^Rn|XA>Sel<$GsOi@612)0XQ(oyq_fU52>d5ruF}WZ&zy4-eT=4 zfAY3)%CrHf?VoHhpSyPHE*W)?*e>A6WpB1%B<;pD%L9yNI|{3981bGmcFdK{PAzJ$ z^6md-Tr+ZfM@(R6vpqeg=T9o>5OQ|v*xqe-1HNjoZ+5%34Y})5U zSqf(CP@)^;FU)N~y0(>hduf$Lk&Qfi;-8p|(4T*??=SQP+<0!7%M2`t31}P`TFRO1 zo?JB;dhwtid=-CBsPAm`)>qAwG8j(LZGvbYalmsFD!S)CL))|#Dxhd0YaTl^CjC4Z ztKDu1smj{KksJ}@`Y}&=VbWx3DprY4*OCzVbrPvcOR4GukYT! z@o9daQpqr0~Ov})lSh!vuk|0Qjt$n!-8@07*l1HFts(SZM_f~f3%uz z$^am*X~QPqB#Iu!=c}Y^Sx(0r>RNao0NS($GU7e*1HtJhhwkCRqK*xF$Pq1XNW(Qu z^ys9y!7jbhnG!#o1xsk_7~kNNVtV~CCr2CMr_0HYTGD|fEhlE?M>@;9l!jiS<|*6?2T&0R%B)0WVQH!4k$oru+;AXUus51eFU!JNmO zODJKR!Xxx?PBg(0V|OSD9cHc04ksh8h@JR{9#$tWckeM^KAOg1d3^nhj=Xvz?(V4S zc^bwp#)^u862U?s%~mW*6B^pB>YA z=Nwu3pWaC}RJ||M=`YNF*_-lt9R1N)&Rmm2(O(JRcv=d@l>{?l zoBNGZL;n{0l^|N#KZMS4f#QxX4~0rZ9bfu`l!%>39yfqhN2|dauLFf_NA%UI`$2!| z5BiZyeuG(v{c@7OfAJzI?(o}_h_x1^lXxqCXtct*HDISTJ*Z1F!@}SQ}u+46r7N1#$=CMR)e$UQFiE_&_GbT|E_Ml z6waA%zxGos^pasFRLLT2_vcUbpIW|k+}c%4Oqvdym28;kf>In(Xc}(tuq~cxq*`(Z zfM3c6ML)ar?hc`FGxgud4qB@W2`l6Bw0f~Xi#6y z?V<1VTVT|Fa=K+ukZ+Ows^)A>o6fm{BUXP%3;vGRUi~=uNlLU7`DEh}EwJY40n)wO zpbp+5BKIPx2PB+r>a|p6-IDv77NymuZ9ZpzASh_-xY4_@Y*@11_o|~}KL@+bEQb4| z<6~?!>}7ogBUSefUbA@E^_)zwQ@&TBd8+X2jSHe{zF}H|Q!Wj0H!Zo* zcVu374*QJ$5O4EO$K)ebqwLjK>&CR^gWCsmSW^oDe@5o=+%4KDro%cS?^K}YF65m- zY)ilqCZhU%6kKz2gsi@R`jrW&MO6ZcxLSNIN% z4T=w$bh^X!Xx>fa zrW3_M8I|>o-(#h!7mNB<<>pCHRTIs|v=JY#vO%|%ZV&*33#pc6OaLjL=gbvXsL`9lT3 zG-*8v;oxJEzH>6xWM!^Sr_$xRA^9j6(lcZB&{&40;X6EKR$E`Mv+6ke%?r*^H84)5 z&Xx43ljaqB&bHa(J7&6~=TK`!%W1c+yQZx}qRZi3*w$mGuy{K{Am;}7Yuq*bRcpi8 z-u`y7x%y;lU$<&kZ?02Wm8ly$Z9P`$kyhjMd}RfzCeu5%{w7ui&XMPSf)yO@yPTh0 zS!1LBfkGK9dGT}GC+3Yqb^f>Y83w3<%)b+kWHr8)Sc1NX=FM!lNApVEI`ecLR)#AD zJElf~#fAA_%(Ja)4YuZ;jABcs+TZ+|8!s8$PROqojNTEOLq3*q4AeYHLr<$I7;i8y zCKM<>ww>N-Q_?d@v0GFh+V1uSEBEl;$s`6SrBM?cCeMHF=xYxKk6WX8b3HqGg#OHh z+_0P*-w_Uvro}II<`*$LW_~`E5iRFdOqXWkxdWv65kPxM`)fr9mChqkTz?v!WXv_bFR-*Ez>LSNd;eSIIvl=Hweosyndcz*aTxE-)WApEAP?pPlhtqsXr+_mMwL*f~`L+Ix^t~jV#^3~R z5suhe%%4Pe(iHKyr1;|g3M*Om*SDp7A-hWR`Zq#dnENl)l0Vn!9&!DxAq9M^OT0&$ zQQm9>3IL`hUhE>G+j?^@TIBV>s7L*)IEr_C$&O_Mwhnl>bH5b9<{-h^ghD7w&Paa; z1j>1~%H(p`Gh>%l`Ci$CQk~z(wX(g9JzAuCad!TcW{>)bUm0)h5N6vBK-uTR^>{wf z80QPk!qTnL`?pUAY~SCv=S6476w?NgE0=WsN;0&?s$%Eyu&MuAg5npgLg{>H1sano zUMb$uN>|aFo|`X_Db=RK=;xTN{p+vAnk8Z`*kLPnX%>@X@UHD&mt=K&-T!6d-*c*0 zmBhZs0($W{w!6*=;W$n?cbj>eQ<}Fnt!@33ve(>gU5p;0^{fNG>?fo3$n}6;dV?)$ zGv24r`pY%(t(6-Vysm^dSKPo|rQFb5a4Xrx{J<}&Py>sl<+-Q+8bf!zT`0Tr>+8I~ z{-#RhC}7;);qA6I6Bc- zoEe7wrR@g1{#l)lIf~t4)8+Iwmshf~zHG10kLhl5d6_Z1in{iWn!B#p4u7$H@pZX5 z>7Kpz^EYHHU40gE|MwZl=a9j><~-+iiz!~&L z^DMvoIkJOn*L9R*ZaYQL|7B;_0!1Y|FjT1ffL zUP`NA^}Z|LxScXHl?Uqz(jBaVGHgXxf_w$-{X@Y@RxRs)_ByZ4`V#oRm$V81q7JKn z3XNR3h$^t>|zCCtay>q5pT(|CaX;w&}b5eOK<$ z!|ZR{FYkCNPbaL6fyEEQOv~659#d669j1pe_3v!-RkC=+l1R(5#|>2F`oiHFfP_gh z-O3&bCYwYGhA}fj4^}~gcz4*B2{UkA`kx7tlF5?lN9=|EIOMyiVA0RA?Jvr61Sn|XR@(j`*NYLh2*O`Sefnf~57`gRd%@O`N< z;VWy-;I-Rgyyj4~+lrd8gh^%atAsR`i#cbWXQpQ6>HJq|$e3j0>F6Xc%{)#`$j??y z{eP7$J5LE#`_$v77e(Rsjh3UpoaRbc@JPfMLmc&0D70v91+9qhuxOwhS z)Sm=4R(O*=E3gNq+G~Fiz8HD%gCd5#$bd#cI2wC;FoJaN1d_<)jD}Ih5`>!=vd6_$ zQYhtjIR)A$@<2whV-;&SMtVCDN0K4Rs7W~^8UU^_)+~oe1}tm9yW4v4*{2 z2}*?ERA2YTU@QxRi|$k?dbp9eKJ!D#GeQvJvu8-hTb@Cs29^;IVQPz&v%^(WHb}u< zsR}Otu!fd1!59#CDNSbm`dN&Dp3NqV>Qz<($}1PLQ68^r2B#Y#G^2tjNn==R3r{>e zgEb83JI>~T*r}i(zloouBRnEeUpIluH7IrL#G%9pBtVoZlGv6EW zE(CYoB~rbSWd-p;%8F6guKJZ@5jQ(@{Rhb*oa(mXTq0~_GAe2{Vd3bHrSJj+ITNn+ zEXtGi?A4Tn`Y6y8>A}GY#k7 z5brWAh;maElB8N)6~Z}+Wkw$7XV#nYRKFUe38`{q1vO@}79O~2`-I$c?fnVQ_i_aB zAX+-cNtc*aYeBq1f1;wbOstf{2#uEo9_`;evK-Uw=&^cwxYb9H@j0C`DXYqa2~MQz z^hpn{5f>aJr_dwA^sC#>iq8u%2gNX%uITDW!xQw3SgG+wU+6tmW^{3dCt0kZdYDw@ zipBRAg9pjedg%EUlwfHRr{#J4?0K4t>s>KRQsmQ0CQ%Y!#~sw8b*ZIjBU+`Nw-;NP z2o74U<9Gd<9x?{`#Y@h4DQ?b`K|>X7sx>VX#3a%7G3>RvCg`M!_ zS6L)2$FduGn;}dfiOoA#Xss$wwpn?h(SB5>dfA&%sMn0a8)W@CJ&zlZs#dDH2;(d& zw8ANTTps5~t{KbKaDJp}kod(_ApP*CN^!LfPx_7C6M=@mB&dyR7shT%F>1ALJJQfV z0&T~y8B_6Yg1**y$a(N?ERy0%BBMJK+w-_xdjx6By|yr8@cyFsl76knQn#h?V05Zh z^xi*w8l~jJo@=<=GYX$l^DXu5lG!M_Eo=*eZ$4XT<|)~^%KNC>JzyfM%l!S!o?p~Y zE$wciCG_6%f){zEMs{J|bOBe?ng1u7PzraYiezoxwzZ}ym&6Nw{PSWX*e={w)Xzu( zZ8B>#`ov#@cqKWxiH$6!*9!LuC<4HHH9)qEu5soPx;j>Em+JJeU1pA42I61SXerB- z*F#nsr`!v<)tcoa%)CN*11nWO-oi+)iqZ8}D=9OMjADy)dA1!2SgLcrOt!*weB%&m ztE&hDO5(;TAsJK}dIK9-EQ`+i!KSW_8b0Aw7_(FvK_Ru3$Yp2Q3l-EX`iyES)2+(d z_G@}=b^lEgcMf|C0}Q0b!k8Zx!q-LeXvIO~lG$7`yXePS}Psn8(W?UFs%x zQ8~yMoYW8cvQqa&w=(RJs}dW6!yjNb!OFXGE%7~bss+*LnWMRK))#25^E&Mc0h^yb&BG5pEX8780=0P$D&ao$XiUdj#L&4 z0yJn}h3xvE5h4@H?9EPtK6G}UOzJ3$gRvNB1gF3&;8^HD7YsMvqRHKr_`zlcO&ex^ zW})3t24Q-li%X9$_1GwPP0C4jj|f7k++K#{UCs{s&#mv2MOyLoMfe6spEPW5Ofkwe z#ky8*1y_Vm*alX8N|g`;ah`5oggV8e517|>EqTV5Y(^2OS8?sW_%%cmHcQ#-p*)Q^ zkJl&(T^*~Um$-wso<@!_I-%pCrgT|U{1fBOa!ahE{Dt)#^TyN#fl_ARguF!|P2$e_ zobJa!8_hpHGdaT=>>@YpW!S{;^o0+p++w!=2D*m3a|~CvUIYEoj&yWx5QBwAYlKgb z;LS;sH|dhTi)`}|><6))gW=uD%_9ak;%j`&h@oA9^~I#M?0bTEInlCTdrh5?u!4e0=-4 zIgg66{ws6}-sE|8%;J0VJXGB(t+T}CSB@Wk=*GmEgN)NqfuvK1Na6uvjkYdFbD(-EvLfJl8E88I@qE#A!AMDmGlYks9U} zT+pG!-DpPbJWf3jvoz0<1t&LBQY>+$qhq{)T9vPoKnEUrNg_ThXwlfi^29RN2kbKj zAvE!eC!UWL6Cq&0Sp8SS*iV|Hm%zh>9$hO3Mn8{7P}=qa)oy? zQb!~6IpsCzZX%q6P$jO6dHlR5iQ+!{0~(3aHu5sKPbwTuI5pF-tjYRdV)>bG#^fPF z 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

F{ULQ#4O4U4>#b85VL5U-Vz7qfiu!x>bye+5 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

I6gC;13)U*$TkXE7(DJzR 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 Date: Sun, 1 Aug 2021 01:28:28 +0530 Subject: [PATCH 02/11] Add train notebook --- Final model/Team_4/train_muss.ipynb | 1701 +++++++++++++++++++++++++++ 1 file changed, 1701 insertions(+) create mode 100644 Final model/Team_4/train_muss.ipynb diff --git a/Final model/Team_4/train_muss.ipynb b/Final model/Team_4/train_muss.ipynb new file mode 100644 index 0000000..dede765 --- /dev/null +++ b/Final model/Team_4/train_muss.ipynb @@ -0,0 +1,1701 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "name": "MUSS.ipynb", + "provenance": [], + "collapsed_sections": [ + "eDgjjNeBXulf", + "VVkUDfv0TDNB", + "oRYaxhueUpCV", + "h3ZtlqW0Uu7r" + ], + "authorship_tag": "ABX9TyPjNHiywYAO3h/Q9OVtiJo8", + "include_colab_link": true + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + } + }, + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "orOMOT86WBro" + }, + "source": [ + "# Wikipedia Simplifier" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "FF1-rHc2WKV3" + }, + "source": [ + "This is a simplified (xD) implementation of the MUSS model presented in the paper [MUSS: Multilingual Unsupervised Sentence Simplification by Mining Paraphrases](https://arxiv.org/pdf/2005.00352.pdf) using *Pytorch* and *transformers* library. I have implemented it for English language only. This is not the exact implementation as described in the paper but similar to it. \n", + "\n", + "Since it is nearly impossible to train this model using Colab or using just 1 GPU and limited storage, so I have used the pretrained model for evaluations. Though the functions can be tested invidually to know if they work the way they are intended to do. Please check the other notebook to see the model in action." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "lUSVo7VVpVhE" + }, + "source": [ + "###Approach" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "G9fNXCjOiVh5" + }, + "source": [ + "####**1. Mining Paraphrases**\n", + "\n", + ">**a) Sequence Extraction**:\n", + ">A sequence consists of multiple sentences: to allow sentence splitting or fusion operations.\n", + "\n", + "* get docs from HEAD split in CCNet (categorised by language)\n", + "* doc -> sentences using NLTK sentence tokenizer\n", + "* adjacent sentences -> sequences with max character = 300\n", + "* filter sequences: remove those having >= 10% puctutation characters or low language model probability according to a 3-gram Kneser-Ney language model trained with kenlm on Wikipedia\n", + "\n", + "

 

\n", + "\n", + ">**b) Creating a Sequence Index using Embeddings**\n", + "\n", + "* extracted sequence (1 billion) -> 1024-dimensional embeddings using LASER (reduced to 512 by using PCA followed by random rotation)\n", + "\n", + "

 \n", + "\n", + ">**c) Mining paraphrases**\n", + "\n", + "* Index these embeddings (for use with faiss)\n", + "* each sequence is used as a query (q_i) against these 1 billion sequences to find top 8 nearest neighbour using L2 distance (faiss), keep those with L2 distance < 0.05 and relative distance with other 7 neighbours < 0.6\n", + "* paraphrase filtering -
\n", + " - remove almost identical pp with character Levenshtein distance <= 20%\n", + " - remove pp coming from same document\n", + " - remove pp where one sqeuence is contained in other\n", + "\n", + "

 

\n", + "\n", + "####**2. Simplifying with ACCESS**\n", + "\n", + "* ACCESS is a method to make any seq2seq model controllable by conditioning on simplification-specific control tokens.\n", + "* Apply this to seq2seq pretrained transformer models based on the BART.\n", + "\n", + ">**Training with control tokens**\n", + "\n", + "- During train time, control tokens provided to model that give info about target sequence.\n", + "- During inference time, control the generation by selecting a given target control value.\n", + "- Prepend the following control tokens to every source in training set:\n", + "\t\t : Character Length Ratio\n", + "\t\t : replace-only Levenshtein similarity\n", + "\t\t : aggregated word frequency ratio\n", + "\t\t : dependency tree depth ratio\n", + "\n", + ">**Selecting Control values at Inference**\n", + "\n", + "- Shorter sentences are more adapted to people with cognitive disabilities, while using more frequent words are useful to second language learners.\n", + "- Choose these hyperparameters based on SARI score on validation set or by using prior knowledge based on target audience.\n", + "\n", + "

 \n", + "\n", + "####**3. Leveraging Unsupervised Pretraining**\n", + "\n", + "* Fine tune the pretrained generative model BART on the newly created training corpora." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "7eI3uQh0aKz9" + }, + "source": [ + "---" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "eDgjjNeBXulf" + }, + "source": [ + "### Loading the data for mining paraphrases" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "gCdgWwrClbSb" + }, + "source": [ + "**Get data from CCNet**" + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "xHFOuBZggHJr", + "outputId": "c8d2f9fb-149c-49ed-9bec-1cb9b3cc8bf3" + }, + "source": [ + "!git clone https://github.com/facebookresearch/cc_net" + ], + "execution_count": 2, + "outputs": [ + { + "output_type": "stream", + "text": [ + "Cloning into 'cc_net'...\n", + "remote: Enumerating objects: 471, done.\u001b[K\n", + "remote: Total 471 (delta 0), reused 0 (delta 0), pack-reused 471\u001b[K\n", + "Receiving objects: 100% (471/471), 169.97 KiB | 4.59 MiB/s, done.\n", + "Resolving deltas: 100% (329/329), done.\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "-01DRvtJgRCa", + "outputId": "f3d90067-730b-448d-b721-d65bd705cb86" + }, + "source": [ + "%cd cc_net/" + ], + "execution_count": 6, + "outputs": [ + { + "output_type": "stream", + "text": [ + "/content/cc_net\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "uy-YUQIQgND8" + }, + "source": [ + "!mkdir ./data/" + ], + "execution_count": 7, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "lGnwZzglgjpU" + }, + "source": [ + "!python -m pip install .[getpy]" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "irp46hVsfxdZ" + }, + "source": [ + "# !python -m cc_net --dump 2019-13\n", + "\n", + "# Note : this won't work here because it requires 7 TB storage :)" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "lmzTmKq1le5Y" + }, + "source": [ + "**Get sample data from wikipedia**" + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "hK0nxvZYleHY", + "outputId": "b297d88f-189d-4dc5-d261-9fdf0496869d" + }, + "source": [ + "# For testing purpose, we can provide some sample data\n", + "%pip install wikipedia" + ], + "execution_count": 1, + "outputs": [ + { + "output_type": "stream", + "text": [ + "Collecting wikipedia\n", + " Downloading wikipedia-1.4.0.tar.gz (27 kB)\n", + "Requirement already satisfied: beautifulsoup4 in /usr/local/lib/python3.7/dist-packages (from wikipedia) (4.6.3)\n", + "Requirement already satisfied: requests<3.0.0,>=2.0.0 in /usr/local/lib/python3.7/dist-packages (from wikipedia) (2.23.0)\n", + "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.7/dist-packages (from requests<3.0.0,>=2.0.0->wikipedia) (2.10)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.7/dist-packages (from requests<3.0.0,>=2.0.0->wikipedia) (2021.5.30)\n", + "Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.7/dist-packages (from requests<3.0.0,>=2.0.0->wikipedia) (3.0.4)\n", + "Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.7/dist-packages (from requests<3.0.0,>=2.0.0->wikipedia) (1.24.3)\n", + "Building wheels for collected packages: wikipedia\n", + " Building wheel for wikipedia (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Created wheel for wikipedia: filename=wikipedia-1.4.0-py3-none-any.whl size=11696 sha256=6b368574f746b01ed9852ed3179de0aabed882e83b71ba7dd02d8d0818eb250e\n", + " Stored in directory: /root/.cache/pip/wheels/15/93/6d/5b2c68b8a64c7a7a04947b4ed6d89fb557dcc6bc27d1d7f3ba\n", + "Successfully built wikipedia\n", + "Installing collected packages: wikipedia\n", + "Successfully installed wikipedia-1.4.0\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "mNtWCLkmln_u" + }, + "source": [ + "import wikipedia" + ], + "execution_count": 1, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "AXU2spGTX3Ku" + }, + "source": [ + "# upload simple_wiki.txt file\n", + "\n", + "def get_data():\n", + " titles = [\"Messi\", \"Christiano Ronaldo\", 'messi-ronaldo rivalry', 'chernobyl', 'artificial intelligence', 'Hinduism']\n", + " docs = []\n", + " with open('simple_wiki.txt') as fo:\n", + " data = fo.read()\n", + " docs.append(data)\n", + " for title in titles:\n", + " page = wikipedia.page(title)\n", + " docs.append(page.content)\n", + " return docs" + ], + "execution_count": 2, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "VVkUDfv0TDNB" + }, + "source": [ + "### Mining Paraphrases" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "kGE16C89V8sE", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "6ff3e220-9429-4f77-d9de-b26c8644a044" + }, + "source": [ + "# Install required dependencies\n", + "%pip install laserembeddings python-Levenshtein faiss faiss-cpu" + ], + "execution_count": 27, + "outputs": [ + { + "output_type": "stream", + "text": [ + "Requirement already satisfied: laserembeddings in /usr/local/lib/python3.7/dist-packages (1.1.1)\n", + "Requirement already satisfied: python-Levenshtein in /usr/local/lib/python3.7/dist-packages (0.12.2)\n", + "Requirement already satisfied: faiss in /usr/local/lib/python3.7/dist-packages (1.5.3)\n", + "Requirement already satisfied: faiss-cpu in /usr/local/lib/python3.7/dist-packages (1.7.1.post2)\n", + "Requirement already satisfied: torch<2.0.0,>=1.0.1.post2 in /usr/local/lib/python3.7/dist-packages (from laserembeddings) (1.9.0+cu102)\n", + "Requirement already satisfied: numpy<2.0.0,>=1.15.4 in /usr/local/lib/python3.7/dist-packages (from laserembeddings) (1.19.5)\n", + "Requirement already satisfied: transliterate==1.10.2 in /usr/local/lib/python3.7/dist-packages (from laserembeddings) (1.10.2)\n", + "Requirement already satisfied: subword-nmt<0.4.0,>=0.3.6 in /usr/local/lib/python3.7/dist-packages (from laserembeddings) (0.3.7)\n", + "Requirement already satisfied: sacremoses==0.0.35 in /usr/local/lib/python3.7/dist-packages (from laserembeddings) (0.0.35)\n", + "Requirement already satisfied: six in /usr/local/lib/python3.7/dist-packages (from sacremoses==0.0.35->laserembeddings) (1.15.0)\n", + "Requirement already satisfied: tqdm in /usr/local/lib/python3.7/dist-packages (from sacremoses==0.0.35->laserembeddings) (4.41.1)\n", + "Requirement already satisfied: joblib in /usr/local/lib/python3.7/dist-packages (from sacremoses==0.0.35->laserembeddings) (1.0.1)\n", + "Requirement already satisfied: click in /usr/local/lib/python3.7/dist-packages (from sacremoses==0.0.35->laserembeddings) (7.1.2)\n", + "Requirement already satisfied: typing-extensions in /usr/local/lib/python3.7/dist-packages (from torch<2.0.0,>=1.0.1.post2->laserembeddings) (3.7.4.3)\n", + "Requirement already satisfied: setuptools in /usr/local/lib/python3.7/dist-packages (from python-Levenshtein) (57.2.0)\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "VT9PXDbXfu2p", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "7defbdae-900e-4c66-be15-4d649b797929" + }, + "source": [ + "# Import required libraries\n", + "import numpy as np\n", + "import faiss\n", + "\n", + "from string import punctuation\n", + "from nltk.tokenize import sent_tokenize\n", + "from laserembeddings import Laser\n", + "from sklearn.decomposition import PCA\n", + "from Levenshtein import distance as levenshtein_distance\n", + "\n", + "import nltk\n", + "nltk.download('punkt')" + ], + "execution_count": 28, + "outputs": [ + { + "output_type": "stream", + "text": [ + "[nltk_data] Downloading package punkt to /root/nltk_data...\n", + "[nltk_data] Package punkt is already up-to-date!\n" + ], + "name": "stdout" + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "True" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 28 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "jsWEF4izTPi9" + }, + "source": [ + "**Sequence Extraction**" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "pnW6Sovgf1es" + }, + "source": [ + "def doc_to_sentences(doc):\n", + " \"\"\"\n", + " Splits a document into sentences.\n", + " \"\"\"\n", + " doc = doc.replace('\\n', ' ').replace('\\t', ' ').replace('\\x00', ' ')\n", + " return sent_tokenize(doc)\n", + "\n", + "\n", + "def filter_sentences(sentences, punc_ratio=0.1, lang_model=None, lang_prob=0.5):\n", + " \"\"\"\n", + " Filters sentences by removing those which contain a high number of punctuation marks \n", + " or have low language model probability or are too small.\n", + " \"\"\"\n", + " filtered_sentences = []\n", + "\n", + " for seq in sentences:\n", + " if len(seq) < 30:\n", + " continue\n", + "\n", + " if lang_model is not None:\n", + " prob = lang_model.prob(seq)\n", + " if prob < lang_prob:\n", + " continue\n", + "\n", + " num_punc = sum(1 for c in seq if c in punctuation)\n", + " if num_punc / len(seq) < punc_ratio:\n", + " filtered_sentences.append(seq)\n", + "\n", + " return filtered_sentences\n", + "\n", + "\n", + "def generate_sequences(sentences, max_chars=300):\n", + " \"\"\"\n", + " Generates sequences of adjacent sentences from a list of sentences.\n", + " \"\"\"\n", + " sequences = []\n", + " total_sentences = len(sentences)\n", + "\n", + " for i in range(total_sentences):\n", + " cur_seq = sentences[i]\n", + " cur_chars = len(cur_seq)\n", + " if cur_chars > max_chars:\n", + " continue\n", + " \n", + " sequences.append(cur_seq)\n", + " for j in range(i+1, total_sentences):\n", + " cur_chars += len(sentences[j])\n", + " if cur_chars > max_chars:\n", + " break\n", + " \n", + " cur_seq += ' ' + sentences[j]\n", + " sequences.append(cur_seq)\n", + "\n", + " return sequences" + ], + "execution_count": 29, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "i56payAETsln" + }, + "source": [ + "**Creating a sequence index using embeddings**" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "kfesZM9zT9e1", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "e673db62-7305-4ae8-8cd3-fbcc6a5d1483" + }, + "source": [ + "!python -m laserembeddings download-models" + ], + "execution_count": 30, + "outputs": [ + { + "output_type": "stream", + "text": [ + "Downloading models into /usr/local/lib/python3.7/dist-packages/laserembeddings/data\n", + "\n", + "✅ Downloaded https://dl.fbaipublicfiles.com/laser/models/93langs.fcodes \n", + "✅ Downloaded https://dl.fbaipublicfiles.com/laser/models/93langs.fvocab \n", + "✅ Downloaded https://dl.fbaipublicfiles.com/laser/models/bilstm.93langs.2018-12-26.pt \n", + "\n", + "✨ You're all set!\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "cf49FUnMT2WN" + }, + "source": [ + "def compute_embeddings(sequences, dim=512):\n", + " \"\"\"\n", + " Computes the embeddings for a list of sequences.\n", + " \"\"\"\n", + " laser = Laser()\n", + " embeddings = laser.embed_sentences(sequences, lang='en')\n", + " # embeddings is a N*1024 (N = number of sentences) NumPy array\n", + "\n", + " pca = PCA(n_components=dim)\n", + " embeddings = pca.fit_transform(embeddings)\n", + " return embeddings" + ], + "execution_count": 31, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "dLWBcLoNTimw" + }, + "source": [ + "**Mining Paraphrases**" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "5QsHaWVUTlnf" + }, + "source": [ + "def index_embeddings(embeddings):\n", + " \"\"\"\n", + " Indexes a list of embeddings using a FAISS index.\n", + " \"\"\"\n", + " index = faiss.IndexFlatL2(embeddings.shape[1])\n", + " index.add(embeddings)\n", + " return index\n", + "\n", + "\n", + "def get_nearest_neighbors(index, embeddings, k=8):\n", + " \"\"\"\n", + " Returns the k nearest neighbors of each embedding in a list of embeddings.\n", + " \"\"\"\n", + " D, I = index.search(embeddings, k)\n", + " return D, I\n", + "\n", + "\n", + "def filter_nearest_neighbors(D, I, max_L2_dist=0.05):\n", + " \"\"\"\n", + " Filters the nearest neighbors to remove those which are too far from the queries.\n", + " \"\"\"\n", + " filtered_neighbors = np.ones(I.shape) * (-1)\n", + " for i in range(I.shape[0]):\n", + " for j in range(I.shape[1]):\n", + " if D[i,j] <= max_L2_dist:\n", + " filtered_neighbors[i,j] = I[i,j]\n", + " \n", + " filtered_neighbors = filtered_neighbors.astype(int)\n", + " return filtered_neighbors\n", + "\n", + "\n", + "def filter_paraphrases(I, sequences, min_l_dist=0.2):\n", + " \"\"\"\n", + " Removes almost identical pp with character level Levenshtein distance <= 20%\n", + "\tor pp from coming same document ** (need to implement this) **\n", + "\tor pp where one sequence is contained in other\n", + " \"\"\"\n", + " for i in range(I.shape[0]):\n", + " cur_seq = sequences[i]\n", + " for j in range(I.shape[1]):\n", + " if I[i,j] == -1:\n", + " continue\n", + " \n", + " target_seq = sequences[I[i,j]]\n", + " dist = levenshtein_distance(cur_seq, target_seq)\n", + " if dist <= min_l_dist:\n", + " I[i,j] = -1\n", + " continue\n", + " \n", + " if cur_seq in target_seq or target_seq in cur_seq:\n", + " I[i,j] = -1\n", + "\n", + " return I\n", + "\n", + "\n", + "def generate_aligned_paraphrases(I, sequences):\n", + " \"\"\"\n", + " Generates a list of paraphrases from the list of sequences and their nearest neighbors.\n", + " \"\"\"\n", + " paraphrases = []\n", + " for i in range(I.shape[0]):\n", + " cur_seq = sequences[i]\n", + " for j in range(I.shape[1]):\n", + " if I[i,j] == -1:\n", + " continue\n", + " \n", + " target_seq = sequences[I[i,j]]\n", + " paraphrases.append((cur_seq, target_seq))\n", + " \n", + " return paraphrases" + ], + "execution_count": 32, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "AzsTvRcmZr6u" + }, + "source": [ + "---" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "oRYaxhueUpCV" + }, + "source": [ + "### Simplifying with ACCESS" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "nnzg7qEUZfpu", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "989a9121-ea45-4c5a-f5a6-fceebab58c3b" + }, + "source": [ + "!pip install python-Levenshtein" + ], + "execution_count": 9, + "outputs": [ + { + "output_type": "stream", + "text": [ + "Requirement already satisfied: python-Levenshtein in /usr/local/lib/python3.7/dist-packages (0.12.2)\n", + "Requirement already satisfied: setuptools in /usr/local/lib/python3.7/dist-packages (from python-Levenshtein) (57.2.0)\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "1FfOGSIDiBLv", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "e39bace1-1a9e-4ec5-e069-631f874bea46" + }, + "source": [ + "!wget https://dl.fbaipublicfiles.com/fasttext/vectors-crawl/cc.en.300.vec.gz" + ], + "execution_count": 10, + "outputs": [ + { + "output_type": "stream", + "text": [ + "--2021-07-31 19:06:58-- https://dl.fbaipublicfiles.com/fasttext/vectors-crawl/cc.en.300.vec.gz\n", + "Resolving dl.fbaipublicfiles.com (dl.fbaipublicfiles.com)... 104.22.74.142, 104.22.75.142, 172.67.9.4, ...\n", + "Connecting to dl.fbaipublicfiles.com (dl.fbaipublicfiles.com)|104.22.74.142|:443... connected.\n", + "HTTP request sent, awaiting response... 200 OK\n", + "Length: 1325960915 (1.2G) [binary/octet-stream]\n", + "Saving to: ‘cc.en.300.vec.gz.1’\n", + "\n", + "cc.en.300.vec.gz.1 100%[===================>] 1.23G 24.2MB/s in 53s \n", + "\n", + "2021-07-31 19:07:52 (23.8 MB/s) - ‘cc.en.300.vec.gz.1’ saved [1325960915/1325960915]\n", + "\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "1luRjujgh93o", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "7bcfb530-298a-4c1d-cde5-f30fe3b55259" + }, + "source": [ + "!python -m spacy download en_core_web_md" + ], + "execution_count": 11, + "outputs": [ + { + "output_type": "stream", + "text": [ + "Collecting en_core_web_md==2.2.5\n", + " Downloading https://github.com/explosion/spacy-models/releases/download/en_core_web_md-2.2.5/en_core_web_md-2.2.5.tar.gz (96.4 MB)\n", + "\u001b[K |████████████████████████████████| 96.4 MB 1.3 MB/s \n", + "\u001b[?25hRequirement already satisfied: spacy>=2.2.2 in /usr/local/lib/python3.7/dist-packages (from en_core_web_md==2.2.5) (2.2.4)\n", + "Requirement already satisfied: tqdm<5.0.0,>=4.38.0 in /usr/local/lib/python3.7/dist-packages (from spacy>=2.2.2->en_core_web_md==2.2.5) (4.41.1)\n", + "Requirement already satisfied: numpy>=1.15.0 in /usr/local/lib/python3.7/dist-packages (from spacy>=2.2.2->en_core_web_md==2.2.5) (1.19.5)\n", + "Requirement already satisfied: cymem<2.1.0,>=2.0.2 in /usr/local/lib/python3.7/dist-packages (from spacy>=2.2.2->en_core_web_md==2.2.5) (2.0.5)\n", + "Requirement already satisfied: wasabi<1.1.0,>=0.4.0 in /usr/local/lib/python3.7/dist-packages (from spacy>=2.2.2->en_core_web_md==2.2.5) (0.8.2)\n", + "Requirement already satisfied: catalogue<1.1.0,>=0.0.7 in /usr/local/lib/python3.7/dist-packages (from spacy>=2.2.2->en_core_web_md==2.2.5) (1.0.0)\n", + "Requirement already satisfied: thinc==7.4.0 in /usr/local/lib/python3.7/dist-packages (from spacy>=2.2.2->en_core_web_md==2.2.5) (7.4.0)\n", + "Requirement already satisfied: plac<1.2.0,>=0.9.6 in /usr/local/lib/python3.7/dist-packages (from spacy>=2.2.2->en_core_web_md==2.2.5) (1.1.3)\n", + "Requirement already satisfied: srsly<1.1.0,>=1.0.2 in /usr/local/lib/python3.7/dist-packages (from spacy>=2.2.2->en_core_web_md==2.2.5) (1.0.5)\n", + "Requirement already satisfied: requests<3.0.0,>=2.13.0 in /usr/local/lib/python3.7/dist-packages (from spacy>=2.2.2->en_core_web_md==2.2.5) (2.23.0)\n", + "Requirement already satisfied: setuptools in /usr/local/lib/python3.7/dist-packages (from spacy>=2.2.2->en_core_web_md==2.2.5) (57.2.0)\n", + "Requirement already satisfied: preshed<3.1.0,>=3.0.2 in /usr/local/lib/python3.7/dist-packages (from spacy>=2.2.2->en_core_web_md==2.2.5) (3.0.5)\n", + "Requirement already satisfied: blis<0.5.0,>=0.4.0 in /usr/local/lib/python3.7/dist-packages (from spacy>=2.2.2->en_core_web_md==2.2.5) (0.4.1)\n", + "Requirement already satisfied: murmurhash<1.1.0,>=0.28.0 in /usr/local/lib/python3.7/dist-packages (from spacy>=2.2.2->en_core_web_md==2.2.5) (1.0.5)\n", + "Requirement already satisfied: importlib-metadata>=0.20 in /usr/local/lib/python3.7/dist-packages (from catalogue<1.1.0,>=0.0.7->spacy>=2.2.2->en_core_web_md==2.2.5) (4.6.1)\n", + "Requirement already satisfied: typing-extensions>=3.6.4 in /usr/local/lib/python3.7/dist-packages (from importlib-metadata>=0.20->catalogue<1.1.0,>=0.0.7->spacy>=2.2.2->en_core_web_md==2.2.5) (3.7.4.3)\n", + "Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.7/dist-packages (from importlib-metadata>=0.20->catalogue<1.1.0,>=0.0.7->spacy>=2.2.2->en_core_web_md==2.2.5) (3.5.0)\n", + "Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.7/dist-packages (from requests<3.0.0,>=2.13.0->spacy>=2.2.2->en_core_web_md==2.2.5) (3.0.4)\n", + "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.7/dist-packages (from requests<3.0.0,>=2.13.0->spacy>=2.2.2->en_core_web_md==2.2.5) (2.10)\n", + "Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.7/dist-packages (from requests<3.0.0,>=2.13.0->spacy>=2.2.2->en_core_web_md==2.2.5) (1.24.3)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.7/dist-packages (from requests<3.0.0,>=2.13.0->spacy>=2.2.2->en_core_web_md==2.2.5) (2021.5.30)\n", + "\u001b[38;5;2m✔ Download and installation successful\u001b[0m\n", + "You can now load the model via spacy.load('en_core_web_md')\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "sJBbY7MjZaoZ" + }, + "source": [ + "import Levenshtein\n", + "import spacy\n", + "import numpy as np\n", + "import gzip\n", + "import en_core_web_md" + ], + "execution_count": 12, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "o3ZqmcslYIt7" + }, + "source": [ + "**Character length Ratio**" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "MfVb0Qj9YQ3B" + }, + "source": [ + "def get_character_length_ratio(original_seq, target_seq):\n", + " \"\"\"\n", + " Return the ratio (in %) of the length of the target sequence\n", + " to the length of the original sequence.\n", + " \"\"\"\n", + " return (len(target_seq) / len(original_seq)) * 100" + ], + "execution_count": 13, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "X7md-JcUYGae" + }, + "source": [ + "**Replace-Only Levenshtein Similarity**" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "5rpJMeEzYR-T" + }, + "source": [ + "def get_replace_only_levenshtein_similarity(original_seq, target_seq):\n", + " \"\"\"\n", + " Return the ratio (in %) of the Levenshtein distance between the target \n", + " sequence and the original sequence, where only replacements are considered.\n", + " \"\"\"\n", + " distance = len(\n", + " [\n", + " _\n", + " for operation, _, _ in Levenshtein.editops(original_seq, target_seq)\n", + " if operation == \"replace\"\n", + " ]\n", + " )\n", + " max_replace_only_distance = min(len(original_seq), len(target_seq))\n", + " if max_replace_only_distance == 0:\n", + " return 0\n", + " return (1 - (distance / max_replace_only_distance)) * 100" + ], + "execution_count": 14, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "MfCOaryAX7-M" + }, + "source": [ + "**Word Frequency Ratio**" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "yT3FjxJ8YX7P" + }, + "source": [ + "def yield_lines():\n", + " with gzip.open(\"./cc.en.300.vec.gz\", \"rt\") as f:\n", + " for line in f:\n", + " yield line.rstrip('\\n')\n", + "\n", + "def get_word2rank(vocab_size=60000):\n", + " word2rank = {}\n", + " line_generator = yield_lines()\n", + " next(line_generator)\n", + " for i, line in enumerate(line_generator):\n", + " if (i + 1) > vocab_size:\n", + " break\n", + " word = line.split(\" \")[0]\n", + " word2rank[word] = i\n", + " return word2rank\n", + "\n", + "def is_content_token(token):\n", + " return not token.is_stop and not token.is_punct and token.ent_type_ == '' # Not named entity\n", + "\n", + "def get_content_words(text, spacy_model):\n", + " spacy_tokenizer = spacy_model.Defaults.create_tokenizer(spacy_model)\n", + " spacy_content_tokens = [token for token in spacy_tokenizer(text) if is_content_token(token)]\n", + " return [token.text for token in spacy_content_tokens]\n", + "\n", + "def get_log_ranks(text, spacy_model, word2rank):\n", + " return [\n", + " np.log(1 + word2rank.get(word, len(word2rank)))\n", + " for word in get_content_words(text, spacy_model)\n", + " if word in word2rank\n", + " ]\n", + "\n", + "def get_word_rank_ratio(original_seq, target_seq, spacy_model, word2rank):\n", + " \"\"\"\n", + " Return the ratio (in %) of the word rank of the target sequence\n", + " to the word rank of the original sequence.\n", + " \"\"\" \n", + " orig_log_ranks = get_log_ranks(original_seq, spacy_model, word2rank)\n", + " target_log_ranks = get_log_ranks(target_seq, spacy_model, word2rank)\n", + " if len(orig_log_ranks) == 0:\n", + " orig_log_ranks = [np.log(1 + len(word2rank))]\n", + " if len(target_log_ranks) == 0:\n", + " target_log_ranks = [np.log(1 + len(word2rank))]\n", + " \n", + " orig_log_rank = np.quantile(orig_log_ranks, 0.75)\n", + " target_log_rank = np.quantile(target_log_ranks, 0.75)\n", + " \n", + " return (target_log_rank / orig_log_rank) * 100" + ], + "execution_count": 48, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "4H-HSX-nX2bh" + }, + "source": [ + "**Dependency Tree Depth Ratio**" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "tCKmAOQtUrwC" + }, + "source": [ + "def get_subtree_depth(node):\n", + " if len(list(node.children)) == 0:\n", + " return 0\n", + " return 1 + max([get_subtree_depth(child) for child in node.children])\n", + "\n", + "\n", + "def get_dependency_tree_depth_ratio(original_seq, target_seq, model):\n", + " \"\"\"\n", + " Return the ratio (in %) of the depth of the dependency tree of the target \n", + " sequence to the depth of the dependency tree of the original sequence.\n", + " \"\"\"\n", + " original_tree_depths = [\n", + " get_subtree_depth(spacy_sentence.root)\n", + " for spacy_sentence in model(str(original_seq)).sents\n", + " ]\n", + " target_tree_depths = [\n", + " get_subtree_depth(spacy_sentence.root)\n", + " for spacy_sentence in model(str(target_seq)).sents\n", + " ]\n", + " original_tree_depth = 0 if len(original_tree_depths) == 0 else max(original_tree_depths)\n", + " target_tree_depth = 0 if len(target_tree_depths) == 0 else max(target_tree_depths)\n", + "\n", + " return 0 if original_tree_depth == 0 else (target_tree_depth / original_tree_depth) * 100" + ], + "execution_count": 44, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "659_m7_pwboN" + }, + "source": [ + "**Prepend the paraphrases with Control Tokens**" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "vHfM0rw4wa8m" + }, + "source": [ + "def prepend_control_tokens(paraphrases):\n", + " \"\"\"\n", + " Return the list of paraphrases where each original sequence is prepended\n", + " by the control tokens.\n", + " \"\"\"\n", + " spacy_model = en_core_web_md.load()\n", + " word2rank = get_word2rank(vocab_size=60000)\n", + " final_pps = []\n", + " for orig_seq, target_seq in paraphrases:\n", + " tokens = []\n", + " tokens.append(get_character_length_ratio(orig_seq, target_seq))\n", + " tokens.append(get_replace_only_levenshtein_similarity(orig_seq, target_seq))\n", + " tokens.append(get_word_rank_ratio(orig_seq, target_seq, spacy_model, word2rank))\n", + " tokens.append(get_dependency_tree_depth_ratio(orig_seq, target_seq, spacy_model))\n", + " \n", + " # Round the ratios in a fixed interval of 0.05 (5%) and capped to \n", + " # a maximum ratio of 2 (200%)\n", + " mod_tokens = []\n", + " for token in tokens:\n", + " token = round(token / 5) * 5\n", + " token = min(max(5, token), 200)\n", + " mod_tokens.append(token)\n", + "\n", + " CTRL_TOKEN = \" \".format(\n", + " mod_tokens[0], mod_tokens[1], mod_tokens[2], mod_tokens[3]\n", + " )\n", + " orig_seq = CTRL_TOKEN + orig_seq\n", + " final_pps.append((orig_seq, target_seq))\n", + " \n", + " return final_pps\n", + "\n", + "\n", + "def prepend_control_tokens_for_inference(sentence, tokens):\n", + " \"\"\"\n", + " Return the sentence encoded with the control tokens for inference\n", + " \"\"\"\n", + " CTRL_TOKEN = \" \".format(\n", + " tokens[0], tokens[1], tokens[2], tokens[3]\n", + " )\n", + " return CTRL_TOKEN + sentence" + ], + "execution_count": 52, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "9ySYiYm7Zw2Q" + }, + "source": [ + "---" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "h3ZtlqW0Uu7r" + }, + "source": [ + "### Leveraging Unsupervised Pretraining" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "fP3kV1QUw9i2", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "2829d073-a22d-4d92-b1be-b3a8934bed6b" + }, + "source": [ + "!pip install transformers" + ], + "execution_count": 18, + "outputs": [ + { + "output_type": "stream", + "text": [ + "Requirement already satisfied: transformers in /usr/local/lib/python3.7/dist-packages (4.9.1)\n", + "Requirement already satisfied: importlib-metadata in /usr/local/lib/python3.7/dist-packages (from transformers) (4.6.1)\n", + "Requirement already satisfied: numpy>=1.17 in /usr/local/lib/python3.7/dist-packages (from transformers) (1.19.5)\n", + "Requirement already satisfied: tokenizers<0.11,>=0.10.1 in /usr/local/lib/python3.7/dist-packages (from transformers) (0.10.3)\n", + "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.7/dist-packages (from transformers) (5.4.1)\n", + "Requirement already satisfied: tqdm>=4.27 in /usr/local/lib/python3.7/dist-packages (from transformers) (4.41.1)\n", + "Requirement already satisfied: packaging in /usr/local/lib/python3.7/dist-packages (from transformers) (21.0)\n", + "Requirement already satisfied: huggingface-hub==0.0.12 in /usr/local/lib/python3.7/dist-packages (from transformers) (0.0.12)\n", + "Requirement already satisfied: requests in /usr/local/lib/python3.7/dist-packages (from transformers) (2.23.0)\n", + "Requirement already satisfied: sacremoses in /usr/local/lib/python3.7/dist-packages (from transformers) (0.0.35)\n", + "Requirement already satisfied: regex!=2019.12.17 in /usr/local/lib/python3.7/dist-packages (from transformers) (2019.12.20)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.7/dist-packages (from transformers) (3.0.12)\n", + "Requirement already satisfied: typing-extensions in /usr/local/lib/python3.7/dist-packages (from huggingface-hub==0.0.12->transformers) (3.7.4.3)\n", + "Requirement already satisfied: pyparsing>=2.0.2 in /usr/local/lib/python3.7/dist-packages (from packaging->transformers) (2.4.7)\n", + "Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.7/dist-packages (from importlib-metadata->transformers) (3.5.0)\n", + "Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.7/dist-packages (from requests->transformers) (3.0.4)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.7/dist-packages (from requests->transformers) (2021.5.30)\n", + "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.7/dist-packages (from requests->transformers) (2.10)\n", + "Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.7/dist-packages (from requests->transformers) (1.24.3)\n", + "Requirement already satisfied: joblib in /usr/local/lib/python3.7/dist-packages (from sacremoses->transformers) (1.0.1)\n", + "Requirement already satisfied: click in /usr/local/lib/python3.7/dist-packages (from sacremoses->transformers) (7.1.2)\n", + "Requirement already satisfied: six in /usr/local/lib/python3.7/dist-packages (from sacremoses->transformers) (1.15.0)\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "RH12F6pMxM1t" + }, + "source": [ + "import torch\n", + "\n", + "from torch.utils.data import DataLoader, Dataset\n", + "from transformers import BartTokenizerFast, BartForConditionalGeneration\n", + "from transformers import DataCollatorForSeq2Seq, Seq2SeqTrainingArguments, Seq2SeqTrainer" + ], + "execution_count": 19, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "u2C7ZP-fxP-t" + }, + "source": [ + "class PPDataset(Dataset):\n", + " \"\"\"\n", + " Custom dataset class for paraphrase generation\n", + " \"\"\"\n", + " def __init__(self, data, tokenizer):\n", + " self.encodings = {'input_ids': [], 'labels': []}\n", + " for pp in data:\n", + " source, target = pp\n", + " source = tokenizer.encode(source)\n", + " with tokenizer.as_target_tokenizer():\n", + " target = tokenizer.encode(target)\n", + " self.encodings['input_ids'].append(source)\n", + " self.encodings['labels'].append(target)\n", + " \n", + " def __len__(self):\n", + " return len(self.encodings['input_ids'])\n", + " \n", + " def __getitem__(self, index):\n", + " item = {key: val[index] for key, val in self.encodings.items()}\n", + " return item" + ], + "execution_count": 20, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "XlDFoyi-c-Wf" + }, + "source": [ + "def get_tokenizer():\n", + " \"\"\"\n", + " Return the pretrained BART tokenizer and add the control tokens to it\n", + " \"\"\"\n", + " tokenizer = BartTokenizerFast.from_pretrained('facebook/bart-large')\n", + " control_tokens = []\n", + " for token in ['NbChars', 'LevSim', 'WordFreq', 'DepTreeDepth']:\n", + " for i in range(5, 201, 5):\n", + " control_tokens.append(f'<{token}_{i}%>')\n", + " tokenizer.add_tokens(control_tokens)\n", + "\n", + " return tokenizer\n", + "\n", + "\n", + "def get_dataset(paraphrases, tokenizer):\n", + " \"\"\"\n", + " Create a dataset from the paraphrases\n", + " \"\"\"\n", + " dataset = PPDataset(paraphrases, tokenizer)\n", + " return dataset\n", + "\n", + "\n", + "def get_model(vocab_size):\n", + " \"\"\"\n", + " Return the pretrained BART model and add fix the token embeddings matrix\n", + " \"\"\"\n", + " model = BartForConditionalGeneration.from_pretrained('facebook/bart-large')\n", + " model.resize_token_embeddings(vocab_size)\n", + " return model\n", + "\n", + "\n", + "def get_training_arguments(epochs=10, batch_size=8):\n", + " \"\"\"\n", + " Rturn the training arguments\n", + " \"\"\"\n", + " args = Seq2SeqTrainingArguments(\n", + " output_dir = 'outputs',\n", + " learning_rate = 3e-5,\n", + " per_device_train_batch_size = batch_size,\n", + " weight_decay = 0.01,\n", + " num_train_epochs = epochs,\n", + " predict_with_generate = True\n", + " )\n", + " return args\n", + "\n", + "\n", + "def get_data_collator(tokenizer, model):\n", + " \"\"\"\n", + " Return the data collator for seq2seq model\n", + " \"\"\"\n", + " data_collator = DataCollatorForSeq2Seq(tokenizer, model=model)\n", + " return data_collator\n", + "\n", + "\n", + "def get_trainer(model, tokenizer, dataset, data_collator, training_arguments):\n", + " \"\"\"\n", + " Return the trainer for fine-tuning the pretrained BART model\n", + " \"\"\"\n", + " trainer = Seq2SeqTrainer(\n", + " model = model,\n", + " data_collator = data_collator,\n", + " args = training_arguments,\n", + " train_dataset = dataset,\n", + " tokenizer = tokenizer,\n", + " )\n", + " return trainer\n", + "\n", + "\n", + "def simplify(sentence, tokenizer, model):\n", + " \"\"\"\n", + " Return the simplified sentence\n", + " \"\"\"\n", + " tokenized_sentence = tokenizer.encode(sentence, return_tensors='pt')\n", + " output = model.generate(tokenized_sentence, num_beams=5)\n", + " output = [tokenizer.decode(g, skip_special_tokens=True, clean_up_tokenization_spaces=False) for g in output]\n", + " return output\n", + "\n", + "\n", + "def decode_sentence(encoded_sentence, tokenizer):\n", + " \"\"\"\n", + " Decode the encoded sentence\n", + " \"\"\"\n", + " decoded_sentence = tokenizer.decode(encoded_sentence, skip_special_tokens=True)\n", + " return decoded_sentence" + ], + "execution_count": 60, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "X52218GLZyU6" + }, + "source": [ + "---" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "eh1538ZJU4if" + }, + "source": [ + "### Training in action" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "bhl3BOZULd4J" + }, + "source": [ + "**Mine Paraphrases**" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "ml5L5usTLVah" + }, + "source": [ + "data = get_data()" + ], + "execution_count": 33, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "t3MEGrPxLjhg" + }, + "source": [ + "sentences = []\n", + "for doc in data:\n", + " sentences += doc_to_sentences(doc)\n", + "\n", + "sentences = filter_sentences(sentences, punc_ratio=0.1, lang_model=None, lang_prob=0.5)\n", + "sentences.append('This paragraph is tough to comprehend.')\n", + "sentences.append('This paragraph is very hard to understand.')\n", + "sequences = generate_sequences(sentences, max_chars=300)" + ], + "execution_count": 34, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "aud7khFSNpPU" + }, + "source": [ + "embeddings = np.ascontiguousarray(compute_embeddings(sequences, dim=512))" + ], + "execution_count": 36, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "Zh03ARKhz0fO" + }, + "source": [ + "emb_index = index_embeddings(embeddings)" + ], + "execution_count": 37, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "B-FdGLEUNm3K" + }, + "source": [ + "D, I = get_nearest_neighbors(emb_index, embeddings, k=8)\n", + "filtered_I = filter_nearest_neighbors(D, I, max_L2_dist=0.05)\n", + "filtered_I = filter_paraphrases(filtered_I, sequences, min_l_dist=0.2)\n", + "paraphrases = generate_aligned_paraphrases(filtered_I, sequences)" + ], + "execution_count": 38, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "7qssIpJ11XIv", + "outputId": "dbff7fed-98d8-4103-f9fb-7ac12d941a8e" + }, + "source": [ + "print(len(final_pps))\n", + "for source, target in final_pps:\n", + " print('Simple:', source)\n", + " print('Complex:', target, '\\n')" + ], + "execution_count": 67, + "outputs": [ + { + "output_type": "stream", + "text": [ + "72\n", + "Simple: The term Hindu was later used in some Sanskrit texts such as the later Rajataranginis of Kashmir (Hinduka, c. 1450) and some 16th- to 18th-century Bengali Gaudiya Vaishnava texts including Chaitanya Charitamrita and Chaitanya Bhagavata.\n", + "Complex: The term Hindu was later used occasionally in some Sanskrit texts such as the later Rajataranginis of Kashmir (Hinduka, c. 1450) and some 16th- to 18th-century Bengali Gaudiya Vaishnava texts, including Chaitanya Charitamrita and Chaitanya Bhagavata. \n", + "\n", + "Simple: These texts used to distinguish Hindus from Muslims who are called Yavanas (foreigners) or Mlecchas (barbarians), with the 16th-century Chaitanya Charitamrita text and the 17th century Bhakta Mala text using the phrase \"Hindu dharma\".\n", + "Complex: These texts used it to contrast Hindus from Muslims who are called Yavanas (foreigners) or Mlecchas (barbarians), with the 16th-century Chaitanya Charitamrita text and the 17th-century Bhakta Mala text using the phrase \"Hindu dharma\". \n", + "\n", + "Simple: The weak overcomes the stronger by Dharma, as over a king. Truly that Dharma is the Truth (Satya); Therefore, when a man speaks the Truth, they say, \"He speaks the Dharma\"; and if he speaks Dharma, they say, \"He speaks the Truth!\"\n", + "Complex: 'Sins' and evil-doings of the devotee are said to fall away of their own accord, the devotee shriven, limitedness even transcended, through the love of God. \n", + "\n", + "Simple: Truly that Dharma is the Truth (Satya); Therefore, when a man speaks the Truth, they say, \"He speaks the Dharma\"; and if he speaks Dharma, they say, \"He speaks the Truth!\"\n", + "Complex: 'Sins' and evil-doings of the devotee are said to fall away of their own accord, the devotee shriven, limitedness even transcended, through the love of God. \n", + "\n", + "Simple: The soul is believed to be eternal.\n", + "Complex: 'Sins' and evil-doings of the devotee are said to fall away of their own accord, the devotee shriven, limitedness even transcended, through the love of God. \n", + "\n", + "Simple: The soul is believed to be eternal.\n", + "Complex: No one should compare themselves to them.\" \n", + "\n", + "Simple: The soul is believed to be eternal.\n", + "Complex: who also have their own messes. \n", + "\n", + "Simple: 'Sins' and evil-doings of the devotee are said to fall away of their own accord, the devotee shriven, limitedness even transcended, through the love of God.\n", + "Complex: The weak overcomes the stronger by Dharma, as over a king. Truly that Dharma is the Truth (Satya); Therefore, when a man speaks the Truth, they say, \"He speaks the Dharma\"; and if he speaks Dharma, they say, \"He speaks the Truth!\" \n", + "\n", + "Simple: 'Sins' and evil-doings of the devotee are said to fall away of their own accord, the devotee shriven, limitedness even transcended, through the love of God.\n", + "Complex: Truly that Dharma is the Truth (Satya); Therefore, when a man speaks the Truth, they say, \"He speaks the Dharma\"; and if he speaks Dharma, they say, \"He speaks the Truth!\" \n", + "\n", + "Simple: 'Sins' and evil-doings of the devotee are said to fall away of their own accord, the devotee shriven, limitedness even transcended, through the love of God.\n", + "Complex: The soul is believed to be eternal. \n", + "\n", + "Simple: 'Sins' and evil-doings of the devotee are said to fall away of their own accord, the devotee shriven, limitedness even transcended, through the love of God.\n", + "Complex: No one should compare themselves to them.\" \n", + "\n", + "Simple: 'Sins' and evil-doings of the devotee are said to fall away of their own accord, the devotee shriven, limitedness even transcended, through the love of God.\n", + "Complex: who also have their own messes. \n", + "\n", + "Simple: They are two of the most decorated football players ever, having won a combined 66 trophies (Ronaldo 32, Messi 34) during their senior careers thus far, and have regularly broken the 50-goal barrier in a single season.\n", + "Complex: They are two of the most decorated football players ever, having won a combined 67 trophies (Ronaldo 32, Messi 35) during their senior careers thus far, and have regularly broken the 50-goal barrier in a single season. \n", + "\n", + "Simple: Messi's combination of dribbling, technical, playmaking, and goalscoring skills is often considered among the very best in history, while Ronaldo's physical attributes, goalscoring skills, leadership and influence under pressure is well-appreciated worldwide.\n", + "Complex: Messi's combination of dribbling, technical, playmaking, and goalscoring skills is often considered among the very best in history, while Ronaldo's leadership and influence under pressure is well-appreciated worldwide. \n", + "\n", + "Simple: In 2019, Messi took the lead again by earning his sixth Ballon d'Or, finishing just seven points ahead of second-placed Virgil van Dijk, with Ronaldo finishing third.\n", + "Complex: In 2019, Messi took the lead again by earning his sixth Ballon d'Or. He finished just seven points ahead of second-placed Virgil van Dijk, with Ronaldo third. \n", + "\n", + "Simple: In 2019, Messi took the lead again by earning his sixth Ballon d'Or, finishing just seven points ahead of second-placed Virgil van Dijk, with Ronaldo finishing third. In total, Messi and Ronaldo reached the podium a record twelve times each.\n", + "Complex: In 2019, Messi took the lead again by earning his sixth Ballon d'Or. He finished just seven points ahead of second-placed Virgil van Dijk, with Ronaldo third. In total, Messi and Ronaldo have both won the World Cup twelve times. \n", + "\n", + "Simple: Messi during this period won five Pichichi trophies and European Golden Shoe awards (2010, 2012, 2013, 2017 and 2018), while Ronaldo won these prizes thrice each (2011, 2014 and 2015).\n", + "Complex: Messi during this period won five Pichichi trophies and European Golden Shoe awards (2010, 2012, 2013, 2017 and 2018), while Ronaldo won these prizes four times each (2008, 2011, 2014 and 2015). \n", + "\n", + "Simple: I think they have their own personal pride in terms of wanting to be the best.\" Messi has denied any rivalry, and blames the media for creating it, stating that \"only the media, the press, who wants us to be at loggerheads but I've never fought with Cristiano.\n", + "Complex: I think they have their own personal pride in terms of wanting to be the best.\" Messi himself denied any rivalry, saying that it was \"only the media, the press, who wants us to be at loggerheads but I've never fought with Cristiano.\" \n", + "\n", + "Simple: Although it was a bit difficult to see him win trophies, he gave La Liga prestige.\" During a joint interview at the UEFA Player of the Year ceremony in 2019, Ronaldo said he would like to \"have dinner together in the future\", to which Messi later replied: \"If I get an invitation, why not?\"\n", + "Complex: It was a little hard for him to win trophies, but he gave La Liga importance.\" During a joint interview at the UEFA Player of the Year ceremony in 2019, Ronaldo said he would like to \"have dinner together in the future\", to which Messi said: \"If I get an invitation, why not?\" \n", + "\n", + "Simple: During a joint interview at the UEFA Player of the Year ceremony in 2019, Ronaldo said he would like to \"have dinner together in the future\", to which Messi later replied: \"If I get an invitation, why not?\"\n", + "Complex: During a joint interview at the UEFA Player of the Year ceremony in 2019, Ronaldo said he would like to \"have dinner together in the future\", to which Messi said: \"If I get an invitation, why not?\" \n", + "\n", + "Simple: --- == Awards and records == Throughout the existence of the rivalry, the pair have dominated awards ceremonies and broken a multitude of goalscoring records for both club and country, feats which have been described as \"incredible\", \"ridiculous\", and \"remarkable\", respectively.\n", + "Complex: == Awards and records == Throughout the existence of the rivalry, the pair have dominated awards ceremonies and broken a multitude of goalscoring records for both club and country, feats which have been described as \"incredible\", \"ridiculous\" and \"remarkable\". \n", + "\n", + "Simple: In an interview for the France Football, Modrić stated that \"history will say that a Croatian player, representing his small country, won the Ballon d'Or after Cristiano Ronaldo and Lionel Messi, who are players at another level.\n", + "Complex: In an interview for the France Football, Modrić said that \"history will say that a Croatian player, representing his small country, won the Ballon d'Or after Lionel Messi and Cristiano Ronaldo. \n", + "\n", + "Simple: In an interview for the France Football, Modrić stated that \"history will say that a Croatian player, representing his small country, won the Ballon d'Or after Cristiano Ronaldo and Lionel Messi, who are players at another level.\n", + "Complex: In an interview for the France Football, Modrić said that \"history will say that a Croatian player, representing his small country, won the Ballon d'Or after Lionel Messi and Cristiano Ronaldo. No one should compare themselves to them.\" \n", + "\n", + "Simple: In an interview for the France Football, Modrić stated that \"history will say that a Croatian player, representing his small country, won the Ballon d'Or after Cristiano Ronaldo and Lionel Messi, who are players at another level. Nobody has the right to compare themselves to them.\"\n", + "Complex: In an interview for the France Football, Modrić said that \"history will say that a Croatian player, representing his small country, won the Ballon d'Or after Lionel Messi and Cristiano Ronaldo. No one should compare themselves to them.\" \n", + "\n", + "Simple: Moreover, Messi was runner-up at three Copa Américas and at the 2014 World Cup, before finally claiming his first major international trophy at the 2021 Copa América where he was named joint-best player and top scorer.\n", + "Complex: Moreover, Messi was runner-up at three Copa Américas and at the 2014 World Cup, before finally claiming his first major international trophy at the 2021 Copa América where he was named best player and joint top scorer. \n", + "\n", + "Simple: Messi's combination of dribbling, technical, playmaking, and goalscoring skills is often considered among the very best in history, while Ronaldo's leadership and influence under pressure is well-appreciated worldwide.\n", + "Complex: Messi's combination of dribbling, technical, playmaking, and goalscoring skills is often considered among the very best in history, while Ronaldo's physical attributes, goalscoring skills, leadership and influence under pressure is well-appreciated worldwide. \n", + "\n", + "Simple: Messi's combination of dribbling, technical, playmaking, and goalscoring skills is often considered among the very best in history, while Ronaldo's leadership and influence under pressure is well-appreciated worldwide.\n", + "Complex: Messi's combination of dribbling, technical, playmaking, and goalscoring skills is often considered among the very best in history, while Ronaldo's physical attributes, goalscoring skills, leadership and influence under pressure is well-appreciated worldwide. \n", + "\n", + "Simple: In 2019, Messi took the lead again by earning his sixth Ballon d'Or. He finished just seven points ahead of second-placed Virgil van Dijk, with Ronaldo third.\n", + "Complex: In 2019, Messi took the lead again by earning his sixth Ballon d'Or, finishing just seven points ahead of second-placed Virgil van Dijk, with Ronaldo finishing third. \n", + "\n", + "Simple: In 2019, Messi took the lead again by earning his sixth Ballon d'Or. He finished just seven points ahead of second-placed Virgil van Dijk, with Ronaldo third.\n", + "Complex: In 2019, Messi took the lead again by earning his sixth Ballon d'Or, finishing just seven points ahead of second-placed Virgil van Dijk, with Ronaldo finishing third. \n", + "\n", + "Simple: In 2019, Messi took the lead again by earning his sixth Ballon d'Or. He finished just seven points ahead of second-placed Virgil van Dijk, with Ronaldo third. In total, Messi and Ronaldo have both won the World Cup twelve times.\n", + "Complex: In 2019, Messi took the lead again by earning his sixth Ballon d'Or, finishing just seven points ahead of second-placed Virgil van Dijk, with Ronaldo finishing third. In total, Messi and Ronaldo reached the podium a record twelve times each. \n", + "\n", + "Simple: In 2019, Messi took the lead again by earning his sixth Ballon d'Or. He finished just seven points ahead of second-placed Virgil van Dijk, with Ronaldo third. In total, Messi and Ronaldo have both won the World Cup twelve times.\n", + "Complex: In 2019, Messi took the lead again by earning his sixth Ballon d'Or, finishing just seven points ahead of second-placed Virgil van Dijk, with Ronaldo finishing third. In total, Messi and Ronaldo reached the podium a record twelve times each. \n", + "\n", + "Simple: == Relationship between Messi and Ronaldo == In a 2015 interview, Ronaldo talked about the rivalry. He said: \"Sometimes we push each other a little bit, that's why the competition is so good.\n", + "Complex: == Relationship between Messi and Ronaldo == In a 2015 interview, Ronaldo commented on the rivalry by saying: \"I think we push each other sometimes in the competition, this is why the competition is so high.\" \n", + "\n", + "Simple: It was a little hard for him to win trophies, but he gave La Liga importance.\" During a joint interview at the UEFA Player of the Year ceremony in 2019, Ronaldo said he would like to \"have dinner together in the future\", to which Messi said: \"If I get an invitation, why not?\"\n", + "Complex: Although it was a bit difficult to see him win trophies, he gave La Liga prestige.\" During a joint interview at the UEFA Player of the Year ceremony in 2019, Ronaldo said he would like to \"have dinner together in the future\", to which Messi later replied: \"If I get an invitation, why not?\" \n", + "\n", + "Simple: It was a little hard for him to win trophies, but he gave La Liga importance.\" During a joint interview at the UEFA Player of the Year ceremony in 2019, Ronaldo said he would like to \"have dinner together in the future\", to which Messi said: \"If I get an invitation, why not?\"\n", + "Complex: Although it was a bit difficult to see him win trophies, he gave La Liga prestige.\" During a joint interview at the UEFA Player of the Year ceremony in 2019, Ronaldo said he would like to \"have dinner together in the future\", to which Messi later replied: \"If I get an invitation, why not?\" \n", + "\n", + "Simple: During a joint interview at the UEFA Player of the Year ceremony in 2019, Ronaldo said he would like to \"have dinner together in the future\", to which Messi said: \"If I get an invitation, why not?\"\n", + "Complex: During a joint interview at the UEFA Player of the Year ceremony in 2019, Ronaldo said he would like to \"have dinner together in the future\", to which Messi later replied: \"If I get an invitation, why not?\" \n", + "\n", + "Simple: During a joint interview at the UEFA Player of the Year ceremony in 2019, Ronaldo said he would like to \"have dinner together in the future\", to which Messi said: \"If I get an invitation, why not?\"\n", + "Complex: During a joint interview at the UEFA Player of the Year ceremony in 2019, Ronaldo said he would like to \"have dinner together in the future\", to which Messi later replied: \"If I get an invitation, why not?\" \n", + "\n", + "Simple: In an interview for the France Football, Modrić said that \"history will say that a Croatian player, representing his small country, won the Ballon d'Or after Lionel Messi and Cristiano Ronaldo.\n", + "Complex: In an interview for the France Football, Modrić stated that \"history will say that a Croatian player, representing his small country, won the Ballon d'Or after Cristiano Ronaldo and Lionel Messi, who are players at another level. \n", + "\n", + "Simple: In an interview for the France Football, Modrić said that \"history will say that a Croatian player, representing his small country, won the Ballon d'Or after Lionel Messi and Cristiano Ronaldo.\n", + "Complex: In an interview for the France Football, Modrić stated that \"history will say that a Croatian player, representing his small country, won the Ballon d'Or after Cristiano Ronaldo and Lionel Messi, who are players at another level. \n", + "\n", + "Simple: In an interview for the France Football, Modrić said that \"history will say that a Croatian player, representing his small country, won the Ballon d'Or after Lionel Messi and Cristiano Ronaldo. No one should compare themselves to them.\"\n", + "Complex: In an interview for the France Football, Modrić stated that \"history will say that a Croatian player, representing his small country, won the Ballon d'Or after Cristiano Ronaldo and Lionel Messi, who are players at another level. Nobody has the right to compare themselves to them.\" \n", + "\n", + "Simple: In an interview for the France Football, Modrić said that \"history will say that a Croatian player, representing his small country, won the Ballon d'Or after Lionel Messi and Cristiano Ronaldo. No one should compare themselves to them.\"\n", + "Complex: In an interview for the France Football, Modrić stated that \"history will say that a Croatian player, representing his small country, won the Ballon d'Or after Cristiano Ronaldo and Lionel Messi, who are players at another level. Nobody has the right to compare themselves to them.\" \n", + "\n", + "Simple: In an interview for the France Football, Modrić said that \"history will say that a Croatian player, representing his small country, won the Ballon d'Or after Lionel Messi and Cristiano Ronaldo. No one should compare themselves to them.\"\n", + "Complex: In an interview for the France Football, Modrić stated that \"history will say that a Croatian player, representing his small country, won the Ballon d'Or after Cristiano Ronaldo and Lionel Messi, who are players at another level. \n", + "\n", + "Simple: In an interview for the France Football, Modrić said that \"history will say that a Croatian player, representing his small country, won the Ballon d'Or after Lionel Messi and Cristiano Ronaldo. No one should compare themselves to them.\"\n", + "Complex: In an interview for the France Football, Modrić stated that \"history will say that a Croatian player, representing his small country, won the Ballon d'Or after Cristiano Ronaldo and Lionel Messi, who are players at another level. \n", + "\n", + "Simple: No one should compare themselves to them.\"\n", + "Complex: who also have their own messes. \n", + "\n", + "Simple: No one should compare themselves to them.\"\n", + "Complex: The soul is believed to be eternal. \n", + "\n", + "Simple: No one should compare themselves to them.\"\n", + "Complex: 'Sins' and evil-doings of the devotee are said to fall away of their own accord, the devotee shriven, limitedness even transcended, through the love of God. \n", + "\n", + "Simple: He has also won four national cups, two league cups, six national super cups, and four FIFA Club World Cups.\n", + "Complex: He has also won four national cups, two league cups, six national super cups, two European Super Cups, and four FIFA Club World Cups. \n", + "\n", + "Simple: who also have their own messes.\n", + "Complex: No one should compare themselves to them.\" \n", + "\n", + "Simple: who also have their own messes.\n", + "Complex: The soul is believed to be eternal. \n", + "\n", + "Simple: who also have their own messes.\n", + "Complex: 'Sins' and evil-doings of the devotee are said to fall away of their own accord, the devotee shriven, limitedness even transcended, through the love of God. \n", + "\n", + "Simple: He is the first footballer and the third sportsman to earn $1 billion in their career.\n", + "Complex: He is the first footballer and only the third sportsman to earn $1 billion in their career. \n", + "\n", + "Simple: I think they have their own personal pride in terms of wanting to be the best.\" Messi himself denied any rivalry, saying that it was \"only the media, the press, who wants us to be at loggerheads but I've never fought with Cristiano.\"\n", + "Complex: I think they have their own personal pride in terms of wanting to be the best.\" Messi has denied any rivalry, and blames the media for creating it, stating that \"only the media, the press, who wants us to be at loggerheads but I've never fought with Cristiano. \n", + "\n", + "Simple: I think they have their own personal pride in terms of wanting to be the best.\" Messi himself denied any rivalry, saying that it was \"only the media, the press, who wants us to be at loggerheads but I've never fought with Cristiano.\"\n", + "Complex: I think they have their own personal pride in terms of wanting to be the best.\" Messi has denied any rivalry, and blames the media for creating it, stating that \"only the media, the press, who wants us to be at loggerheads but I've never fought with Cristiano. \n", + "\n", + "Simple: He is the first footballer and only the third sportsman to earn $1 billion in their career.\n", + "Complex: He is the first footballer and the third sportsman to earn $1 billion in their career. \n", + "\n", + "Simple: They are two of the most decorated football players ever, having won a combined 67 trophies (Ronaldo 32, Messi 35) during their senior careers thus far, and have regularly broken the 50-goal barrier in a single season.\n", + "Complex: They are two of the most decorated football players ever, having won a combined 66 trophies (Ronaldo 32, Messi 34) during their senior careers thus far, and have regularly broken the 50-goal barrier in a single season. \n", + "\n", + "Simple: Messi's combination of dribbling, technical, playmaking, and goalscoring skills is often considered among the very best in history, while Ronaldo's physical attributes, goalscoring skills, leadership and influence under pressure is well-appreciated worldwide.\n", + "Complex: Messi's combination of dribbling, technical, playmaking, and goalscoring skills is often considered among the very best in history, while Ronaldo's leadership and influence under pressure is well-appreciated worldwide. \n", + "\n", + "Simple: In 2019, Messi took the lead again by earning his sixth Ballon d'Or, finishing just seven points ahead of second-placed Virgil van Dijk, with Ronaldo finishing third.\n", + "Complex: In 2019, Messi took the lead again by earning his sixth Ballon d'Or. He finished just seven points ahead of second-placed Virgil van Dijk, with Ronaldo third. \n", + "\n", + "Simple: In 2019, Messi took the lead again by earning his sixth Ballon d'Or, finishing just seven points ahead of second-placed Virgil van Dijk, with Ronaldo finishing third. In total, Messi and Ronaldo reached the podium a record twelve times each.\n", + "Complex: In 2019, Messi took the lead again by earning his sixth Ballon d'Or. He finished just seven points ahead of second-placed Virgil van Dijk, with Ronaldo third. In total, Messi and Ronaldo have both won the World Cup twelve times. \n", + "\n", + "Simple: Messi during this period won five Pichichi trophies and European Golden Shoe awards (2010, 2012, 2013, 2017 and 2018), while Ronaldo won these prizes four times each (2008, 2011, 2014 and 2015).\n", + "Complex: Messi during this period won five Pichichi trophies and European Golden Shoe awards (2010, 2012, 2013, 2017 and 2018), while Ronaldo won these prizes thrice each (2011, 2014 and 2015). \n", + "\n", + "Simple: == Relationship between Messi and Ronaldo == In a 2015 interview, Ronaldo commented on the rivalry by saying: \"I think we push each other sometimes in the competition, this is why the competition is so high.\"\n", + "Complex: == Relationship between Messi and Ronaldo == In a 2015 interview, Ronaldo talked about the rivalry. He said: \"Sometimes we push each other a little bit, that's why the competition is so good. \n", + "\n", + "Simple: I think they have their own personal pride in terms of wanting to be the best.\" Messi has denied any rivalry, and blames the media for creating it, stating that \"only the media, the press, who wants us to be at loggerheads but I've never fought with Cristiano.\n", + "Complex: I think they have their own personal pride in terms of wanting to be the best.\" Messi himself denied any rivalry, saying that it was \"only the media, the press, who wants us to be at loggerheads but I've never fought with Cristiano.\" \n", + "\n", + "Simple: Although it was a bit difficult to see him win trophies, he gave La Liga prestige.\" During a joint interview at the UEFA Player of the Year ceremony in 2019, Ronaldo said he would like to \"have dinner together in the future\", to which Messi later replied: \"If I get an invitation, why not?\"\n", + "Complex: It was a little hard for him to win trophies, but he gave La Liga importance.\" During a joint interview at the UEFA Player of the Year ceremony in 2019, Ronaldo said he would like to \"have dinner together in the future\", to which Messi said: \"If I get an invitation, why not?\" \n", + "\n", + "Simple: During a joint interview at the UEFA Player of the Year ceremony in 2019, Ronaldo said he would like to \"have dinner together in the future\", to which Messi later replied: \"If I get an invitation, why not?\"\n", + "Complex: During a joint interview at the UEFA Player of the Year ceremony in 2019, Ronaldo said he would like to \"have dinner together in the future\", to which Messi said: \"If I get an invitation, why not?\" \n", + "\n", + "Simple: == Awards and records == Throughout the existence of the rivalry, the pair have dominated awards ceremonies and broken a multitude of goalscoring records for both club and country, feats which have been described as \"incredible\", \"ridiculous\" and \"remarkable\".\n", + "Complex: --- == Awards and records == Throughout the existence of the rivalry, the pair have dominated awards ceremonies and broken a multitude of goalscoring records for both club and country, feats which have been described as \"incredible\", \"ridiculous\", and \"remarkable\", respectively. \n", + "\n", + "Simple: In an interview for the France Football, Modrić stated that \"history will say that a Croatian player, representing his small country, won the Ballon d'Or after Cristiano Ronaldo and Lionel Messi, who are players at another level.\n", + "Complex: In an interview for the France Football, Modrić said that \"history will say that a Croatian player, representing his small country, won the Ballon d'Or after Lionel Messi and Cristiano Ronaldo. \n", + "\n", + "Simple: In an interview for the France Football, Modrić stated that \"history will say that a Croatian player, representing his small country, won the Ballon d'Or after Cristiano Ronaldo and Lionel Messi, who are players at another level.\n", + "Complex: In an interview for the France Football, Modrić said that \"history will say that a Croatian player, representing his small country, won the Ballon d'Or after Lionel Messi and Cristiano Ronaldo. No one should compare themselves to them.\" \n", + "\n", + "Simple: In an interview for the France Football, Modrić stated that \"history will say that a Croatian player, representing his small country, won the Ballon d'Or after Cristiano Ronaldo and Lionel Messi, who are players at another level. Nobody has the right to compare themselves to them.\"\n", + "Complex: In an interview for the France Football, Modrić said that \"history will say that a Croatian player, representing his small country, won the Ballon d'Or after Lionel Messi and Cristiano Ronaldo. No one should compare themselves to them.\" \n", + "\n", + "Simple: He has also won four national cups, two league cups, six national super cups, two European Super Cups, and four FIFA Club World Cups.\n", + "Complex: He has also won four national cups, two league cups, six national super cups, and four FIFA Club World Cups. \n", + "\n", + "Simple: Moreover, Messi was runner-up at three Copa Américas and at the 2014 World Cup, before finally claiming his first major international trophy at the 2021 Copa América where he was named best player and joint top scorer.\n", + "Complex: Moreover, Messi was runner-up at three Copa Américas and at the 2014 World Cup, before finally claiming his first major international trophy at the 2021 Copa América where he was named joint-best player and top scorer. \n", + "\n", + "Simple: The term Hindu was later used occasionally in some Sanskrit texts such as the later Rajataranginis of Kashmir (Hinduka, c. 1450) and some 16th- to 18th-century Bengali Gaudiya Vaishnava texts, including Chaitanya Charitamrita and Chaitanya Bhagavata.\n", + "Complex: The term Hindu was later used in some Sanskrit texts such as the later Rajataranginis of Kashmir (Hinduka, c. 1450) and some 16th- to 18th-century Bengali Gaudiya Vaishnava texts including Chaitanya Charitamrita and Chaitanya Bhagavata. \n", + "\n", + "Simple: These texts used it to contrast Hindus from Muslims who are called Yavanas (foreigners) or Mlecchas (barbarians), with the 16th-century Chaitanya Charitamrita text and the 17th-century Bhakta Mala text using the phrase \"Hindu dharma\".\n", + "Complex: These texts used to distinguish Hindus from Muslims who are called Yavanas (foreigners) or Mlecchas (barbarians), with the 16th-century Chaitanya Charitamrita text and the 17th century Bhakta Mala text using the phrase \"Hindu dharma\". \n", + "\n", + "Simple: This paragraph is tough to comprehend.\n", + "Complex: This paragraph is very hard to understand. \n", + "\n", + "Simple: This paragraph is very hard to understand.\n", + "Complex: This paragraph is tough to comprehend. \n", + "\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "0JVgbXvwNtu1" + }, + "source": [ + "**Add Control Tokens**" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "ugItZ0s2N4k_" + }, + "source": [ + "final_pps = prepend_control_tokens(paraphrases)" + ], + "execution_count": 53, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "zIMH3TFBXEtL" + }, + "source": [ + "**Fine-tune BART for Text Simlplification**" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "pxiIFuabXaCF" + }, + "source": [ + "tokenizer = get_tokenizer()" + ], + "execution_count": 55, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "mjHimSPLU-il" + }, + "source": [ + "dataset = get_dataset(final_pps, tokenizer)" + ], + "execution_count": 56, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "M44IGfhEXfhl" + }, + "source": [ + "model = get_model(len(tokenizer))" + ], + "execution_count": 57, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "8QSEHQb2XRwo" + }, + "source": [ + "data_collator = get_data_collator(tokenizer, model)\n", + "args = get_training_arguments(epochs=1, batch_size=8)\n", + "trainer = get_trainer(model, tokenizer, dataset, data_collator, args)" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 312 + }, + "id": "daAnf0xdK844", + "outputId": "6d3cdc8d-a19e-4f5a-fbaa-d17015beef41" + }, + "source": [ + "trainer.train()" + ], + "execution_count": 65, + "outputs": [ + { + "output_type": "stream", + "text": [ + "***** Running training *****\n", + " Num examples = 72\n", + " Num Epochs = 1\n", + " Instantaneous batch size per device = 8\n", + " Total train batch size (w. parallel, distributed & accumulation) = 8\n", + " Gradient Accumulation steps = 1\n", + " Total optimization steps = 9\n" + ], + "name": "stderr" + }, + { + "output_type": "display_data", + "data": { + "text/html": [ + "\n", + "

\n", + " \n", + " \n", + " [9/9 04:07, Epoch 1/1]\n", + "
\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
StepTraining Loss

" + ], + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + } + }, + { + "output_type": "stream", + "text": [ + "\n", + "\n", + "Training completed. Do not forget to share your model on huggingface.co/models =)\n", + "\n", + "\n" + ], + "name": "stderr" + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "TrainOutput(global_step=9, training_loss=0.9259072409735786, metrics={'train_runtime': 278.6859, 'train_samples_per_second': 0.258, 'train_steps_per_second': 0.032, 'total_flos': 20367397158912.0, 'train_loss': 0.9259072409735786, 'epoch': 1.0})" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 65 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "gVgdRbyBZ00U" + }, + "source": [ + "---" + ] + } + ] +} \ No newline at end of file From 94d475d4488f19d2883bae553985b9fcbdd2f581 Mon Sep 17 00:00:00 2001 From: Rishav Bikarwar Date: Sun, 1 Aug 2021 01:31:09 +0530 Subject: [PATCH 03/11] Add wikipedia simplifier notebook --- Final model/Team_4/Wikipedia_Simplifier.ipynb | 3213 +++++++++++++++++ 1 file changed, 3213 insertions(+) create mode 100644 Final model/Team_4/Wikipedia_Simplifier.ipynb diff --git a/Final model/Team_4/Wikipedia_Simplifier.ipynb b/Final model/Team_4/Wikipedia_Simplifier.ipynb new file mode 100644 index 0000000..84dbb36 --- /dev/null +++ b/Final model/Team_4/Wikipedia_Simplifier.ipynb @@ -0,0 +1,3213 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "name": "Wikipedia_Simplifier.ipynb", + "provenance": [], + "collapsed_sections": [], + "authorship_tag": "ABX9TyMXxpFSxyna2QIYJl7yNDUM", + "include_colab_link": true + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + }, + "accelerator": "GPU", + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "c4768b71c55445f092c33d0d9b197834": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "state": { + "_view_name": "HBoxView", + "_dom_classes": [], + "_model_name": "HBoxModel", + "_view_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_view_count": null, + "_view_module_version": "1.5.0", + "box_style": "", + "layout": "IPY_MODEL_77418127c4654006a6610af8722b4f98", + "_model_module": "@jupyter-widgets/controls", + "children": [ + "IPY_MODEL_977ad2096048427ab9d3c7c567d311f3", + "IPY_MODEL_fcb0e031854446af94b2f29bd1d6710d", + "IPY_MODEL_ccf5379321ec4eeeb2ccf0a014737889" + ] + } + }, + "77418127c4654006a6610af8722b4f98": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "state": { + "_view_name": "LayoutView", + "grid_template_rows": null, + "right": null, + "justify_content": null, + "_view_module": "@jupyter-widgets/base", + "overflow": null, + "_model_module_version": "1.2.0", + "_view_count": null, + "flex_flow": null, + "width": null, + "min_width": null, + "border": null, + "align_items": null, + "bottom": null, + "_model_module": "@jupyter-widgets/base", + "top": null, + "grid_column": null, + "overflow_y": null, + "overflow_x": null, + "grid_auto_flow": null, + "grid_area": null, + "grid_template_columns": null, + "flex": null, + "_model_name": "LayoutModel", + "justify_items": null, + "grid_row": null, + "max_height": null, + "align_content": null, + "visibility": null, + "align_self": null, + "height": null, + "min_height": null, + "padding": null, + "grid_auto_rows": null, + "grid_gap": null, + "max_width": null, + "order": null, + "_view_module_version": "1.2.0", + "grid_template_areas": null, + "object_position": null, + "object_fit": null, + "grid_auto_columns": null, + "margin": null, + "display": null, + "left": null + } + }, + "977ad2096048427ab9d3c7c567d311f3": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "state": { + "_view_name": "HTMLView", + "style": "IPY_MODEL_85d2c4b4c4a14bcaabf06c2899acc41e", + "_dom_classes": [], + "description": "", + "_model_name": "HTMLModel", + "placeholder": "​", + "_view_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "value": "Downloading: 100%", + "_view_count": null, + "_view_module_version": "1.5.0", + "description_tooltip": null, + "_model_module": "@jupyter-widgets/controls", + "layout": "IPY_MODEL_9cf7a6867acb4d3a93611932b9704d4e" + } + }, + "fcb0e031854446af94b2f29bd1d6710d": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "state": { + "_view_name": "ProgressView", + "style": "IPY_MODEL_5af848fb9265434c93693ae6dd7e5ac1", + "_dom_classes": [], + "description": "", + "_model_name": "FloatProgressModel", + "bar_style": "success", + "max": 1802, + "_view_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "value": 1802, + "_view_count": null, + "_view_module_version": "1.5.0", + "orientation": "horizontal", + "min": 0, + "description_tooltip": null, + "_model_module": "@jupyter-widgets/controls", + "layout": "IPY_MODEL_3a59e8f2a68a406fba8a15a8a54e62a3" + } + }, + "ccf5379321ec4eeeb2ccf0a014737889": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "state": { + "_view_name": "HTMLView", + "style": "IPY_MODEL_70d73496167a433ca9e142e28fbb7596", + "_dom_classes": [], + "description": "", + "_model_name": "HTMLModel", + "placeholder": "​", + "_view_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "value": " 1.80k/1.80k [00:00<00:00, 45.5kB/s]", + "_view_count": null, + "_view_module_version": "1.5.0", + "description_tooltip": null, + "_model_module": "@jupyter-widgets/controls", + "layout": "IPY_MODEL_0ef209dc3b3d454fae7325d0ddff7240" + } + }, + "85d2c4b4c4a14bcaabf06c2899acc41e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "state": { + "_view_name": "StyleView", + "_model_name": "DescriptionStyleModel", + "description_width": "", + "_view_module": "@jupyter-widgets/base", + "_model_module_version": "1.5.0", + "_view_count": null, + "_view_module_version": "1.2.0", + "_model_module": "@jupyter-widgets/controls" + } + }, + "9cf7a6867acb4d3a93611932b9704d4e": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "state": { + "_view_name": "LayoutView", + "grid_template_rows": null, + "right": null, + "justify_content": null, + "_view_module": "@jupyter-widgets/base", + "overflow": null, + "_model_module_version": "1.2.0", + "_view_count": null, + "flex_flow": null, + "width": null, + "min_width": null, + "border": null, + "align_items": null, + "bottom": null, + "_model_module": "@jupyter-widgets/base", + "top": null, + "grid_column": null, + "overflow_y": null, + "overflow_x": null, + "grid_auto_flow": null, + "grid_area": null, + "grid_template_columns": null, + "flex": null, + "_model_name": "LayoutModel", + "justify_items": null, + "grid_row": null, + "max_height": null, + "align_content": null, + "visibility": null, + "align_self": null, + "height": null, + "min_height": null, + "padding": null, + "grid_auto_rows": null, + "grid_gap": null, + "max_width": null, + "order": null, + "_view_module_version": "1.2.0", + "grid_template_areas": null, + "object_position": null, + "object_fit": null, + "grid_auto_columns": null, + "margin": null, + "display": null, + "left": null + } + }, + "5af848fb9265434c93693ae6dd7e5ac1": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "state": { + "_view_name": "StyleView", + "_model_name": "ProgressStyleModel", + "description_width": "", + "_view_module": "@jupyter-widgets/base", + "_model_module_version": "1.5.0", + "_view_count": null, + "_view_module_version": "1.2.0", + "bar_color": null, + "_model_module": "@jupyter-widgets/controls" + } + }, + "3a59e8f2a68a406fba8a15a8a54e62a3": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "state": { + "_view_name": "LayoutView", + "grid_template_rows": null, + "right": null, + "justify_content": null, + "_view_module": "@jupyter-widgets/base", + "overflow": null, + "_model_module_version": "1.2.0", + "_view_count": null, + "flex_flow": null, + "width": null, + "min_width": null, + "border": null, + "align_items": null, + "bottom": null, + "_model_module": "@jupyter-widgets/base", + "top": null, + "grid_column": null, + "overflow_y": null, + "overflow_x": null, + "grid_auto_flow": null, + "grid_area": null, + "grid_template_columns": null, + "flex": null, + "_model_name": "LayoutModel", + "justify_items": null, + "grid_row": null, + "max_height": null, + "align_content": null, + "visibility": null, + "align_self": null, + "height": null, + "min_height": null, + "padding": null, + "grid_auto_rows": null, + "grid_gap": null, + "max_width": null, + "order": null, + "_view_module_version": "1.2.0", + "grid_template_areas": null, + "object_position": null, + "object_fit": null, + "grid_auto_columns": null, + "margin": null, + "display": null, + "left": null + } + }, + "70d73496167a433ca9e142e28fbb7596": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "state": { + "_view_name": "StyleView", + "_model_name": "DescriptionStyleModel", + "description_width": "", + "_view_module": "@jupyter-widgets/base", + "_model_module_version": "1.5.0", + "_view_count": null, + "_view_module_version": "1.2.0", + "_model_module": "@jupyter-widgets/controls" + } + }, + "0ef209dc3b3d454fae7325d0ddff7240": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "state": { + "_view_name": "LayoutView", + "grid_template_rows": null, + "right": null, + "justify_content": null, + "_view_module": "@jupyter-widgets/base", + "overflow": null, + "_model_module_version": "1.2.0", + "_view_count": null, + "flex_flow": null, + "width": null, + "min_width": null, + "border": null, + "align_items": null, + "bottom": null, + "_model_module": "@jupyter-widgets/base", + "top": null, + "grid_column": null, + "overflow_y": null, + "overflow_x": null, + "grid_auto_flow": null, + "grid_area": null, + "grid_template_columns": null, + "flex": null, + "_model_name": "LayoutModel", + "justify_items": null, + "grid_row": null, + "max_height": null, + "align_content": null, + "visibility": null, + "align_self": null, + "height": null, + "min_height": null, + "padding": null, + "grid_auto_rows": null, + "grid_gap": null, + "max_width": null, + "order": null, + "_view_module_version": "1.2.0", + "grid_template_areas": null, + "object_position": null, + "object_fit": null, + "grid_auto_columns": null, + "margin": null, + "display": null, + "left": null + } + }, + "f29ee09134c24e63bb9c6a1ea65f3e6e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "state": { + "_view_name": "HBoxView", + "_dom_classes": [], + "_model_name": "HBoxModel", + "_view_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_view_count": null, + "_view_module_version": "1.5.0", + "box_style": "", + "layout": "IPY_MODEL_acf2fbcdc6dd4b1ba5de8908eac46199", + "_model_module": "@jupyter-widgets/controls", + "children": [ + "IPY_MODEL_1c3db3e73d924a6990cd10ebfc2665d2", + "IPY_MODEL_a4a56f6446074adfa1b11bbcb34e3d22", + "IPY_MODEL_f7dc8ad7682f43e4a8cc5f3c3442cb01" + ] + } + }, + "acf2fbcdc6dd4b1ba5de8908eac46199": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "state": { + "_view_name": "LayoutView", + "grid_template_rows": null, + "right": null, + "justify_content": null, + "_view_module": "@jupyter-widgets/base", + "overflow": null, + "_model_module_version": "1.2.0", + "_view_count": null, + "flex_flow": null, + "width": null, + "min_width": null, + "border": null, + "align_items": null, + "bottom": null, + "_model_module": "@jupyter-widgets/base", + "top": null, + "grid_column": null, + "overflow_y": null, + "overflow_x": null, + "grid_auto_flow": null, + "grid_area": null, + "grid_template_columns": null, + "flex": null, + "_model_name": "LayoutModel", + "justify_items": null, + "grid_row": null, + "max_height": null, + "align_content": null, + "visibility": null, + "align_self": null, + "height": null, + "min_height": null, + "padding": null, + "grid_auto_rows": null, + "grid_gap": null, + "max_width": null, + "order": null, + "_view_module_version": "1.2.0", + "grid_template_areas": null, + "object_position": null, + "object_fit": null, + "grid_auto_columns": null, + "margin": null, + "display": null, + "left": null + } + }, + "1c3db3e73d924a6990cd10ebfc2665d2": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "state": { + "_view_name": "HTMLView", + "style": "IPY_MODEL_4e8374fa45104f0eb48209c3e573cec5", + "_dom_classes": [], + "description": "", + "_model_name": "HTMLModel", + "placeholder": "​", + "_view_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "value": "Downloading: 100%", + "_view_count": null, + "_view_module_version": "1.5.0", + "description_tooltip": null, + "_model_module": "@jupyter-widgets/controls", + "layout": "IPY_MODEL_64c4c18fcf9d41c4a0854d95bff4ebef" + } + }, + "a4a56f6446074adfa1b11bbcb34e3d22": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "state": { + "_view_name": "ProgressView", + "style": "IPY_MODEL_ea74a17e91234cb1a803d9de41384ca4", + "_dom_classes": [], + "description": "", + "_model_name": "FloatProgressModel", + "bar_style": "success", + "max": 1222317369, + "_view_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "value": 1222317369, + "_view_count": null, + "_view_module_version": "1.5.0", + "orientation": "horizontal", + "min": 0, + "description_tooltip": null, + "_model_module": "@jupyter-widgets/controls", + "layout": "IPY_MODEL_0c8133e3342b4f649cfba7d8e3795232" + } + }, + "f7dc8ad7682f43e4a8cc5f3c3442cb01": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "state": { + "_view_name": "HTMLView", + "style": "IPY_MODEL_cf9d482e115c48cf861c22c88201b238", + "_dom_classes": [], + "description": "", + "_model_name": "HTMLModel", + "placeholder": "​", + "_view_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "value": " 1.22G/1.22G [00:23<00:00, 52.4MB/s]", + "_view_count": null, + "_view_module_version": "1.5.0", + "description_tooltip": null, + "_model_module": "@jupyter-widgets/controls", + "layout": "IPY_MODEL_11155ce2cd7141e394fd874e213efec7" + } + }, + "4e8374fa45104f0eb48209c3e573cec5": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "state": { + "_view_name": "StyleView", + "_model_name": "DescriptionStyleModel", + "description_width": "", + "_view_module": "@jupyter-widgets/base", + "_model_module_version": "1.5.0", + "_view_count": null, + "_view_module_version": "1.2.0", + "_model_module": "@jupyter-widgets/controls" + } + }, + "64c4c18fcf9d41c4a0854d95bff4ebef": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "state": { + "_view_name": "LayoutView", + "grid_template_rows": null, + "right": null, + "justify_content": null, + "_view_module": "@jupyter-widgets/base", + "overflow": null, + "_model_module_version": "1.2.0", + "_view_count": null, + "flex_flow": null, + "width": null, + "min_width": null, + "border": null, + "align_items": null, + "bottom": null, + "_model_module": "@jupyter-widgets/base", + "top": null, + "grid_column": null, + "overflow_y": null, + "overflow_x": null, + "grid_auto_flow": null, + "grid_area": null, + "grid_template_columns": null, + "flex": null, + "_model_name": "LayoutModel", + "justify_items": null, + "grid_row": null, + "max_height": null, + "align_content": null, + "visibility": null, + "align_self": null, + "height": null, + "min_height": null, + "padding": null, + "grid_auto_rows": null, + "grid_gap": null, + "max_width": null, + "order": null, + "_view_module_version": "1.2.0", + "grid_template_areas": null, + "object_position": null, + "object_fit": null, + "grid_auto_columns": null, + "margin": null, + "display": null, + "left": null + } + }, + "ea74a17e91234cb1a803d9de41384ca4": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "state": { + "_view_name": "StyleView", + "_model_name": "ProgressStyleModel", + "description_width": "", + "_view_module": "@jupyter-widgets/base", + "_model_module_version": "1.5.0", + "_view_count": null, + "_view_module_version": "1.2.0", + "bar_color": null, + "_model_module": "@jupyter-widgets/controls" + } + }, + "0c8133e3342b4f649cfba7d8e3795232": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "state": { + "_view_name": "LayoutView", + "grid_template_rows": null, + "right": null, + "justify_content": null, + "_view_module": "@jupyter-widgets/base", + "overflow": null, + "_model_module_version": "1.2.0", + "_view_count": null, + "flex_flow": null, + "width": null, + "min_width": null, + "border": null, + "align_items": null, + "bottom": null, + "_model_module": "@jupyter-widgets/base", + "top": null, + "grid_column": null, + "overflow_y": null, + "overflow_x": null, + "grid_auto_flow": null, + "grid_area": null, + "grid_template_columns": null, + "flex": null, + "_model_name": "LayoutModel", + "justify_items": null, + "grid_row": null, + "max_height": null, + "align_content": null, + "visibility": null, + "align_self": null, + "height": null, + "min_height": null, + "padding": null, + "grid_auto_rows": null, + "grid_gap": null, + "max_width": null, + "order": null, + "_view_module_version": "1.2.0", + "grid_template_areas": null, + "object_position": null, + "object_fit": null, + "grid_auto_columns": null, + "margin": null, + "display": null, + "left": null + } + }, + "cf9d482e115c48cf861c22c88201b238": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "state": { + "_view_name": "StyleView", + "_model_name": "DescriptionStyleModel", + "description_width": "", + "_view_module": "@jupyter-widgets/base", + "_model_module_version": "1.5.0", + "_view_count": null, + "_view_module_version": "1.2.0", + "_model_module": "@jupyter-widgets/controls" + } + }, + "11155ce2cd7141e394fd874e213efec7": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "state": { + "_view_name": "LayoutView", + "grid_template_rows": null, + "right": null, + "justify_content": null, + "_view_module": "@jupyter-widgets/base", + "overflow": null, + "_model_module_version": "1.2.0", + "_view_count": null, + "flex_flow": null, + "width": null, + "min_width": null, + "border": null, + "align_items": null, + "bottom": null, + "_model_module": "@jupyter-widgets/base", + "top": null, + "grid_column": null, + "overflow_y": null, + "overflow_x": null, + "grid_auto_flow": null, + "grid_area": null, + "grid_template_columns": null, + "flex": null, + "_model_name": "LayoutModel", + "justify_items": null, + "grid_row": null, + "max_height": null, + "align_content": null, + "visibility": null, + "align_self": null, + "height": null, + "min_height": null, + "padding": null, + "grid_auto_rows": null, + "grid_gap": null, + "max_width": null, + "order": null, + "_view_module_version": "1.2.0", + "grid_template_areas": null, + "object_position": null, + "object_fit": null, + "grid_auto_columns": null, + "margin": null, + "display": null, + "left": null + } + }, + "7e961ac3509f4628bdfdbc7fc95d74de": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "state": { + "_view_name": "HBoxView", + "_dom_classes": [], + "_model_name": "HBoxModel", + "_view_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_view_count": null, + "_view_module_version": "1.5.0", + "box_style": "", + "layout": "IPY_MODEL_61a80c0b95264b8aa78518d988419ae4", + "_model_module": "@jupyter-widgets/controls", + "children": [ + "IPY_MODEL_fff9f1c3802b477195c738a86e4afd48", + "IPY_MODEL_c2cab65440a742cf8aa268fcb839fd95", + "IPY_MODEL_7ea8106314e94965ab142c5fe945dfad" + ] + } + }, + "61a80c0b95264b8aa78518d988419ae4": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "state": { + "_view_name": "LayoutView", + "grid_template_rows": null, + "right": null, + "justify_content": null, + "_view_module": "@jupyter-widgets/base", + "overflow": null, + "_model_module_version": "1.2.0", + "_view_count": null, + "flex_flow": null, + "width": null, + "min_width": null, + "border": null, + "align_items": null, + "bottom": null, + "_model_module": "@jupyter-widgets/base", + "top": null, + "grid_column": null, + "overflow_y": null, + "overflow_x": null, + "grid_auto_flow": null, + "grid_area": null, + "grid_template_columns": null, + "flex": null, + "_model_name": "LayoutModel", + "justify_items": null, + "grid_row": null, + "max_height": null, + "align_content": null, + "visibility": null, + "align_self": null, + "height": null, + "min_height": null, + "padding": null, + "grid_auto_rows": null, + "grid_gap": null, + "max_width": null, + "order": null, + "_view_module_version": "1.2.0", + "grid_template_areas": null, + "object_position": null, + "object_fit": null, + "grid_auto_columns": null, + "margin": null, + "display": null, + "left": null + } + }, + "fff9f1c3802b477195c738a86e4afd48": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "state": { + "_view_name": "HTMLView", + "style": "IPY_MODEL_eb31c9e0621d4f029ff12b3b085b4adb", + "_dom_classes": [], + "description": "", + "_model_name": "HTMLModel", + "placeholder": "​", + "_view_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "value": "Downloading: 100%", + "_view_count": null, + "_view_module_version": "1.5.0", + "description_tooltip": null, + "_model_module": "@jupyter-widgets/controls", + "layout": "IPY_MODEL_24ea13fff6084c41a97b191e38c4a936" + } + }, + "c2cab65440a742cf8aa268fcb839fd95": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "state": { + "_view_name": "ProgressView", + "style": "IPY_MODEL_95e097a72dd9430fa4990d8125f3aaf7", + "_dom_classes": [], + "description": "", + "_model_name": "FloatProgressModel", + "bar_style": "success", + "max": 26, + "_view_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "value": 26, + "_view_count": null, + "_view_module_version": "1.5.0", + "orientation": "horizontal", + "min": 0, + "description_tooltip": null, + "_model_module": "@jupyter-widgets/controls", + "layout": "IPY_MODEL_c1beffc7e319462194f55af137816064" + } + }, + "7ea8106314e94965ab142c5fe945dfad": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "state": { + "_view_name": "HTMLView", + "style": "IPY_MODEL_783c049c65db4d958dd770c828869968", + "_dom_classes": [], + "description": "", + "_model_name": "HTMLModel", + "placeholder": "​", + "_view_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "value": " 26.0/26.0 [00:00<00:00, 575B/s]", + "_view_count": null, + "_view_module_version": "1.5.0", + "description_tooltip": null, + "_model_module": "@jupyter-widgets/controls", + "layout": "IPY_MODEL_ee16cce8e6444c138326ce2cbc7f4431" + } + }, + "eb31c9e0621d4f029ff12b3b085b4adb": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "state": { + "_view_name": "StyleView", + "_model_name": "DescriptionStyleModel", + "description_width": "", + "_view_module": "@jupyter-widgets/base", + "_model_module_version": "1.5.0", + "_view_count": null, + "_view_module_version": "1.2.0", + "_model_module": "@jupyter-widgets/controls" + } + }, + "24ea13fff6084c41a97b191e38c4a936": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "state": { + "_view_name": "LayoutView", + "grid_template_rows": null, + "right": null, + "justify_content": null, + "_view_module": "@jupyter-widgets/base", + "overflow": null, + "_model_module_version": "1.2.0", + "_view_count": null, + "flex_flow": null, + "width": null, + "min_width": null, + "border": null, + "align_items": null, + "bottom": null, + "_model_module": "@jupyter-widgets/base", + "top": null, + "grid_column": null, + "overflow_y": null, + "overflow_x": null, + "grid_auto_flow": null, + "grid_area": null, + "grid_template_columns": null, + "flex": null, + "_model_name": "LayoutModel", + "justify_items": null, + "grid_row": null, + "max_height": null, + "align_content": null, + "visibility": null, + "align_self": null, + "height": null, + "min_height": null, + "padding": null, + "grid_auto_rows": null, + "grid_gap": null, + "max_width": null, + "order": null, + "_view_module_version": "1.2.0", + "grid_template_areas": null, + "object_position": null, + "object_fit": null, + "grid_auto_columns": null, + "margin": null, + "display": null, + "left": null + } + }, + "95e097a72dd9430fa4990d8125f3aaf7": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "state": { + "_view_name": "StyleView", + "_model_name": "ProgressStyleModel", + "description_width": "", + "_view_module": "@jupyter-widgets/base", + "_model_module_version": "1.5.0", + "_view_count": null, + "_view_module_version": "1.2.0", + "bar_color": null, + "_model_module": "@jupyter-widgets/controls" + } + }, + "c1beffc7e319462194f55af137816064": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "state": { + "_view_name": "LayoutView", + "grid_template_rows": null, + "right": null, + "justify_content": null, + "_view_module": "@jupyter-widgets/base", + "overflow": null, + "_model_module_version": "1.2.0", + "_view_count": null, + "flex_flow": null, + "width": null, + "min_width": null, + "border": null, + "align_items": null, + "bottom": null, + "_model_module": "@jupyter-widgets/base", + "top": null, + "grid_column": null, + "overflow_y": null, + "overflow_x": null, + "grid_auto_flow": null, + "grid_area": null, + "grid_template_columns": null, + "flex": null, + "_model_name": "LayoutModel", + "justify_items": null, + "grid_row": null, + "max_height": null, + "align_content": null, + "visibility": null, + "align_self": null, + "height": null, + "min_height": null, + "padding": null, + "grid_auto_rows": null, + "grid_gap": null, + "max_width": null, + "order": null, + "_view_module_version": "1.2.0", + "grid_template_areas": null, + "object_position": null, + "object_fit": null, + "grid_auto_columns": null, + "margin": null, + "display": null, + "left": null + } + }, + "783c049c65db4d958dd770c828869968": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "state": { + "_view_name": "StyleView", + "_model_name": "DescriptionStyleModel", + "description_width": "", + "_view_module": "@jupyter-widgets/base", + "_model_module_version": "1.5.0", + "_view_count": null, + "_view_module_version": "1.2.0", + "_model_module": "@jupyter-widgets/controls" + } + }, + "ee16cce8e6444c138326ce2cbc7f4431": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "state": { + "_view_name": "LayoutView", + "grid_template_rows": null, + "right": null, + "justify_content": null, + "_view_module": "@jupyter-widgets/base", + "overflow": null, + "_model_module_version": "1.2.0", + "_view_count": null, + "flex_flow": null, + "width": null, + "min_width": null, + "border": null, + "align_items": null, + "bottom": null, + "_model_module": "@jupyter-widgets/base", + "top": null, + "grid_column": null, + "overflow_y": null, + "overflow_x": null, + "grid_auto_flow": null, + "grid_area": null, + "grid_template_columns": null, + "flex": null, + "_model_name": "LayoutModel", + "justify_items": null, + "grid_row": null, + "max_height": null, + "align_content": null, + "visibility": null, + "align_self": null, + "height": null, + "min_height": null, + "padding": null, + "grid_auto_rows": null, + "grid_gap": null, + "max_width": null, + "order": null, + "_view_module_version": "1.2.0", + "grid_template_areas": null, + "object_position": null, + "object_fit": null, + "grid_auto_columns": null, + "margin": null, + "display": null, + "left": null + } + }, + "a02e3162567847668f976f1e865506fd": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "state": { + "_view_name": "HBoxView", + "_dom_classes": [], + "_model_name": "HBoxModel", + "_view_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_view_count": null, + "_view_module_version": "1.5.0", + "box_style": "", + "layout": "IPY_MODEL_65c2bacb18b24862955d1292704caa83", + "_model_module": "@jupyter-widgets/controls", + "children": [ + "IPY_MODEL_31a297d11a4743c5a07848d55194213e", + "IPY_MODEL_c395b5aaed7348119db6d55d03118dd2", + "IPY_MODEL_6b88509078be4a7fbd565dd772144ea1" + ] + } + }, + "65c2bacb18b24862955d1292704caa83": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "state": { + "_view_name": "LayoutView", + "grid_template_rows": null, + "right": null, + "justify_content": null, + "_view_module": "@jupyter-widgets/base", + "overflow": null, + "_model_module_version": "1.2.0", + "_view_count": null, + "flex_flow": null, + "width": null, + "min_width": null, + "border": null, + "align_items": null, + "bottom": null, + "_model_module": "@jupyter-widgets/base", + "top": null, + "grid_column": null, + "overflow_y": null, + "overflow_x": null, + "grid_auto_flow": null, + "grid_area": null, + "grid_template_columns": null, + "flex": null, + "_model_name": "LayoutModel", + "justify_items": null, + "grid_row": null, + "max_height": null, + "align_content": null, + "visibility": null, + "align_self": null, + "height": null, + "min_height": null, + "padding": null, + "grid_auto_rows": null, + "grid_gap": null, + "max_width": null, + "order": null, + "_view_module_version": "1.2.0", + "grid_template_areas": null, + "object_position": null, + "object_fit": null, + "grid_auto_columns": null, + "margin": null, + "display": null, + "left": null + } + }, + "31a297d11a4743c5a07848d55194213e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "state": { + "_view_name": "HTMLView", + "style": "IPY_MODEL_53054592ddfe40d3b18546ce3ef29eb1", + "_dom_classes": [], + "description": "", + "_model_name": "HTMLModel", + "placeholder": "​", + "_view_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "value": "Downloading: 100%", + "_view_count": null, + "_view_module_version": "1.5.0", + "description_tooltip": null, + "_model_module": "@jupyter-widgets/controls", + "layout": "IPY_MODEL_b5cad8be41d34a33b6455763477c5afc" + } + }, + "c395b5aaed7348119db6d55d03118dd2": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "state": { + "_view_name": "ProgressView", + "style": "IPY_MODEL_f26727ff8e564530947c62a8d54aa2db", + "_dom_classes": [], + "description": "", + "_model_name": "FloatProgressModel", + "bar_style": "success", + "max": 898822, + "_view_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "value": 898822, + "_view_count": null, + "_view_module_version": "1.5.0", + "orientation": "horizontal", + "min": 0, + "description_tooltip": null, + "_model_module": "@jupyter-widgets/controls", + "layout": "IPY_MODEL_4d0999f7d88b4405b97e3a5bba72fe80" + } + }, + "6b88509078be4a7fbd565dd772144ea1": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "state": { + "_view_name": "HTMLView", + "style": "IPY_MODEL_d1556920ef6f474a975a6672ba311b49", + "_dom_classes": [], + "description": "", + "_model_name": "HTMLModel", + "placeholder": "​", + "_view_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "value": " 899k/899k [00:00<00:00, 3.04kB/s]", + "_view_count": null, + "_view_module_version": "1.5.0", + "description_tooltip": null, + "_model_module": "@jupyter-widgets/controls", + "layout": "IPY_MODEL_dbbed27ac93a4e79a06bad53e775484e" + } + }, + "53054592ddfe40d3b18546ce3ef29eb1": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "state": { + "_view_name": "StyleView", + "_model_name": "DescriptionStyleModel", + "description_width": "", + "_view_module": "@jupyter-widgets/base", + "_model_module_version": "1.5.0", + "_view_count": null, + "_view_module_version": "1.2.0", + "_model_module": "@jupyter-widgets/controls" + } + }, + "b5cad8be41d34a33b6455763477c5afc": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "state": { + "_view_name": "LayoutView", + "grid_template_rows": null, + "right": null, + "justify_content": null, + "_view_module": "@jupyter-widgets/base", + "overflow": null, + "_model_module_version": "1.2.0", + "_view_count": null, + "flex_flow": null, + "width": null, + "min_width": null, + "border": null, + "align_items": null, + "bottom": null, + "_model_module": "@jupyter-widgets/base", + "top": null, + "grid_column": null, + "overflow_y": null, + "overflow_x": null, + "grid_auto_flow": null, + "grid_area": null, + "grid_template_columns": null, + "flex": null, + "_model_name": "LayoutModel", + "justify_items": null, + "grid_row": null, + "max_height": null, + "align_content": null, + "visibility": null, + "align_self": null, + "height": null, + "min_height": null, + "padding": null, + "grid_auto_rows": null, + "grid_gap": null, + "max_width": null, + "order": null, + "_view_module_version": "1.2.0", + "grid_template_areas": null, + "object_position": null, + "object_fit": null, + "grid_auto_columns": null, + "margin": null, + "display": null, + "left": null + } + }, + "f26727ff8e564530947c62a8d54aa2db": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "state": { + "_view_name": "StyleView", + "_model_name": "ProgressStyleModel", + "description_width": "", + "_view_module": "@jupyter-widgets/base", + "_model_module_version": "1.5.0", + "_view_count": null, + "_view_module_version": "1.2.0", + "bar_color": null, + "_model_module": "@jupyter-widgets/controls" + } + }, + "4d0999f7d88b4405b97e3a5bba72fe80": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "state": { + "_view_name": "LayoutView", + "grid_template_rows": null, + "right": null, + "justify_content": null, + "_view_module": "@jupyter-widgets/base", + "overflow": null, + "_model_module_version": "1.2.0", + "_view_count": null, + "flex_flow": null, + "width": null, + "min_width": null, + "border": null, + "align_items": null, + "bottom": null, + "_model_module": "@jupyter-widgets/base", + "top": null, + "grid_column": null, + "overflow_y": null, + "overflow_x": null, + "grid_auto_flow": null, + "grid_area": null, + "grid_template_columns": null, + "flex": null, + "_model_name": "LayoutModel", + "justify_items": null, + "grid_row": null, + "max_height": null, + "align_content": null, + "visibility": null, + "align_self": null, + "height": null, + "min_height": null, + "padding": null, + "grid_auto_rows": null, + "grid_gap": null, + "max_width": null, + "order": null, + "_view_module_version": "1.2.0", + "grid_template_areas": null, + "object_position": null, + "object_fit": null, + "grid_auto_columns": null, + "margin": null, + "display": null, + "left": null + } + }, + "d1556920ef6f474a975a6672ba311b49": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "state": { + "_view_name": "StyleView", + "_model_name": "DescriptionStyleModel", + "description_width": "", + "_view_module": "@jupyter-widgets/base", + "_model_module_version": "1.5.0", + "_view_count": null, + "_view_module_version": "1.2.0", + "_model_module": "@jupyter-widgets/controls" + } + }, + "dbbed27ac93a4e79a06bad53e775484e": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "state": { + "_view_name": "LayoutView", + "grid_template_rows": null, + "right": null, + "justify_content": null, + "_view_module": "@jupyter-widgets/base", + "overflow": null, + "_model_module_version": "1.2.0", + "_view_count": null, + "flex_flow": null, + "width": null, + "min_width": null, + "border": null, + "align_items": null, + "bottom": null, + "_model_module": "@jupyter-widgets/base", + "top": null, + "grid_column": null, + "overflow_y": null, + "overflow_x": null, + "grid_auto_flow": null, + "grid_area": null, + "grid_template_columns": null, + "flex": null, + "_model_name": "LayoutModel", + "justify_items": null, + "grid_row": null, + "max_height": null, + "align_content": null, + "visibility": null, + "align_self": null, + "height": null, + "min_height": null, + "padding": null, + "grid_auto_rows": null, + "grid_gap": null, + "max_width": null, + "order": null, + "_view_module_version": "1.2.0", + "grid_template_areas": null, + "object_position": null, + "object_fit": null, + "grid_auto_columns": null, + "margin": null, + "display": null, + "left": null + } + }, + "d782e1075f2b47f78d43173231f78e8e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "state": { + "_view_name": "HBoxView", + "_dom_classes": [], + "_model_name": "HBoxModel", + "_view_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_view_count": null, + "_view_module_version": "1.5.0", + "box_style": "", + "layout": "IPY_MODEL_da051dda894240e7ada9b38a2ee83391", + "_model_module": "@jupyter-widgets/controls", + "children": [ + "IPY_MODEL_333a987a9a9c44d38d597a9605f9a228", + "IPY_MODEL_0bab7b0fb741464eba9c3c17449ce7d3", + "IPY_MODEL_213a2195a4f04c74973ef8961c9b45fe" + ] + } + }, + "da051dda894240e7ada9b38a2ee83391": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "state": { + "_view_name": "LayoutView", + "grid_template_rows": null, + "right": null, + "justify_content": null, + "_view_module": "@jupyter-widgets/base", + "overflow": null, + "_model_module_version": "1.2.0", + "_view_count": null, + "flex_flow": null, + "width": null, + "min_width": null, + "border": null, + "align_items": null, + "bottom": null, + "_model_module": "@jupyter-widgets/base", + "top": null, + "grid_column": null, + "overflow_y": null, + "overflow_x": null, + "grid_auto_flow": null, + "grid_area": null, + "grid_template_columns": null, + "flex": null, + "_model_name": "LayoutModel", + "justify_items": null, + "grid_row": null, + "max_height": null, + "align_content": null, + "visibility": null, + "align_self": null, + "height": null, + "min_height": null, + "padding": null, + "grid_auto_rows": null, + "grid_gap": null, + "max_width": null, + "order": null, + "_view_module_version": "1.2.0", + "grid_template_areas": null, + "object_position": null, + "object_fit": null, + "grid_auto_columns": null, + "margin": null, + "display": null, + "left": null + } + }, + "333a987a9a9c44d38d597a9605f9a228": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "state": { + "_view_name": "HTMLView", + "style": "IPY_MODEL_4d4a4b87e88d475b971a8a1c2e517a14", + "_dom_classes": [], + "description": "", + "_model_name": "HTMLModel", + "placeholder": "​", + "_view_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "value": "Downloading: 100%", + "_view_count": null, + "_view_module_version": "1.5.0", + "description_tooltip": null, + "_model_module": "@jupyter-widgets/controls", + "layout": "IPY_MODEL_a519ea9882e54227848a48fe085c8a91" + } + }, + "0bab7b0fb741464eba9c3c17449ce7d3": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "state": { + "_view_name": "ProgressView", + "style": "IPY_MODEL_98d396a455b54f24943ff39d82373290", + "_dom_classes": [], + "description": "", + "_model_name": "FloatProgressModel", + "bar_style": "success", + "max": 456318, + "_view_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "value": 456318, + "_view_count": null, + "_view_module_version": "1.5.0", + "orientation": "horizontal", + "min": 0, + "description_tooltip": null, + "_model_module": "@jupyter-widgets/controls", + "layout": "IPY_MODEL_48d0ce68c7674e28b14e7791e9a9dc75" + } + }, + "213a2195a4f04c74973ef8961c9b45fe": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "state": { + "_view_name": "HTMLView", + "style": "IPY_MODEL_01b7da4567b047ee9f4df9ec405aa46b", + "_dom_classes": [], + "description": "", + "_model_name": "HTMLModel", + "placeholder": "​", + "_view_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "value": " 456k/456k [00:00<00:00, 1.62MB/s]", + "_view_count": null, + "_view_module_version": "1.5.0", + "description_tooltip": null, + "_model_module": "@jupyter-widgets/controls", + "layout": "IPY_MODEL_21321dd78f5047bb913ca765a437433e" + } + }, + "4d4a4b87e88d475b971a8a1c2e517a14": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "state": { + "_view_name": "StyleView", + "_model_name": "DescriptionStyleModel", + "description_width": "", + "_view_module": "@jupyter-widgets/base", + "_model_module_version": "1.5.0", + "_view_count": null, + "_view_module_version": "1.2.0", + "_model_module": "@jupyter-widgets/controls" + } + }, + "a519ea9882e54227848a48fe085c8a91": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "state": { + "_view_name": "LayoutView", + "grid_template_rows": null, + "right": null, + "justify_content": null, + "_view_module": "@jupyter-widgets/base", + "overflow": null, + "_model_module_version": "1.2.0", + "_view_count": null, + "flex_flow": null, + "width": null, + "min_width": null, + "border": null, + "align_items": null, + "bottom": null, + "_model_module": "@jupyter-widgets/base", + "top": null, + "grid_column": null, + "overflow_y": null, + "overflow_x": null, + "grid_auto_flow": null, + "grid_area": null, + "grid_template_columns": null, + "flex": null, + "_model_name": "LayoutModel", + "justify_items": null, + "grid_row": null, + "max_height": null, + "align_content": null, + "visibility": null, + "align_self": null, + "height": null, + "min_height": null, + "padding": null, + "grid_auto_rows": null, + "grid_gap": null, + "max_width": null, + "order": null, + "_view_module_version": "1.2.0", + "grid_template_areas": null, + "object_position": null, + "object_fit": null, + "grid_auto_columns": null, + "margin": null, + "display": null, + "left": null + } + }, + "98d396a455b54f24943ff39d82373290": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "state": { + "_view_name": "StyleView", + "_model_name": "ProgressStyleModel", + "description_width": "", + "_view_module": "@jupyter-widgets/base", + "_model_module_version": "1.5.0", + "_view_count": null, + "_view_module_version": "1.2.0", + "bar_color": null, + "_model_module": "@jupyter-widgets/controls" + } + }, + "48d0ce68c7674e28b14e7791e9a9dc75": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "state": { + "_view_name": "LayoutView", + "grid_template_rows": null, + "right": null, + "justify_content": null, + "_view_module": "@jupyter-widgets/base", + "overflow": null, + "_model_module_version": "1.2.0", + "_view_count": null, + "flex_flow": null, + "width": null, + "min_width": null, + "border": null, + "align_items": null, + "bottom": null, + "_model_module": "@jupyter-widgets/base", + "top": null, + "grid_column": null, + "overflow_y": null, + "overflow_x": null, + "grid_auto_flow": null, + "grid_area": null, + "grid_template_columns": null, + "flex": null, + "_model_name": "LayoutModel", + "justify_items": null, + "grid_row": null, + "max_height": null, + "align_content": null, + "visibility": null, + "align_self": null, + "height": null, + "min_height": null, + "padding": null, + "grid_auto_rows": null, + "grid_gap": null, + "max_width": null, + "order": null, + "_view_module_version": "1.2.0", + "grid_template_areas": null, + "object_position": null, + "object_fit": null, + "grid_auto_columns": null, + "margin": null, + "display": null, + "left": null + } + }, + "01b7da4567b047ee9f4df9ec405aa46b": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "state": { + "_view_name": "StyleView", + "_model_name": "DescriptionStyleModel", + "description_width": "", + "_view_module": "@jupyter-widgets/base", + "_model_module_version": "1.5.0", + "_view_count": null, + "_view_module_version": "1.2.0", + "_model_module": "@jupyter-widgets/controls" + } + }, + "21321dd78f5047bb913ca765a437433e": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "state": { + "_view_name": "LayoutView", + "grid_template_rows": null, + "right": null, + "justify_content": null, + "_view_module": "@jupyter-widgets/base", + "overflow": null, + "_model_module_version": "1.2.0", + "_view_count": null, + "flex_flow": null, + "width": null, + "min_width": null, + "border": null, + "align_items": null, + "bottom": null, + "_model_module": "@jupyter-widgets/base", + "top": null, + "grid_column": null, + "overflow_y": null, + "overflow_x": null, + "grid_auto_flow": null, + "grid_area": null, + "grid_template_columns": null, + "flex": null, + "_model_name": "LayoutModel", + "justify_items": null, + "grid_row": null, + "max_height": null, + "align_content": null, + "visibility": null, + "align_self": null, + "height": null, + "min_height": null, + "padding": null, + "grid_auto_rows": null, + "grid_gap": null, + "max_width": null, + "order": null, + "_view_module_version": "1.2.0", + "grid_template_areas": null, + "object_position": null, + "object_fit": null, + "grid_auto_columns": null, + "margin": null, + "display": null, + "left": null + } + } + } + } + }, + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "BSW8-I5_88bV" + }, + "source": [ + "# Wikipedia Simplifier" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "1ZoFd6QdN1wt" + }, + "source": [ + "### Import pretrained text-simplification model: *MUSS*" + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "FfFPGur8N3Jn", + "outputId": "3485fa8d-5cb9-4b6e-b392-bdadf6216aaa" + }, + "source": [ + "!git clone https://github.com/ris27hav/muss/" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "text": [ + "Cloning into 'muss'...\n", + "remote: Enumerating objects: 325, done.\u001b[K\n", + "remote: Counting objects: 100% (325/325), done.\u001b[K\n", + "remote: Compressing objects: 100% (189/189), done.\u001b[K\n", + "remote: Total 325 (delta 171), reused 274 (delta 135), pack-reused 0\u001b[K\n", + "Receiving objects: 100% (325/325), 4.53 MiB | 10.02 MiB/s, done.\n", + "Resolving deltas: 100% (171/171), done.\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "aslpFvlnpY53", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "57c910b8-dabb-45cd-8952-babae6267854" + }, + "source": [ + "!pip install -e muss/" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "text": [ + "Obtaining file:///content/muss\n", + "Requirement already satisfied: numpy>=1.18.1 in /usr/local/lib/python3.7/dist-packages (from muss==1.0) (1.19.5)\n", + "Requirement already satisfied: pandas>=1.0.3 in /usr/local/lib/python3.7/dist-packages (from muss==1.0) (1.1.5)\n", + "Collecting nltk>=3.4.3\n", + "\u001b[?25l Downloading https://files.pythonhosted.org/packages/5e/37/9532ddd4b1bbb619333d5708aaad9bf1742f051a664c3c6fa6632a105fd8/nltk-3.6.2-py3-none-any.whl (1.5MB)\n", + "\u001b[K |████████████████████████████████| 1.5MB 8.3MB/s \n", + "\u001b[?25hCollecting tqdm>=4.45.0\n", + "\u001b[?25l Downloading https://files.pythonhosted.org/packages/7a/ec/f8ff3ccfc4e59ce619a66a0bf29dc3b49c2e8c07de29d572e191c006eaa2/tqdm-4.61.2-py2.py3-none-any.whl (76kB)\n", + "\u001b[K |████████████████████████████████| 81kB 11.9MB/s \n", + "\u001b[?25hRequirement already satisfied: sklearn>=0.0 in /usr/local/lib/python3.7/dist-packages (from muss==1.0) (0.0)\n", + "Requirement already satisfied: torch>=1.4.0 in /usr/local/lib/python3.7/dist-packages (from muss==1.0) (1.9.0+cu102)\n", + "Requirement already satisfied: scipy>=1.3.1 in /usr/local/lib/python3.7/dist-packages (from muss==1.0) (1.4.1)\n", + "Collecting gitpython\n", + "\u001b[?25l Downloading https://files.pythonhosted.org/packages/bc/91/b38c4fabb6e5092ab23492ded4f318ab7299b19263272b703478038c0fbc/GitPython-3.1.18-py3-none-any.whl (170kB)\n", + "\u001b[K |████████████████████████████████| 174kB 52.9MB/s \n", + "\u001b[?25hRequirement already satisfied: spacy>=2.1.3 in /usr/local/lib/python3.7/dist-packages (from muss==1.0) (2.2.4)\n", + "Requirement already satisfied: joblib>=0.13.2 in /usr/local/lib/python3.7/dist-packages (from muss==1.0) (1.0.1)\n", + "Collecting python-Levenshtein>=0.12.0\n", + "\u001b[?25l Downloading https://files.pythonhosted.org/packages/2a/dc/97f2b63ef0fa1fd78dcb7195aca577804f6b2b51e712516cc0e902a9a201/python-Levenshtein-0.12.2.tar.gz (50kB)\n", + "\u001b[K |████████████████████████████████| 51kB 8.7MB/s \n", + "\u001b[?25hCollecting fairseq==0.10.2\n", + "\u001b[?25l Downloading https://files.pythonhosted.org/packages/15/ab/92c6efb05ffdfe16fbdc9e463229d9af8c3b74dc943ed4b4857a87b223c2/fairseq-0.10.2-cp37-cp37m-manylinux1_x86_64.whl (1.7MB)\n", + "\u001b[K |████████████████████████████████| 1.7MB 36.5MB/s \n", + "\u001b[?25hCollecting truecase\n", + "\u001b[?25l Downloading https://files.pythonhosted.org/packages/6a/ec/ca9dc9ab492aebc57af351709355d74d90e2b71c2b75befd2a1bf2c5db78/truecase-0.0.14-py3-none-any.whl (28.4MB)\n", + "\u001b[K |████████████████████████████████| 28.4MB 105kB/s \n", + "\u001b[?25hCollecting sentencepiece>=0.1.83\n", + "\u001b[?25l Downloading https://files.pythonhosted.org/packages/ac/aa/1437691b0c7c83086ebb79ce2da16e00bef024f24fec2a5161c35476f499/sentencepiece-0.1.96-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2MB)\n", + "\u001b[K |████████████████████████████████| 1.2MB 50.2MB/s \n", + "\u001b[?25hCollecting imohash>=1.0.4\n", + " Downloading https://files.pythonhosted.org/packages/72/5d/27347eaeedb44f5a5d965a096dd6177109550cc0e5918c3164e4b2bf754c/imohash-1.0.4-py2.py3-none-any.whl\n", + "Requirement already satisfied: cachetools>=4.0.0 in /usr/local/lib/python3.7/dist-packages (from muss==1.0) (4.2.2)\n", + "Requirement already satisfied: dill>=0.3.0 in /usr/local/lib/python3.7/dist-packages (from muss==1.0) (0.3.4)\n", + "Collecting submitit\n", + "\u001b[?25l Downloading https://files.pythonhosted.org/packages/bf/e9/c206d0199a71656ea2ceba9a96cf436a1c9581ecf171dfaf1cc54ec42d3a/submitit-1.3.3.tar.gz (54kB)\n", + "\u001b[K |████████████████████████████████| 61kB 10.1MB/s \n", + "\u001b[?25h Installing build dependencies ... \u001b[?25l\u001b[?25hdone\n", + " Getting requirements to build wheel ... \u001b[?25l\u001b[?25hdone\n", + " Preparing wheel metadata ... \u001b[?25l\u001b[?25hdone\n", + "Collecting faiss-gpu\n", + "\u001b[?25l Downloading https://files.pythonhosted.org/packages/e6/20/cce8f99dde167453ea108f35cd4bfffcc318a314aaf1bdfb167f6be2c989/faiss_gpu-1.7.1.post2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (89.7MB)\n", + "\u001b[K |████████████████████████████████| 89.7MB 94kB/s \n", + "\u001b[?25hCollecting sacremoses>=0.0.38\n", + "\u001b[?25l Downloading https://files.pythonhosted.org/packages/75/ee/67241dc87f266093c533a2d4d3d69438e57d7a90abb216fa076e7d475d4a/sacremoses-0.0.45-py3-none-any.whl (895kB)\n", + "\u001b[K |████████████████████████████████| 901kB 45.2MB/s \n", + "\u001b[?25hCollecting nevergrad>=0.4.0.post3\n", + "\u001b[?25l Downloading https://files.pythonhosted.org/packages/5c/fa/6005e9e15784fb22ce5ea078c95a0677c618a2fca90a2630b6df0ea5e7f9/nevergrad-0.4.3.post4-py3-none-any.whl (381kB)\n", + "\u001b[K |████████████████████████████████| 389kB 48.0MB/s \n", + "\u001b[?25hRequirement already satisfied: editdistance>=0.5.3 in /usr/local/lib/python3.7/dist-packages (from muss==1.0) (0.5.3)\n", + "Collecting tokenizers>=0.5.2\n", + "\u001b[?25l Downloading https://files.pythonhosted.org/packages/d4/e2/df3543e8ffdab68f5acc73f613de9c2b155ac47f162e725dcac87c521c11/tokenizers-0.10.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (3.3MB)\n", + "\u001b[K |████████████████████████████████| 3.3MB 41.7MB/s \n", + "\u001b[?25hCollecting easse@ git+git://github.com/feralvam/easse.git\n", + " Cloning git://github.com/feralvam/easse.git to /tmp/pip-install-4hv7io5r/easse\n", + " Running command git clone -q git://github.com/feralvam/easse.git /tmp/pip-install-4hv7io5r/easse\n", + "Collecting kenlm@ git+git://github.com/kpu/kenlm.git\n", + " Cloning git://github.com/kpu/kenlm.git to /tmp/pip-install-4hv7io5r/kenlm\n", + " Running command git clone -q git://github.com/kpu/kenlm.git /tmp/pip-install-4hv7io5r/kenlm\n", + "Collecting cachier>=1.2.8\n", + " Downloading https://files.pythonhosted.org/packages/62/49/0eda73732e333d2978bc8576037efc31d0b69b9c4d499588fe27c1189f2e/cachier-1.5.0-py2.py3-none-any.whl\n", + "Requirement already satisfied: python-dateutil>=2.7.3 in /usr/local/lib/python3.7/dist-packages (from pandas>=1.0.3->muss==1.0) (2.8.1)\n", + "Requirement already satisfied: pytz>=2017.2 in /usr/local/lib/python3.7/dist-packages (from pandas>=1.0.3->muss==1.0) (2018.9)\n", + "Requirement already satisfied: regex in /usr/local/lib/python3.7/dist-packages (from nltk>=3.4.3->muss==1.0) (2019.12.20)\n", + "Requirement already satisfied: click in /usr/local/lib/python3.7/dist-packages (from nltk>=3.4.3->muss==1.0) (7.1.2)\n", + "Requirement already satisfied: scikit-learn in /usr/local/lib/python3.7/dist-packages (from sklearn>=0.0->muss==1.0) (0.22.2.post1)\n", + "Requirement already satisfied: typing-extensions in /usr/local/lib/python3.7/dist-packages (from torch>=1.4.0->muss==1.0) (3.7.4.3)\n", + "Collecting gitdb<5,>=4.0.1\n", + "\u001b[?25l Downloading https://files.pythonhosted.org/packages/ea/e8/f414d1a4f0bbc668ed441f74f44c116d9816833a48bf81d22b697090dba8/gitdb-4.0.7-py3-none-any.whl (63kB)\n", + "\u001b[K |████████████████████████████████| 71kB 11.7MB/s \n", + "\u001b[?25hRequirement already satisfied: thinc==7.4.0 in /usr/local/lib/python3.7/dist-packages (from spacy>=2.1.3->muss==1.0) (7.4.0)\n", + "Requirement already satisfied: murmurhash<1.1.0,>=0.28.0 in /usr/local/lib/python3.7/dist-packages (from spacy>=2.1.3->muss==1.0) (1.0.5)\n", + "Requirement already satisfied: requests<3.0.0,>=2.13.0 in /usr/local/lib/python3.7/dist-packages (from spacy>=2.1.3->muss==1.0) (2.23.0)\n", + "Requirement already satisfied: plac<1.2.0,>=0.9.6 in /usr/local/lib/python3.7/dist-packages (from spacy>=2.1.3->muss==1.0) (1.1.3)\n", + "Requirement already satisfied: preshed<3.1.0,>=3.0.2 in /usr/local/lib/python3.7/dist-packages (from spacy>=2.1.3->muss==1.0) (3.0.5)\n", + "Requirement already satisfied: setuptools in /usr/local/lib/python3.7/dist-packages (from spacy>=2.1.3->muss==1.0) (57.0.0)\n", + "Requirement already satisfied: catalogue<1.1.0,>=0.0.7 in /usr/local/lib/python3.7/dist-packages (from spacy>=2.1.3->muss==1.0) (1.0.0)\n", + "Requirement already satisfied: cymem<2.1.0,>=2.0.2 in /usr/local/lib/python3.7/dist-packages (from spacy>=2.1.3->muss==1.0) (2.0.5)\n", + "Requirement already satisfied: wasabi<1.1.0,>=0.4.0 in /usr/local/lib/python3.7/dist-packages (from spacy>=2.1.3->muss==1.0) (0.8.2)\n", + "Requirement already satisfied: srsly<1.1.0,>=1.0.2 in /usr/local/lib/python3.7/dist-packages (from spacy>=2.1.3->muss==1.0) (1.0.5)\n", + "Requirement already satisfied: blis<0.5.0,>=0.4.0 in /usr/local/lib/python3.7/dist-packages (from spacy>=2.1.3->muss==1.0) (0.4.1)\n", + "Requirement already satisfied: cffi in /usr/local/lib/python3.7/dist-packages (from fairseq==0.10.2->muss==1.0) (1.14.6)\n", + "Collecting dataclasses\n", + " Downloading https://files.pythonhosted.org/packages/26/2f/1095cdc2868052dd1e64520f7c0d5c8c550ad297e944e641dbf1ffbb9a5d/dataclasses-0.6-py3-none-any.whl\n", + "Requirement already satisfied: cython in /usr/local/lib/python3.7/dist-packages (from fairseq==0.10.2->muss==1.0) (0.29.23)\n", + "Collecting sacrebleu>=1.4.12\n", + "\u001b[?25l Downloading https://files.pythonhosted.org/packages/7e/57/0c7ca4e31a126189dab99c19951910bd081dea5bbd25f24b77107750eae7/sacrebleu-1.5.1-py3-none-any.whl (54kB)\n", + "\u001b[K |████████████████████████████████| 61kB 9.4MB/s \n", + "\u001b[?25hCollecting hydra-core\n", + "\u001b[?25l Downloading https://files.pythonhosted.org/packages/c3/cd/85aa2e3a8babc36feac99df785e54abf99afbc4acc20488630f3ef46980a/hydra_core-1.1.0-py3-none-any.whl (144kB)\n", + "\u001b[K |████████████████████████████████| 153kB 33.6MB/s \n", + "\u001b[?25hCollecting mmh3>=2.5.1\n", + "\u001b[?25l Downloading https://files.pythonhosted.org/packages/d9/46/0e568554c7f70ebc3de0c2b2effd3f7b25e66e0e4e0eacaeb7c9145949f2/mmh3-3.0.0-cp37-cp37m-manylinux2010_x86_64.whl (50kB)\n", + "\u001b[K |████████████████████████████████| 51kB 8.5MB/s \n", + "\u001b[?25hCollecting varint>=1.0.2\n", + " Downloading https://files.pythonhosted.org/packages/a8/fe/1ea0ba0896dfa47186692655b86db3214c4b7c9e0e76c7b1dc257d101ab1/varint-1.0.2.tar.gz\n", + "Requirement already satisfied: cloudpickle>=1.2.1 in /usr/local/lib/python3.7/dist-packages (from submitit->muss==1.0) (1.3.0)\n", + "Requirement already satisfied: six in /usr/local/lib/python3.7/dist-packages (from sacremoses>=0.0.38->muss==1.0) (1.15.0)\n", + "Collecting bayesian-optimization>=1.2.0\n", + " Downloading https://files.pythonhosted.org/packages/bb/7a/fd8059a3881d3ab37ac8f72f56b73937a14e8bb14a9733e68cc8b17dbe3c/bayesian-optimization-1.2.0.tar.gz\n", + "Collecting cma>=2.6.0\n", + "\u001b[?25l Downloading https://files.pythonhosted.org/packages/d5/41/2e59507b1f2a904ff6aae9130f21756d19d5d7bb28558215de7614bf6cfd/cma-3.1.0-py2.py3-none-any.whl (269kB)\n", + "\u001b[K |████████████████████████████████| 276kB 47.7MB/s \n", + "\u001b[?25hRequirement already satisfied: matplotlib in /usr/local/lib/python3.7/dist-packages (from easse@ git+git://github.com/feralvam/easse.git->muss==1.0) (3.2.2)\n", + "Requirement already satisfied: seaborn in /usr/local/lib/python3.7/dist-packages (from easse@ git+git://github.com/feralvam/easse.git->muss==1.0) (0.11.1)\n", + "Collecting stanfordnlp\n", + "\u001b[?25l Downloading https://files.pythonhosted.org/packages/41/bf/5d2898febb6e993fcccd90484cba3c46353658511a41430012e901824e94/stanfordnlp-0.2.0-py3-none-any.whl (158kB)\n", + "\u001b[K |████████████████████████████████| 163kB 54.9MB/s \n", + "\u001b[?25hCollecting yattag\n", + " Downloading https://files.pythonhosted.org/packages/a2/dc/53ce10a508df291c973293535536961fdc014de088cf0c9534165af880d5/yattag-1.14.0.tar.gz\n", + "Requirement already satisfied: plotly>=4.0.0 in /usr/local/lib/python3.7/dist-packages (from easse@ git+git://github.com/feralvam/easse.git->muss==1.0) (4.4.1)\n", + "Collecting bert_score\n", + "\u001b[?25l Downloading https://files.pythonhosted.org/packages/38/fb/e63e7e231a79db0489dbf7e7d0ebfb279ccb3d8216aa0d133572f784f3fa/bert_score-0.3.9-py3-none-any.whl (59kB)\n", + "\u001b[K |████████████████████████████████| 61kB 8.9MB/s \n", + "\u001b[?25hCollecting tseval@ git+https://github.com/facebookresearch/text-simplification-evaluation.git\n", + " Cloning https://github.com/facebookresearch/text-simplification-evaluation.git to /tmp/pip-install-4hv7io5r/tseval\n", + " Running command git clone -q https://github.com/facebookresearch/text-simplification-evaluation.git /tmp/pip-install-4hv7io5r/tseval\n", + "Collecting simalign@ git+https://github.com/cisnlp/simalign.git\n", + " Cloning https://github.com/cisnlp/simalign.git to /tmp/pip-install-4hv7io5r/simalign\n", + " Running command git clone -q https://github.com/cisnlp/simalign.git /tmp/pip-install-4hv7io5r/simalign\n", + "Collecting watchdog\n", + "\u001b[?25l Downloading https://files.pythonhosted.org/packages/6b/d1/b0a1e69af06d2f6f47a11238ca115667d858cbb30baf6b6df03f1b874163/watchdog-2.1.3-py3-none-manylinux2014_x86_64.whl (75kB)\n", + "\u001b[K |████████████████████████████████| 81kB 11.5MB/s \n", + "\u001b[?25hCollecting portalocker\n", + " Downloading https://files.pythonhosted.org/packages/68/33/cb524f4de298509927b90aa5ee34767b9a2b93e663cf354b2a3efa2b4acd/portalocker-2.3.0-py2.py3-none-any.whl\n", + "Collecting pathtools\n", + " Downloading https://files.pythonhosted.org/packages/e7/7f/470d6fcdf23f9f3518f6b0b76be9df16dcc8630ad409947f8be2eb0ed13a/pathtools-0.1.2.tar.gz\n", + "Collecting smmap<5,>=3.0.1\n", + " Downloading https://files.pythonhosted.org/packages/68/ee/d540eb5e5996eb81c26ceffac6ee49041d473bc5125f2aa995cf51ec1cf1/smmap-4.0.0-py2.py3-none-any.whl\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.7/dist-packages (from requests<3.0.0,>=2.13.0->spacy>=2.1.3->muss==1.0) (2021.5.30)\n", + "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.7/dist-packages (from requests<3.0.0,>=2.13.0->spacy>=2.1.3->muss==1.0) (2.10)\n", + "Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.7/dist-packages (from requests<3.0.0,>=2.13.0->spacy>=2.1.3->muss==1.0) (3.0.4)\n", + "Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.7/dist-packages (from requests<3.0.0,>=2.13.0->spacy>=2.1.3->muss==1.0) (1.24.3)\n", + "Requirement already satisfied: importlib-metadata>=0.20; python_version < \"3.8\" in /usr/local/lib/python3.7/dist-packages (from catalogue<1.1.0,>=0.0.7->spacy>=2.1.3->muss==1.0) (4.6.1)\n", + "Requirement already satisfied: pycparser in /usr/local/lib/python3.7/dist-packages (from cffi->fairseq==0.10.2->muss==1.0) (2.20)\n", + "Collecting antlr4-python3-runtime==4.8\n", + "\u001b[?25l Downloading https://files.pythonhosted.org/packages/56/02/789a0bddf9c9b31b14c3e79ec22b9656185a803dc31c15f006f9855ece0d/antlr4-python3-runtime-4.8.tar.gz (112kB)\n", + "\u001b[K |████████████████████████████████| 112kB 52.3MB/s \n", + "\u001b[?25hCollecting omegaconf==2.1.*\n", + "\u001b[?25l Downloading https://files.pythonhosted.org/packages/f9/96/1966b48bfe6ca64bfadfa7bcc9a8d73c5d83b4be769321fcc5d617abeb0c/omegaconf-2.1.0-py3-none-any.whl (74kB)\n", + "\u001b[K |████████████████████████████████| 81kB 12.6MB/s \n", + "\u001b[?25hRequirement already satisfied: importlib-resources; python_version < \"3.9\" in /usr/local/lib/python3.7/dist-packages (from hydra-core->fairseq==0.10.2->muss==1.0) (5.2.0)\n", + "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.7/dist-packages (from matplotlib->easse@ git+git://github.com/feralvam/easse.git->muss==1.0) (0.10.0)\n", + "Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib->easse@ git+git://github.com/feralvam/easse.git->muss==1.0) (2.4.7)\n", + "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib->easse@ git+git://github.com/feralvam/easse.git->muss==1.0) (1.3.1)\n", + "Requirement already satisfied: protobuf in /usr/local/lib/python3.7/dist-packages (from stanfordnlp->easse@ git+git://github.com/feralvam/easse.git->muss==1.0) (3.17.3)\n", + "Requirement already satisfied: retrying>=1.3.3 in /usr/local/lib/python3.7/dist-packages (from plotly>=4.0.0->easse@ git+git://github.com/feralvam/easse.git->muss==1.0) (1.3.3)\n", + "Collecting transformers>=3.0.0\n", + "\u001b[?25l Downloading https://files.pythonhosted.org/packages/fd/1a/41c644c963249fd7f3836d926afa1e3f1cc234a1c40d80c5f03ad8f6f1b2/transformers-4.8.2-py3-none-any.whl (2.5MB)\n", + "\u001b[K |████████████████████████████████| 2.5MB 44.8MB/s \n", + "\u001b[?25hCollecting networkx==2.4\n", + "\u001b[?25l Downloading https://files.pythonhosted.org/packages/41/8f/dd6a8e85946def36e4f2c69c84219af0fa5e832b018c970e92f2ad337e45/networkx-2.4-py3-none-any.whl (1.6MB)\n", + "\u001b[K |████████████████████████████████| 1.6MB 38.5MB/s \n", + "\u001b[?25hRequirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.7/dist-packages (from importlib-metadata>=0.20; python_version < \"3.8\"->catalogue<1.1.0,>=0.0.7->spacy>=2.1.3->muss==1.0) (3.5.0)\n", + "Collecting PyYAML>=5.1.*\n", + "\u001b[?25l Downloading https://files.pythonhosted.org/packages/7a/a5/393c087efdc78091afa2af9f1378762f9821c9c1d7a22c5753fb5ac5f97a/PyYAML-5.4.1-cp37-cp37m-manylinux1_x86_64.whl (636kB)\n", + "\u001b[K |████████████████████████████████| 645kB 34.0MB/s \n", + "\u001b[?25hCollecting huggingface-hub==0.0.12\n", + " Downloading https://files.pythonhosted.org/packages/2f/ee/97e253668fda9b17e968b3f97b2f8e53aa0127e8807d24a547687423fe0b/huggingface_hub-0.0.12-py3-none-any.whl\n", + "Requirement already satisfied: packaging in /usr/local/lib/python3.7/dist-packages (from transformers>=3.0.0->bert_score->easse@ git+git://github.com/feralvam/easse.git->muss==1.0) (21.0)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.7/dist-packages (from transformers>=3.0.0->bert_score->easse@ git+git://github.com/feralvam/easse.git->muss==1.0) (3.0.12)\n", + "Requirement already satisfied: decorator>=4.3.0 in /usr/local/lib/python3.7/dist-packages (from networkx==2.4->simalign@ git+https://github.com/cisnlp/simalign.git->easse@ git+git://github.com/feralvam/easse.git->muss==1.0) (4.4.2)\n", + "Building wheels for collected packages: submitit\n", + " Building wheel for submitit (PEP 517) ... \u001b[?25l\u001b[?25hdone\n", + " Created wheel for submitit: filename=submitit-1.3.3-cp37-none-any.whl size=66089 sha256=b69cc2d23e415893164a086d51a00f5f59757326837a0ce865ea5165227e8899\n", + " Stored in directory: /root/.cache/pip/wheels/75/be/c1/c57fe81efce574db4e4b3d23f26c1b75bd1d6af1124f29a78d\n", + "Successfully built submitit\n", + "Building wheels for collected packages: python-Levenshtein, easse, kenlm, varint, bayesian-optimization, yattag, tseval, simalign, pathtools, antlr4-python3-runtime\n", + " Building wheel for python-Levenshtein (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Created wheel for python-Levenshtein: filename=python_Levenshtein-0.12.2-cp37-cp37m-linux_x86_64.whl size=149824 sha256=067701789bc53f114493660dafbb5c0259eccead8789eb7d9c2d178b07781e77\n", + " Stored in directory: /root/.cache/pip/wheels/b3/26/73/4b48503bac73f01cf18e52cd250947049a7f339e940c5df8fc\n", + " Building wheel for easse (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Created wheel for easse: filename=easse-0.2.4-cp37-none-any.whl size=17949076 sha256=2ec0944b89bba67f720f84afef818dd40428d8b9feb93576a5031a8046d8a2b0\n", + " Stored in directory: /tmp/pip-ephem-wheel-cache-s8yyf0l4/wheels/b1/7a/f7/5d5d05b5c333984cd88e73cc1f8dc7e55ec3ea51ae85b7ea32\n", + " Building wheel for kenlm (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Created wheel for kenlm: filename=kenlm-0.0.0-cp37-cp37m-linux_x86_64.whl size=2338490 sha256=10cc4f35065167ca2efa18cfe6c156c3799acfa19781f80424d08c646d62ba79\n", + " Stored in directory: /tmp/pip-ephem-wheel-cache-s8yyf0l4/wheels/2f/aa/73/e0e5c4d0dc2988a0dd85f3b97771b5cfd2166d2059816f92a9\n", + " Building wheel for varint (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Created wheel for varint: filename=varint-1.0.2-cp37-none-any.whl size=1980 sha256=79a3bc4b8002cdf38a43badc09ef0032e546eace6f3823ca44700c50597db31e\n", + " Stored in directory: /root/.cache/pip/wheels/87/62/fe/15e506bdde650fdd4e63d3eb91a1c3582ff1ee450e88e89d9e\n", + " Building wheel for bayesian-optimization (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Created wheel for bayesian-optimization: filename=bayesian_optimization-1.2.0-cp37-none-any.whl size=11686 sha256=e4204c839f52442c000cfcf5a56afb45b532abb3be30476f920eee665f4fb3fc\n", + " Stored in directory: /root/.cache/pip/wheels/5a/56/ae/e0e3c1fc1954dc3ec712e2df547235ed072b448094d8f94aec\n", + " Building wheel for yattag (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Created wheel for yattag: filename=yattag-1.14.0-cp37-none-any.whl size=15659 sha256=1b6599d8c3b9725796cad683932dba75bb9800a6c81eb226844715e70dfa4b7b\n", + " Stored in directory: /root/.cache/pip/wheels/f9/f7/03/c04356ec5f399b897afb5242246a54faa292d9d190cad31430\n", + " Building wheel for tseval (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Created wheel for tseval: filename=tseval-1.0-cp37-none-any.whl size=8536656 sha256=a56f420a15950fc691b8365346c3c8416fdbaa890190c52bb375f521044aff25\n", + " Stored in directory: /tmp/pip-ephem-wheel-cache-s8yyf0l4/wheels/66/ce/57/ba6e236f6c0a0500a633c945517fddd8594ef9f1244a215889\n", + " Building wheel for simalign (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Created wheel for simalign: filename=simalign-0.2-cp37-none-any.whl size=5575 sha256=1cd80ba486909594ab8136f6707cc7be75237902ea2ba5e1c62be0da81d291e1\n", + " Stored in directory: /tmp/pip-ephem-wheel-cache-s8yyf0l4/wheels/03/82/85/ea8257c402ccd3f3ffc8887438f151f94402300db79f044f4d\n", + " Building wheel for pathtools (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Created wheel for pathtools: filename=pathtools-0.1.2-cp37-none-any.whl size=8807 sha256=4d73f1b9f0b15ecf3bf6376d66eab53bb0f293354712f564ed15099bc2f85c64\n", + " Stored in directory: /root/.cache/pip/wheels/0b/04/79/c3b0c3a0266a3cb4376da31e5bfe8bba0c489246968a68e843\n", + " Building wheel for antlr4-python3-runtime (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Created wheel for antlr4-python3-runtime: filename=antlr4_python3_runtime-4.8-cp37-none-any.whl size=141231 sha256=1ec4e353f4af32770306bc63b0d0416174f8f7428b4f18a204ceadf41c85e03b\n", + " Stored in directory: /root/.cache/pip/wheels/e3/e2/fa/b78480b448b8579ddf393bebd3f47ee23aa84c89b6a78285c8\n", + "Successfully built python-Levenshtein easse kenlm varint bayesian-optimization yattag tseval simalign pathtools antlr4-python3-runtime\n", + "\u001b[31mERROR: albumentations 0.1.12 has requirement imgaug<0.2.7,>=0.2.5, but you'll have imgaug 0.2.9 which is incompatible.\u001b[0m\n", + "\u001b[31mERROR: sacrebleu 1.5.1 has requirement portalocker==2.0.0, but you'll have portalocker 2.3.0 which is incompatible.\u001b[0m\n", + "\u001b[31mERROR: easse 0.2.4 has requirement nltk==3.4.3, but you'll have nltk 3.6.2 which is incompatible.\u001b[0m\n", + "Installing collected packages: tqdm, nltk, smmap, gitdb, gitpython, python-Levenshtein, dataclasses, portalocker, sacrebleu, antlr4-python3-runtime, PyYAML, omegaconf, hydra-core, fairseq, truecase, sentencepiece, mmh3, varint, imohash, submitit, faiss-gpu, sacremoses, bayesian-optimization, cma, nevergrad, tokenizers, stanfordnlp, yattag, huggingface-hub, transformers, bert-score, tseval, networkx, simalign, easse, kenlm, watchdog, pathtools, cachier, muss\n", + " Found existing installation: tqdm 4.41.1\n", + " Uninstalling tqdm-4.41.1:\n", + " Successfully uninstalled tqdm-4.41.1\n", + " Found existing installation: nltk 3.2.5\n", + " Uninstalling nltk-3.2.5:\n", + " Successfully uninstalled nltk-3.2.5\n", + " Found existing installation: PyYAML 3.13\n", + " Uninstalling PyYAML-3.13:\n", + " Successfully uninstalled PyYAML-3.13\n", + " Found existing installation: networkx 2.5.1\n", + " Uninstalling networkx-2.5.1:\n", + " Successfully uninstalled networkx-2.5.1\n", + " Running setup.py develop for muss\n", + "Successfully installed PyYAML-5.4.1 antlr4-python3-runtime-4.8 bayesian-optimization-1.2.0 bert-score-0.3.9 cachier-1.5.0 cma-3.1.0 dataclasses-0.6 easse-0.2.4 fairseq-0.10.2 faiss-gpu-1.7.1.post2 gitdb-4.0.7 gitpython-3.1.18 huggingface-hub-0.0.12 hydra-core-1.1.0 imohash-1.0.4 kenlm-0.0.0 mmh3-3.0.0 muss networkx-2.4 nevergrad-0.4.3.post4 nltk-3.6.2 omegaconf-2.1.0 pathtools-0.1.2 portalocker-2.3.0 python-Levenshtein-0.12.2 sacrebleu-1.5.1 sacremoses-0.0.45 sentencepiece-0.1.96 simalign-0.2 smmap-4.0.0 stanfordnlp-0.2.0 submitit-1.3.3 tokenizers-0.10.3 tqdm-4.61.2 transformers-4.8.2 truecase-0.0.14 tseval-1.0 varint-1.0.2 watchdog-2.1.3 yattag-1.14.0\n" + ], + "name": "stdout" + }, + { + "output_type": "display_data", + "data": { + "application/vnd.colab-display-data+json": { + "pip_warning": { + "packages": [ + "pydevd_plugins" + ] + } + } + }, + "metadata": { + "tags": [] + } + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "H0zHV8cRqo36", + "outputId": "937d6cb2-72d7-4279-907f-75cc33a017e3" + }, + "source": [ + "%cd muss/" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "text": [ + "/content/muss\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "rrgR24AYN87s", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "931beeff-e59a-49ff-ef9b-50ba10e26f65" + }, + "source": [ + "%run scripts/simplify.py scripts/examples.en --model-name muss_en_wikilarge_mined" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "text": [ + "Downloading...\n", + "... 100% - 3835 MB - 27.72 MB/s - 138s\n", + "Extracting...\n", + "Downloading...\n", + "... 100% - 1 MB - 7.52 MB/s - 0s\n", + "Downloading...\n", + "... 100% - 0 MB - 4.31 MB/s - 0s\n", + "Downloading...\n", + "... 100% - 0 MB - 4.66 MB/s - 0s\n" + ], + "name": "stdout" + }, + { + "output_type": "stream", + "text": [ + "INFO:fairseq_cli.generate:Namespace(all_gather_list_size=16384, batch_size=None, batch_size_valid=None, beam=5, bf16=False, bpe=None, broadcast_buffers=False, bucket_cap_mb=25, checkpoint_shard_count=1, checkpoint_suffix='', constraints=None, cpu=False, criterion='cross_entropy', curriculum=0, data='/tmp/tmp1sc0qjne', data_buffer_size=10, dataset_impl='raw', ddp_backend='c10d', decoding_format=None, device_id=0, disable_validation=False, distributed_backend='nccl', distributed_init_method=None, distributed_no_spawn=False, distributed_port=-1, distributed_rank=0, distributed_world_size=1, distributed_wrapper='DDP', diverse_beam_groups=-1, diverse_beam_strength=0.5, diversity_rate=-1.0, empty_cache_freq=0, eval_bleu=False, eval_bleu_args=None, eval_bleu_detok='space', eval_bleu_detok_args=None, eval_bleu_print_samples=False, eval_bleu_remove_bpe=None, eval_tokenized_bleu=False, fast_stat_sync=False, find_unused_parameters=False, fix_batches_to_gpus=False, fixed_validation_seed=None, force_anneal=None, fp16=False, fp16_init_scale=128, fp16_no_flatten_grads=False, fp16_scale_tolerance=0.0, fp16_scale_window=None, gen_subset='tmp', iter_decode_eos_penalty=0.0, iter_decode_force_max_iter=False, iter_decode_max_iter=10, iter_decode_with_beam=1, iter_decode_with_external_reranker=False, left_pad_source='True', left_pad_target='False', lenpen=1.0, lm_path=None, lm_weight=0.0, load_alignments=False, localsgd_frequency=3, log_format=None, log_interval=100, lr_scheduler='fixed', lr_shrink=0.1, match_source_len=False, max_len_a=0, max_len_b=200, max_source_positions=1024, max_target_positions=1024, max_tokens=8000, max_tokens_valid=8000, memory_efficient_bf16=False, memory_efficient_fp16=False, min_len=1, min_loss_scale=0.0001, model_overrides=\"{'encoder_embed_path': None, 'decoder_embed_path': None}\", model_parallel_size=1, nbest=1, no_beamable_mm=False, no_early_stop=False, no_progress_bar=False, no_repeat_ngram_size=0, no_seed_provided=False, nprocs_per_node=1, num_batch_buckets=0, num_shards=1, num_workers=1, optimizer=None, path='/content/muss/resources/models/muss_en_wikilarge_mined/model.pt', pipeline_balance=None, pipeline_checkpoint='never', pipeline_chunks=0, pipeline_decoder_balance=None, pipeline_decoder_devices=None, pipeline_devices=None, pipeline_encoder_balance=None, pipeline_encoder_devices=None, pipeline_model_parallel=False, prefix_size=0, print_alignment=False, print_step=False, profile=False, quantization_config_path=None, quiet=False, remove_bpe=None, replace_unk=None, required_batch_size_multiple=8, required_seq_len_multiple=1, results_path=None, retain_dropout=False, retain_dropout_modules=None, retain_iter_history=False, sacrebleu=False, sampling=False, sampling_topk=-1, sampling_topp=-1.0, score_reference=False, scoring='bleu', seed=1, shard_id=0, skip_invalid_size_inputs_valid_test=True, slowmo_algorithm='LocalSGD', slowmo_momentum=None, source_lang=None, target_lang=None, task='translation', temperature=1.0, tensorboard_logdir=None, threshold_loss_scale=None, tokenizer=None, tpu=False, train_subset='train', truncate_source=False, unkpen=0, unnormalized=False, upsample_primary=1, user_dir=None, valid_subset='valid', validate_after_updates=0, validate_interval=1, validate_interval_updates=0, warmup_updates=0, zero_sharding='none')\n", + "INFO:fairseq.tasks.translation:[complex] dictionary: 50264 types\n", + "INFO:fairseq.tasks.translation:[simple] dictionary: 50264 types\n", + "INFO:fairseq.data.data_utils:loaded 4 examples from: /tmp/tmp1sc0qjne/tmp.complex-simple.complex\n", + "INFO:fairseq.data.data_utils:loaded 4 examples from: /tmp/tmp1sc0qjne/tmp.complex-simple.simple\n", + "INFO:fairseq.tasks.translation:/tmp/tmp1sc0qjne tmp complex-simple 4 examples\n", + "INFO:fairseq_cli.generate:loading model(s) from /content/muss/resources/models/muss_en_wikilarge_mined/model.pt\n", + "/usr/local/lib/python3.7/dist-packages/torch/_tensor.py:575: UserWarning: floor_divide is deprecated, and will be removed in a future version of pytorch. It currently rounds toward 0 (like the 'trunc' function NOT 'floor'). This results in incorrect rounding for negative values.\n", + "To keep the current behavior, use torch.div(a, b, rounding_mode='trunc'), or for actual floor division, use torch.div(a, b, rounding_mode='floor'). (Triggered internally at /pytorch/aten/src/ATen/native/BinaryOps.cpp:467.)\n", + " return torch.floor_divide(self, other)\n", + "INFO:fairseq_cli.generate:NOTE: hypothesis and token scores are output in base 2\n", + "INFO:fairseq_cli.generate:Translated 4 sentences (55 tokens) in 0.7s (5.60 sentences/s, 77.01 tokens/s)\n" + ], + "name": "stderr" + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Y4Tqmy0Kurhx" + }, + "source": [ + "---\n", + "### Get desired wikipedia article" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "f79PqoSt94_C" + }, + "source": [ + "#####**Extract wikipedia articles**" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "Dk3oPZKO-YtE", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "05d28dc1-20df-4da2-f25f-523f4da34906" + }, + "source": [ + "%pip install wikipedia" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "text": [ + "Requirement already satisfied: wikipedia in /usr/local/lib/python3.7/dist-packages (1.4.0)\n", + "Requirement already satisfied: beautifulsoup4 in /usr/local/lib/python3.7/dist-packages (from wikipedia) (4.6.3)\n", + "Requirement already satisfied: requests<3.0.0,>=2.0.0 in /usr/local/lib/python3.7/dist-packages (from wikipedia) (2.23.0)\n", + "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.7/dist-packages (from requests<3.0.0,>=2.0.0->wikipedia) (2.10)\n", + "Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.7/dist-packages (from requests<3.0.0,>=2.0.0->wikipedia) (3.0.4)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.7/dist-packages (from requests<3.0.0,>=2.0.0->wikipedia) (2021.5.30)\n", + "Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.7/dist-packages (from requests<3.0.0,>=2.0.0->wikipedia) (1.24.3)\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "5fhPyHYfRtiB" + }, + "source": [ + "# use text-wrapping in output\n", + "from IPython.display import HTML, display\n", + "\n", + "def set_css():\n", + " display(HTML(''''''))\n", + "\n", + "get_ipython().events.register('pre_run_cell', set_css)" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 52 + }, + "id": "cqQ_dLFZMWCK", + "outputId": "97ea35bc-e42a-4631-943b-3c7fb5790e22" + }, + "source": [ + "import wikipedia\n", + "from collections import OrderedDict\n", + "\n", + "result = wikipedia.search(\"messi ronaldo rivalry\")\n", + "print(result)" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + } + }, + { + "output_type": "stream", + "text": [ + "['Messi–Ronaldo rivalry', 'Cristiano Ronaldo', 'Lionel Messi', 'List of career achievements by Cristiano Ronaldo', 'Ronaldo (Brazilian footballer)', 'List of career achievements by Lionel Messi', \"2012 FIFA Ballon d'Or\", 'New Maradona', \"Ballon d'Or\", \"Ballon d'Or Dream Team\"]\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "3p72PU3rOnQz", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 17 + }, + "outputId": "45c88a8c-5e24-4c91-fa93-f57f3c540f24" + }, + "source": [ + "page = wikipedia.page(result[0])\n", + "content = page.content" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + } + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "JwIEiX-DYw3N" + }, + "source": [ + "#####**Convert the article into a dictionary**" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "dV4uufc7TUM9", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 17 + }, + "outputId": "0eb26f0d-fe55-4db1-b484-8531b74f2fde" + }, + "source": [ + "content_list = content.split('\\n\\n\\n')\n", + "\n", + "complex_sentences_dict = OrderedDict()\n", + "complex_sentences_dict['== Introduction =='] = content_list.pop(0)\n", + "\n", + "for section in content_list:\n", + " section_split = section.split('\\n')\n", + "\n", + " title = section_split.pop(0)\n", + " content = ''\n", + " for para in section_split:\n", + " if para != '':\n", + " content += para\n", + " \n", + " if len(content) > 200:\n", + " complex_sentences_dict[title] = content" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + } + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "id": "cq4ePpRhWYii", + "outputId": "f2c9d9dc-cd13-4922-9337-a70644f2974d" + }, + "source": [ + "# print the wiki article\n", + "for title, content in complex_sentences_dict.items():\n", + " print(title, content, '\\n---\\n', sep='\\n')" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + } + }, + { + "output_type": "stream", + "text": [ + "== Introduction ==\n", + "The Messi–Ronaldo rivalry is an association football rivalry between Argentine forward Lionel Messi and Portuguese forward Cristiano Ronaldo. Having won a combined eleven Ballon d'Or/FIFA Ballon d'Or awards (six for Messi and five for Ronaldo) and ten European Golden Shoe awards (six for Messi and four for Ronaldo), both are widely regarded as two of the greatest players of all time. They are two of the most decorated football players ever, having won a combined 66 trophies (Ronaldo 32, Messi 34) during their senior careers thus far, and have regularly broken the 50-goal barrier in a single season. They are amongst the 51 players in the history of the sport to score over 500 career goals, with both having scored over 700 goals each in their careers for club and country. Ronaldo currently holds the world record for most official goals in a career, while Messi has the superior goals-to-games ratio (0.81, to Ronaldo's 0.73).Journalists and pundits regularly argue the individual merits of both players in an attempt to establish who they believe is the best attacker in modern football or ever. Regardless of preference, football critics generally agree that both are the greatest players of their generation, outperforming their peers numerically, largely by a significant margin. Messi's combination of dribbling, technical, playmaking, and goalscoring skills is often considered among the very best in history, while Ronaldo's physical attributes, goalscoring skills, leadership and influence under pressure is well-appreciated worldwide. It has been compared to past global sports rivalries such as the Magic Johnson-Larry Bird rivalry in basketball, the Muhammad Ali–Joe Frazier rivalry in boxing, the Roger Federer–Rafael Nadal rivalry and the Björn Borg–John McEnroe rivalry in tennis, and the Alain Prost–Ayrton Senna rivalry in Formula One motor racing. Some commentators choose to analyse the differing physiques and playing styles of the two, while part of the debate revolves around the contrasting personalities of the two players; Ronaldo is often described as someone of temperamental character while Messi is considered to have a more reserved character.At club level, Messi and Ronaldo represented rivals FC Barcelona and Real Madrid CF for nearly a decade. The two players faced each other at least twice every season in the world's most popular regular-season club game, El Clásico (among the most viewed annual sporting events), from Ronaldo's arrival at Madrid in 2009 until his transfer to Italian club Juventus F.C. in 2018. Off the field, they are also the face of two rival sportswear manufacturers, Messi of Adidas and Ronaldo of Nike, which are also the kit suppliers of their national teams and the opposite for their clubs. The two highest-paid players in football, Messi and Ronaldo are among the world's best-paid sports stars in combined income from salaries, bonuses and off-field earnings. In 2018, Messi topped Ronaldo on the Forbes' list of highest-paid sportspeople, earning $111 million, with Ronaldo next on the list at $108 million.\n", + "\n", + "---\n", + "\n", + "== History ==\n", + "In 2007, Ronaldo and Messi finished as runners-up to A.C. Milan's Kaká in both the Ballon d'Or, an award rewarded to the player voted as the best in the world by an international panel of sports journalists; and the FIFA World Player of the Year, an award voted for by coaches and captains of international teams. In an interview that year, Messi was quoted as saying that \"Cristiano Ronaldo is an extraordinary player and it would be brilliant to be in the same team as him.\"They first played in a game against each other when Manchester United were drawn to play Barcelona in the 2007–08 UEFA Champions League semi-finals and were immediately pitted as major rivals. Ronaldo missed a penalty in the first leg, but United eventually advanced to the final via a Paul Scholes goal. At the end of the year, Ronaldo was awarded the Ballon d'Or and vowed that he would win the award again.The 2009 UEFA Champions League Final was contested between Manchester United and Barcelona on 27 May 2009 at the Stadio Olimpico in Rome, Italy. The match, described as a \"dream clash\", was again hyped as the latest battle between the two, this time to settle who was the best player in the world; Ronaldo claimed he was the better of the two, while Messi's club-mate Xavi sided with him. Manchester United manager Alex Ferguson was more diplomatic, praising both players as being amongst the world's elite talents. Messi, playing in a central role he was unaccustomed to so he would avoid a direct battle with Manchester United left-back Patrice Evra, scored Barcelona's second in a 2–0 victory with a header in the 70th minute. Meanwhile, Ronaldo was subdued for much of the game, despite some early chances to score, and his frustration eventually showed when he was booked for a rash tackle on Carles Puyol.From 2009 to 2018, the two played against each other at least twice per season during El Clásico matches but also met many other times competitions such as the Copa del Rey, the Supercopa de España, and, a two-legged Champions League semifinal in 2011. Messi won four consecutive Ballon d'Or awards (2009 to 2012), with a fifth coming in 2015, while Ronaldo had equalled Messi's total of five with wins in 2013, 2014, 2016, and 2017. In 2019, Messi took the lead again by earning his sixth Ballon d'Or, finishing just seven points ahead of second-placed Virgil van Dijk, with Ronaldo finishing third. In total, Messi and Ronaldo reached the podium a record twelve times each. Messi won two Champions League while Ronaldo was playing for Real Madrid, with the latter securing four out of five titles between 2014 and 2018. Messi during this period won five Pichichi trophies and European Golden Shoe awards (2010, 2012, 2013, 2017 and 2018), while Ronaldo won these prizes thrice each (2011, 2014 and 2015). From 2009 to 2018, Ronaldo was the Champions League top scorer on six occasions, with Messi achieving this feat four times (including in 2015 when the pair finished joint-top).\n", + "\n", + "---\n", + "\n", + "== Relationship between Messi and Ronaldo ==\n", + "In a 2015 interview, Ronaldo commented on the rivalry by saying: \"I think we push each other sometimes in the competition, this is why the competition is so high.\" Alex Ferguson, Ronaldo's manager during his time at Manchester United, opined: \"I don't think the rivalry against each other bothers them. I think they have their own personal pride in terms of wanting to be the best.\" Messi has denied any rivalry, and blames the media for creating it, stating that \"only the media, the press, who wants us to be at loggerheads but I've never fought with Cristiano.\"It is widely argued and documented that there is an atmosphere of competition between the duo, with Guillem Balagué claiming in the book Ronaldo that he refers to his Argentine counterpart as a \"motherfucker\" behind his back, and Luca Caioli saying in his book Ronaldo: The Obsession for Perfection that, according to his sources, Ronaldo heats up when watching Messi play. In response to claims that he and Messi do not get on well on a personal level, Ronaldo commented: \"We don't have a relationship outside the world of football, just as we don't with a lot of other players\", before adding that in years to come he hopes they can laugh about it together, stating: \"We have to look on this rivalry with a positive spirit, because it's a good thing.\" On 13 November 2014, Ronaldo also threatened to take legal action over the remarks made by Balagué. After Ronaldo's departure from Real Madrid to Juventus, Messi admitted to missing him, saying: \"I miss Cristiano. Although it was a bit difficult to see him win trophies, he gave La Liga prestige.\" During a joint interview at the UEFA Player of the Year ceremony in 2019, Ronaldo said he would like to \"have dinner together in the future\", to which Messi later replied: \"If I get an invitation, why not?\"\n", + "\n", + "---\n", + "\n", + "== Awards and records ==\n", + "Throughout the existence of the rivalry, the pair have dominated awards ceremonies and broken a multitude of goalscoring records for both club and country, feats which have been described as \"incredible\", \"ridiculous\", and \"remarkable\", respectively. The rivalry itself has been described as one about records and reputation of the players, rather than one based in loathing.Messi is the all-time La Liga top scorer, as well as having the most goal contributions (goals + assists) in the history of the top European leagues, with comfortably over 1,000 totals; meanwhile, Ronaldo places second for goals scored and in third for assists provided, whilst being the UEFA Champions League all-time top goalscorer and assist provider, with Messi in second for both goals scored and assists provided in the competition's history, although once more having a superior ratio of goal contributions to games. Messi also holds both the most goals in a season (73), and second most assists in a season (34), just one behind midfielder Juan Mata's record. He is the outright holder of most goal contributions in a season, with 107 in 2011–12. The two had broken each other's record over the course of 2015 after Messi surpassed the previous record holder Raúl in November 2014. Ronaldo opened a gap in the 2015–16 season when he became the first player to score double figures in the group stage of the Champions League, setting the record at 11 goals. They are the first two players to score 100 goals in UEFA Champions League history.They dominated the Ballon d'Or/The Best FIFA Men's Player awards since 2008, and UEFA Men's Player of the Year Award since 2014; in 2018, their roughly decade-long triumph was ended by Luka Modrić, seen as \"the end of an era.\" In an interview for the France Football, Modrić stated that \"history will say that a Croatian player, representing his small country, won the Ballon d'Or after Cristiano Ronaldo and Lionel Messi, who are players at another level. Nobody has the right to compare themselves to them.\" Since 2008, Messi has won six Ballons d'Or to Ronaldo's five, six FIFA World's Best Player awards to Ronaldo's five, and six European Golden Shoes to Ronaldo's four.Collectively, Ronaldo has won 32 major trophies including seven league titles and five Champions Leagues, and guided Portugal to their first trophies UEFA Euro 2016 and the 2019 UEFA Nations League. He has also won four national cups, two league cups, six national super cups, two European Super Cups, and four FIFA Club World Cups.Messi has won a club record 34 major trophies as a Barcelona player, including ten league titles, four Champions Leagues, seven Copa del Rey titles, seven Spanish Super Cups, three European Super Cups, and three FIFA Club World Cups. As for youth competitions, Messi won a gold medal at the 2008 Olympic Games held in China, and he had previously won the FIFA U-20 World Cup in 2005, being elected best player and top scorer of the tournament. Moreover, Messi was runner-up at three Copa Américas and at the 2014 World Cup, before finally claiming his first major international trophy at the 2021 Copa América where he was named joint-best player and top scorer.\n", + "\n", + "---\n", + "\n", + "== Head-to-head ==\n", + "In past years, it had been said that the rivalry between Real Madrid and Barcelona has been \"encapsulated\" by the individual rivalry between Ronaldo and Messi, with there never being a goalless El Clásico between the two.\n", + "\n", + "---\n", + "\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "6zZmvSG-a-xt" + }, + "source": [ + "---\n", + "### Simplify the article" + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 52 + }, + "id": "AC70dZ6BwGIE", + "outputId": "2ef81f95-f4ee-41d7-80e5-0d6624a62e8b" + }, + "source": [ + "import nltk.data\n", + "nltk.download('punkt')\n", + "tokenizer = nltk.data.load('tokenizers/punkt/english.pickle')\n", + "\n", + "sen_length = []\n", + "complex_sen_list = []\n", + "\n", + "with open('complex.en', 'w') as fo:\n", + " for title, content in complex_sentences_dict.items():\n", + " content = tokenizer.tokenize(content)\n", + " complex_sen_list = complex_sen_list + content\n", + " sen_length.append(len(content))\n", + "\n", + " content = '\\n'.join(content)\n", + " fo.write(content + '\\n')\n", + "\n", + "complex_text = ' '.join(complex_sen_list)" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + } + }, + { + "output_type": "stream", + "text": [ + "[nltk_data] Downloading package punkt to /root/nltk_data...\n", + "[nltk_data] Package punkt is already up-to-date!\n" + ], + "name": "stderr" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 691 + }, + "id": "wHYOYL4NwGIG", + "outputId": "6ee79e6f-f36b-438d-9ad3-f9d868d2d848" + }, + "source": [ + "%run scripts/simplify.py complex.en --model-name muss_en_wikilarge_mined" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + } + }, + { + "output_type": "stream", + "text": [ + "INFO:fairseq_cli.generate:Namespace(all_gather_list_size=16384, batch_size=None, batch_size_valid=None, beam=5, bf16=False, bpe=None, broadcast_buffers=False, bucket_cap_mb=25, checkpoint_shard_count=1, checkpoint_suffix='', constraints=None, cpu=False, criterion='cross_entropy', curriculum=0, data='/tmp/tmpv1u5fmdc', data_buffer_size=10, dataset_impl='raw', ddp_backend='c10d', decoding_format=None, device_id=0, disable_validation=False, distributed_backend='nccl', distributed_init_method=None, distributed_no_spawn=False, distributed_port=-1, distributed_rank=0, distributed_world_size=1, distributed_wrapper='DDP', diverse_beam_groups=-1, diverse_beam_strength=0.5, diversity_rate=-1.0, empty_cache_freq=0, eval_bleu=False, eval_bleu_args=None, eval_bleu_detok='space', eval_bleu_detok_args=None, eval_bleu_print_samples=False, eval_bleu_remove_bpe=None, eval_tokenized_bleu=False, fast_stat_sync=False, find_unused_parameters=False, fix_batches_to_gpus=False, fixed_validation_seed=None, force_anneal=None, fp16=False, fp16_init_scale=128, fp16_no_flatten_grads=False, fp16_scale_tolerance=0.0, fp16_scale_window=None, gen_subset='tmp', iter_decode_eos_penalty=0.0, iter_decode_force_max_iter=False, iter_decode_max_iter=10, iter_decode_with_beam=1, iter_decode_with_external_reranker=False, left_pad_source='True', left_pad_target='False', lenpen=1.0, lm_path=None, lm_weight=0.0, load_alignments=False, localsgd_frequency=3, log_format=None, log_interval=100, lr_scheduler='fixed', lr_shrink=0.1, match_source_len=False, max_len_a=0, max_len_b=200, max_source_positions=1024, max_target_positions=1024, max_tokens=8000, max_tokens_valid=8000, memory_efficient_bf16=False, memory_efficient_fp16=False, min_len=1, min_loss_scale=0.0001, model_overrides=\"{'encoder_embed_path': None, 'decoder_embed_path': None}\", model_parallel_size=1, nbest=1, no_beamable_mm=False, no_early_stop=False, no_progress_bar=False, no_repeat_ngram_size=0, no_seed_provided=False, nprocs_per_node=1, num_batch_buckets=0, num_shards=1, num_workers=1, optimizer=None, path='/content/muss/resources/models/muss_en_wikilarge_mined/model.pt', pipeline_balance=None, pipeline_checkpoint='never', pipeline_chunks=0, pipeline_decoder_balance=None, pipeline_decoder_devices=None, pipeline_devices=None, pipeline_encoder_balance=None, pipeline_encoder_devices=None, pipeline_model_parallel=False, prefix_size=0, print_alignment=False, print_step=False, profile=False, quantization_config_path=None, quiet=False, remove_bpe=None, replace_unk=None, required_batch_size_multiple=8, required_seq_len_multiple=1, results_path=None, retain_dropout=False, retain_dropout_modules=None, retain_iter_history=False, sacrebleu=False, sampling=False, sampling_topk=-1, sampling_topp=-1.0, score_reference=False, scoring='bleu', seed=1, shard_id=0, skip_invalid_size_inputs_valid_test=True, slowmo_algorithm='LocalSGD', slowmo_momentum=None, source_lang=None, target_lang=None, task='translation', temperature=1.0, tensorboard_logdir=None, threshold_loss_scale=None, tokenizer=None, tpu=False, train_subset='train', truncate_source=False, unkpen=0, unnormalized=False, upsample_primary=1, user_dir=None, valid_subset='valid', validate_after_updates=0, validate_interval=1, validate_interval_updates=0, warmup_updates=0, zero_sharding='none')\n", + "INFO:fairseq.tasks.translation:[complex] dictionary: 50264 types\n", + "INFO:fairseq.tasks.translation:[simple] dictionary: 50264 types\n", + "INFO:fairseq.data.data_utils:loaded 53 examples from: /tmp/tmpv1u5fmdc/tmp.complex-simple.complex\n", + "INFO:fairseq.data.data_utils:loaded 53 examples from: /tmp/tmpv1u5fmdc/tmp.complex-simple.simple\n", + "INFO:fairseq.tasks.translation:/tmp/tmpv1u5fmdc tmp complex-simple 53 examples\n", + "INFO:fairseq_cli.generate:loading model(s) from /content/muss/resources/models/muss_en_wikilarge_mined/model.pt\n", + "/usr/local/lib/python3.7/dist-packages/torch/_tensor.py:575: UserWarning: floor_divide is deprecated, and will be removed in a future version of pytorch. It currently rounds toward 0 (like the 'trunc' function NOT 'floor'). This results in incorrect rounding for negative values.\n", + "To keep the current behavior, use torch.div(a, b, rounding_mode='trunc'), or for actual floor division, use torch.div(a, b, rounding_mode='floor'). (Triggered internally at /pytorch/aten/src/ATen/native/BinaryOps.cpp:467.)\n", + " return torch.floor_divide(self, other)\n", + "INFO:fairseq_cli.generate:NOTE: hypothesis and token scores are output in base 2\n", + "INFO:fairseq_cli.generate:Translated 53 sentences (2218 tokens) in 6.6s (8.04 sentences/s, 336.45 tokens/s)\n" + ], + "name": "stderr" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "BwjEbOHtnGZm", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 17 + }, + "outputId": "404ba4cd-ed66-4704-a4e4-ebb45fc23a79" + }, + "source": [ + "import pickle\n", + "\n", + "with open(\"simple.pkl\", \"rb\") as fo:\n", + " simple_sentences = pickle.load(fo)\n", + "\n", + "simple_text = ' '.join(simple_sentences)" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + } + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "2sK8KOsW_yje" + }, + "source": [ + "#####**Complex-Simple pairs**" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "IjhMeYI_wGIH", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "outputId": "3e33546f-a5f7-439f-94ef-bc04f48655c2" + }, + "source": [ + "for simp, comp in zip(simple_sentences, complex_sen_list):\n", + " print(f'Complex== {comp} \\nSimple== {simp}\\n')" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + } + }, + { + "output_type": "stream", + "text": [ + "Complex: The Messi–Ronaldo rivalry is an association football rivalry between Argentine forward Lionel Messi and Portuguese forward Cristiano Ronaldo. \n", + "Simple: The Messi-Ronaldo rivalry is a football rivalry between two very good football players: Cristiano Ronaldo and Lionel Messi.\n", + "\n", + "Complex: Having won a combined eleven Ballon d'Or/FIFA Ballon d'Or awards (six for Messi and five for Ronaldo) and ten European Golden Shoe awards (six for Messi and four for Ronaldo), both are widely regarded as two of the greatest players of all time. \n", + "Simple: Many people think that both Messi and Ronaldo are the best players in the world today. Both have won the Ballon d'Or many times, six for Messi and five for Ronaldo, as well as many other awards, such as the European Golden Shoe.\n", + "\n", + "Complex: They are two of the most decorated football players ever, having won a combined 66 trophies (Ronaldo 32, Messi 34) during their senior careers thus far, and have regularly broken the 50-goal barrier in a single season. \n", + "Simple: They are two of the most successful football players ever, having won a combined 66 trophies. Messi has won 34 trophies in his senior career, and Ronaldo has won 32 trophies in his senior career.\n", + "\n", + "Complex: They are amongst the 51 players in the history of the sport to score over 500 career goals, with both having scored over 700 goals each in their careers for club and country. \n", + "Simple: They are the only two players in the history of the sport to score 500 or more goals in a single season. They have both scored over 700 goals in their careers.\n", + "\n", + "Complex: Ronaldo currently holds the world record for most official goals in a career, while Messi has the superior goals-to-games ratio (0.81, to Ronaldo's 0.73).Journalists and pundits regularly argue the individual merits of both players in an attempt to establish who they believe is the best attacker in modern football or ever. \n", + "Simple: Ronaldo currently holds the world record for most official goals in a career, while Messi has the superior goals-to-games ratio (0.81, to Ronaldo's 0.73). Many people think that Ronaldo is the best player in the world today, while some people think that Messi is the best player ever.\n", + "\n", + "Complex: Regardless of preference, football critics generally agree that both are the greatest players of their generation, outperforming their peers numerically, largely by a significant margin. \n", + "Simple: No matter what people think, football people generally agree that both are the greatest players of their time. Many people think they are the best players of their time.\n", + "\n", + "Complex: Messi's combination of dribbling, technical, playmaking, and goalscoring skills is often considered among the very best in history, while Ronaldo's physical attributes, goalscoring skills, leadership and influence under pressure is well-appreciated worldwide. \n", + "Simple: Messi's combination of dribbling, technical, playmaking, and goalscoring skills is often considered among the very best in history, while Ronaldo's leadership and influence under pressure is well-appreciated worldwide.\n", + "\n", + "Complex: It has been compared to past global sports rivalries such as the Magic Johnson-Larry Bird rivalry in basketball, the Muhammad Ali–Joe Frazier rivalry in boxing, the Roger Federer–Rafael Nadal rivalry and the Björn Borg–John McEnroe rivalry in tennis, and the Alain Prost–Ayrton Senna rivalry in Formula One motor racing. \n", + "Simple: It has been compared to past global sports rivalries such as the Muhammad Ali-Joe Frazier rivalry in boxing, the Alain Prost-Ayrton Senna rivalry in Formula One motor racing, the Björn Borg-John McEnroe rivalry in tennis, and the Roger Federer-Rafael Nadal rivalry in tennis.\n", + "\n", + "Complex: Some commentators choose to analyse the differing physiques and playing styles of the two, while part of the debate revolves around the contrasting personalities of the two players; Ronaldo is often described as someone of temperamental character while Messi is considered to have a more reserved character.At club level, Messi and Ronaldo represented rivals FC Barcelona and Real Madrid CF for nearly a decade. \n", + "Simple: Some commentators choose to analyse the differing physiques and playing styles of the two, while part of the debate revolves around the contrasting personalities of the two players; Messi is often described as a player with a strong personality, while Ronaldo is considered to have a more reserved character.\n", + "\n", + "Complex: The two players faced each other at least twice every season in the world's most popular regular-season club game, El Clásico (among the most viewed annual sporting events), from Ronaldo's arrival at Madrid in 2009 until his transfer to Italian club Juventus F.C. \n", + "Simple: The two players play against each other at least twice every season in the world's most popular regular-season club game, El Clásico. Since Ronaldo joined Madrid in 2009, they have played against each other at least twice every season.\n", + "\n", + "Complex: in 2018. \n", + "Simple: in 2018.\n", + "\n", + "Complex: Off the field, they are also the face of two rival sportswear manufacturers, Messi of Adidas and Ronaldo of Nike, which are also the kit suppliers of their national teams and the opposite for their clubs. \n", + "Simple: Off the field, they are also the face of two rival sportswear manufacturers, Adidas and Nike. Adidas and Nike both supply the national teams of both Messi and Ronaldo.\n", + "\n", + "Complex: The two highest-paid players in football, Messi and Ronaldo are among the world's best-paid sports stars in combined income from salaries, bonuses and off-field earnings. \n", + "Simple: The two highest-paid players in football, Messi and Ronaldo are among the world's best-paid sports stars. They both make a lot of money from their jobs.\n", + "\n", + "Complex: In 2018, Messi topped Ronaldo on the Forbes' list of highest-paid sportspeople, earning $111 million, with Ronaldo next on the list at $108 million. \n", + "Simple: In 2018, Messi made $111 million on the Forbes list of the world's most paid sportspeople. Ronaldo made $108 million on the list.\n", + "\n", + "Complex: In 2007, Ronaldo and Messi finished as runners-up to A.C. Milan's Kaká in both the Ballon d'Or, an award rewarded to the player voted as the best in the world by an international panel of sports journalists; and the FIFA World Player of the Year, an award voted for by coaches and captains of international teams. \n", + "Simple: In 2007, Ronaldo and Messi finished as runners-up to A.C. Milan's Kaká in both the Ballon d'Or and the FIFA World Player of the Year. The Ballon d'Or is an award given to the best player in the world by an international group of sports journalists.\n", + "\n", + "Complex: In an interview that year, Messi was quoted as saying that \"Cristiano Ronaldo is an extraordinary player and it would be brilliant to be in the same team as him. \n", + "Simple: In an interview that year, Messi said that he would like to play with Ronaldo. He said that \"Cristiano Ronaldo is an extraordinary player.\n", + "\n", + "Complex: \"They first played in a game against each other when Manchester United were drawn to play Barcelona in the 2007–08 UEFA Champions League semi-finals and were immediately pitted as major rivals. \n", + "Simple: They first played against each other when Manchester United were playing Barcelona in the UEFA Champions League in 2007. They played against each other for the first time in this game.\n", + "\n", + "Complex: Ronaldo missed a penalty in the first leg, but United eventually advanced to the final via a Paul Scholes goal. \n", + "Simple: In the first leg, Ronaldo missed a penalty. In the end, Paul Scholes scored United's goal.\n", + "\n", + "Complex: At the end of the year, Ronaldo was awarded the Ballon d'Or and vowed that he would win the award again.The 2009 UEFA Champions League Final was contested between Manchester United and Barcelona on 27 May 2009 at the Stadio Olimpico in Rome, Italy. \n", + "Simple: At the end of the year, Ronaldo was awarded the Ballon d'Or and said that he would win the award again. The 2009 UEFA Champions League Final was played on May 27, 2009 at the Stadio Olimpico in Rome, Italy.\n", + "\n", + "Complex: The match, described as a \"dream clash\", was again hyped as the latest battle between the two, this time to settle who was the best player in the world; Ronaldo claimed he was the better of the two, while Messi's club-mate Xavi sided with him. \n", + "Simple: The match, described as a \"dream clash\", was again hyped as the latest battle between the two, with Messi's club-mate Xavi saying that Ronaldo was the better player, while Ronaldo said that he was the best player in the world.\n", + "\n", + "Complex: Manchester United manager Alex Ferguson was more diplomatic, praising both players as being amongst the world's elite talents. \n", + "Simple: Manchester United manager Alex Ferguson thought that both players were very good. He said that they were the best in the world.\n", + "\n", + "Complex: Messi, playing in a central role he was unaccustomed to so he would avoid a direct battle with Manchester United left-back Patrice Evra, scored Barcelona's second in a 2–0 victory with a header in the 70th minute. \n", + "Simple: Messi, playing in a central role so he would not have to fight with Manchester United left-back Patrice Evra, scored Barcelona's second goal in a 2-0 victory. He scored the goal in the 70th minute.\n", + "\n", + "Complex: Meanwhile, Ronaldo was subdued for much of the game, despite some early chances to score, and his frustration eventually showed when he was booked for a rash tackle on Carles Puyol.From 2009 to 2018, the two played against each other at least twice per season during El Clásico matches but also met many other times competitions such as the Copa del Rey, the Supercopa de España, and, a two-legged Champions League semifinal in 2011. \n", + "Simple: Meanwhile, Ronaldo was subdued for much of the game, despite some early chances to score, and his frustration eventually showed when he was booked for a rash tackle on Carles Puyol. The two have played against each other at least twice a season since the beginning of the 2009\\/10 season, including a two-legged Champions League semifinal in 2011.\n", + "\n", + "Complex: Messi won four consecutive Ballon d'Or awards (2009 to 2012), with a fifth coming in 2015, while Ronaldo had equalled Messi's total of five with wins in 2013, 2014, 2016, and 2017. \n", + "Simple: Messi has won the Ballon d'Or four times in a row (2009 to 2012), while Ronaldo has won it five times. Ronaldo won the award in 2013, 2014, 2016, and 2017.\n", + "\n", + "Complex: In 2019, Messi took the lead again by earning his sixth Ballon d'Or, finishing just seven points ahead of second-placed Virgil van Dijk, with Ronaldo finishing third. \n", + "Simple: In 2019, Messi took the lead again by earning his sixth Ballon d'Or. He finished just seven points ahead of second-placed Virgil van Dijk, with Ronaldo third.\n", + "\n", + "Complex: In total, Messi and Ronaldo reached the podium a record twelve times each. \n", + "Simple: In total, Messi and Ronaldo have both won the World Cup twelve times.\n", + "\n", + "Complex: Messi won two Champions League while Ronaldo was playing for Real Madrid, with the latter securing four out of five titles between 2014 and 2018. \n", + "Simple: While Ronaldo was playing for Real Madrid, Messi won two Champions League games. Real Madrid have won four out of five titles since 2014.\n", + "\n", + "Complex: Messi during this period won five Pichichi trophies and European Golden Shoe awards (2010, 2012, 2013, 2017 and 2018), while Ronaldo won these prizes thrice each (2011, 2014 and 2015). \n", + "Simple: During this time, Messi has won five Pichichi trophies and three European Golden Shoe awards. Ronaldo has won these awards three times, once each in 2011, 2014 and 2015.\n", + "\n", + "Complex: From 2009 to 2018, Ronaldo was the Champions League top scorer on six occasions, with Messi achieving this feat four times (including in 2015 when the pair finished joint-top). \n", + "Simple: From 2009 to 2018, Ronaldo has scored more goals in the Champions League than Messi four times. In 2015, the two players finished as the top scorers together.\n", + "\n", + "Complex: In a 2015 interview, Ronaldo commented on the rivalry by saying: \"I think we push each other sometimes in the competition, this is why the competition is so high.\" \n", + "Simple: In a 2015 interview, Ronaldo talked about the rivalry. He said: \"Sometimes we push each other a little bit, that's why the competition is so good.\n", + "\n", + "Complex: Alex Ferguson, Ronaldo's manager during his time at Manchester United, opined: \"I don't think the rivalry against each other bothers them. \n", + "Simple: Alex Ferguson, who managed Ronaldo when he was at Manchester United, said that he does not care about the other players.\n", + "\n", + "Complex: I think they have their own personal pride in terms of wanting to be the best.\" \n", + "Simple: I think they have their own personal pride. They want to be the best at it.\"\n", + "\n", + "Complex: Messi has denied any rivalry, and blames the media for creating it, stating that \"only the media, the press, who wants us to be at loggerheads but I've never fought with Cristiano. \n", + "Simple: Messi has denied any rivalry, and blames the media for creating it. He said that \"only the media, the press, wants us to be at loggerheads (not playing against each other).\n", + "\n", + "Complex: \"It is widely argued and documented that there is an atmosphere of competition between the duo, with Guillem Balagué claiming in the book Ronaldo that he refers to his Argentine counterpart as a \"motherfucker\" behind his back, and Luca Caioli saying in his book Ronaldo: The Obsession for Perfection that, according to his sources, Ronaldo heats up when watching Messi play. \n", + "Simple: \"It is widely argued and documented that there is an atmosphere of competition between the duo, with Luca Caioli saying in his book Ronaldo: The Obsession for Perfection that, according to his sources, Ronaldo heats up when watching Messi play, and Guillem Balagué claiming in the book that he refers to his Argentine counterpart as a \"motherfucker\" behind his back.\n", + "\n", + "Complex: In response to claims that he and Messi do not get on well on a personal level, Ronaldo commented: \"We don't have a relationship outside the world of football, just as we don't with a lot of other players\", before adding that in years to come he hopes they can laugh about it together, stating: \"We have to look on this rivalry with a positive spirit, because it's a good thing.\" \n", + "Simple: He has said that he and Messi do not get on well on a personal level, and that they do not have a good relationship outside of football. He said that they do not have a good relationship with a lot of other players, and that in years to come he hopes they can laugh about it together.\n", + "\n", + "Complex: On 13 November 2014, Ronaldo also threatened to take legal action over the remarks made by Balagué. \n", + "Simple: On 13 November 2014, Ronaldo also said that he would take legal action against Balagué.\n", + "\n", + "Complex: After Ronaldo's departure from Real Madrid to Juventus, Messi admitted to missing him, saying: \"I miss Cristiano. \n", + "Simple: After Ronaldo left Real Madrid to join Juventus, Messi said that he \"missed\" him, \"I miss Cristiano\".\n", + "\n", + "Complex: Although it was a bit difficult to see him win trophies, he gave La Liga prestige.\" \n", + "Simple: It was a little hard for him to win trophies, but he gave La Liga importance.\"\n", + "\n", + "Complex: During a joint interview at the UEFA Player of the Year ceremony in 2019, Ronaldo said he would like to \"have dinner together in the future\", to which Messi later replied: \"If I get an invitation, why not?\" \n", + "Simple: During a joint interview at the UEFA Player of the Year ceremony in 2019, Ronaldo said he would like to \"have dinner together in the future\", to which Messi said: \"If I get an invitation, why not?\"\n", + "\n", + "Complex: Throughout the existence of the rivalry, the pair have dominated awards ceremonies and broken a multitude of goalscoring records for both club and country, feats which have been described as \"incredible\", \"ridiculous\", and \"remarkable\", respectively. \n", + "Simple: Throughout the existence of the rivalry, the pair have dominated awards ceremonies and broken many goalscoring records for both club and country. People have said that they are both \"incredible\" and \"remarkable\" for having scored so many goals.\n", + "\n", + "Complex: The rivalry itself has been described as one about records and reputation of the players, rather than one based in loathing.Messi is the all-time La Liga top scorer, as well as having the most goal contributions (goals + assists) in the history of the top European leagues, with comfortably over 1,000 totals; meanwhile, Ronaldo places second for goals scored and in third for assists provided, whilst being the UEFA Champions League all-time top goalscorer and assist provider, with Messi in second for both goals scored and assists provided in the competition's history, although once more having a superior ratio of goal contributions to games. \n", + "Simple: Messi is the all-time La Liga top scorer, as well as having the most goal contributions (goals + assists) in the history of the top European leagues, while being the UEFA Champions League all-time top goalscorer and assist provider. Ronaldo is the UEFA Champions League all-time top goalscorer and assist provider, with Messi in second for both goals scored and assists provided in the competition's history, although once more having a superior ratio of goal contributions to games.\n", + "\n", + "Complex: Messi also holds both the most goals in a season (73), and second most assists in a season (34), just one behind midfielder Juan Mata's record. \n", + "Simple: Messi also holds the record for most goals in a season with 73. He also holds the record for most assists with 34.\n", + "\n", + "Complex: He is the outright holder of most goal contributions in a season, with 107 in 2011–12. \n", + "Simple: He has scored the most goals in a single season with 107 in the 2011 â \"12 season.\n", + "\n", + "Complex: The two had broken each other's record over the course of 2015 after Messi surpassed the previous record holder Raúl in November 2014. \n", + "Simple: The two had broken each other's record over the course of 2015. In November 2014, Messi beat the previous record holder.\n", + "\n", + "Complex: Ronaldo opened a gap in the 2015–16 season when he became the first player to score double figures in the group stage of the Champions League, setting the record at 11 goals. \n", + "Simple: In the 2015/16 season, he became the first player in history to score double figures in the Champions League group stage, setting the record at 11 goals.\n", + "\n", + "Complex: They are the first two players to score 100 goals in UEFA Champions League history.They dominated the Ballon d'Or/The Best FIFA Men's Player awards since 2008, and UEFA Men's Player of the Year Award since 2014; in 2018, their roughly decade-long triumph was ended by Luka Modrić, seen as \"the end of an era.\" \n", + "Simple: They are the first two players to score 100 goals in UEFA Champions League history. They have won the Ballon d'Or/The Best FIFA Men's Player awards since 2008, and UEFA Men's Player of the Year Award since 2014; Luka Modrić won the award for the first time in his career in 2018.\n", + "\n", + "Complex: In an interview for the France Football, Modrić stated that \"history will say that a Croatian player, representing his small country, won the Ballon d'Or after Cristiano Ronaldo and Lionel Messi, who are players at another level. \n", + "Simple: In an interview for the France Football, Modrić said that \"history will say that a Croatian player, representing his small country, won the Ballon d'Or after Lionel Messi and Cristiano Ronaldo.\n", + "\n", + "Complex: Nobody has the right to compare themselves to them.\" \n", + "Simple: No one should compare themselves to them.\"\n", + "\n", + "Complex: Since 2008, Messi has won six Ballons d'Or to Ronaldo's five, six FIFA World's Best Player awards to Ronaldo's five, and six European Golden Shoes to Ronaldo's four.Collectively, Ronaldo has won 32 major trophies including seven league titles and five Champions Leagues, and guided Portugal to their first trophies UEFA Euro 2016 and the 2019 UEFA Nations League. \n", + "Simple: Since 2008, Messi has won six Ballons d'Or to Ronaldo's five, six FIFA World's Best Player awards to Ronaldo's five, and six European Golden Shoes to Ronaldo's four. In that time, Messi has won seven league titles and five Champions Leagues, while Ronaldo has won seven league titles and five Champions Leagues.\n", + "\n", + "Complex: He has also won four national cups, two league cups, six national super cups, two European Super Cups, and four FIFA Club World Cups.Messi has won a club record 34 major trophies as a Barcelona player, including ten league titles, four Champions Leagues, seven Copa del Rey titles, seven Spanish Super Cups, three European Super Cups, and three FIFA Club World Cups. \n", + "Simple: Messi has won a club record 34 major trophies as a Barcelona player, including ten league titles, four Champions Leagues, seven Copa del Rey titles, seven Spanish Super Cups, three European Super Cups, and three FIFA Club World Cups. He has also won four national cups, two league cups, six national super cups, and four FIFA Club World Cups.\n", + "\n", + "Complex: As for youth competitions, Messi won a gold medal at the 2008 Olympic Games held in China, and he had previously won the FIFA U-20 World Cup in 2005, being elected best player and top scorer of the tournament. \n", + "Simple: In 2008, Messi won a gold medal at the Olympic Games held in China, and in 2005, he won the FIFA U-20 World Cup. Messi was the best player at the 2008 Olympic Games, and he won the FIFA U-20 World Cup.\n", + "\n", + "Complex: Moreover, Messi was runner-up at three Copa Américas and at the 2014 World Cup, before finally claiming his first major international trophy at the 2021 Copa América where he was named joint-best player and top scorer. \n", + "Simple: In addition, Messi was runner-up at three Copa Américas and at the 2014 World Cup. At the 2021 Copa América, Messi was named joint-best player and top scorer, and he won his first major international trophy.\n", + "\n", + "Complex: In past years, it had been said that the rivalry between Real Madrid and Barcelona has been \"encapsulated\" by the individual rivalry between Ronaldo and Messi, with there never being a goalless El Clásico between the two. \n", + "Simple: In past years, it had been said that the rivalry between Real Madrid and Barcelona is the best in the world. This is because Messi and Ronaldo have always played against each other in El Clásico.\n", + "\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "7A_XJop0_71z" + }, + "source": [ + "#####**Simplified Wikipedia Article**" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "Jms42MMFdZJj", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "outputId": "b3a42f97-9fba-49d6-ab14-684bb2a5d041" + }, + "source": [ + "cur_para, cur_sen = 0, 0\n", + "simplified_article = page.original_title + '\\n\\n'\n", + "\n", + "for lth in sen_length:\n", + " simplified_article += (list(complex_sentences_dict.keys()))[cur_para] + '\\n\\n'\n", + " for i in range(lth):\n", + " simplified_article += simple_sentences[cur_sen+i] + ' '\n", + " simplified_article += '\\n\\n'\n", + "\n", + " cur_para += 1\n", + " cur_sen += lth\n", + "\n", + "print(simplified_article)" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + } + }, + { + "output_type": "stream", + "text": [ + "Messi–Ronaldo rivalry\n", + "\n", + "== Introduction ==\n", + "\n", + "The Messi-Ronaldo rivalry is a football rivalry between two very good football players: Cristiano Ronaldo and Lionel Messi. Many people think that both Messi and Ronaldo are the best players in the world today. Both have won the Ballon d'Or many times, six for Messi and five for Ronaldo, as well as many other awards, such as the European Golden Shoe. They are two of the most successful football players ever, having won a combined 66 trophies. Messi has won 34 trophies in his senior career, and Ronaldo has won 32 trophies in his senior career. They are the only two players in the history of the sport to score 500 or more goals in a single season. They have both scored over 700 goals in their careers. Ronaldo currently holds the world record for most official goals in a career, while Messi has the superior goals-to-games ratio (0.81, to Ronaldo's 0.73). Many people think that Ronaldo is the best player in the world today, while some people think that Messi is the best player ever. No matter what people think, football people generally agree that both are the greatest players of their time. Many people think they are the best players of their time. Messi's combination of dribbling, technical, playmaking, and goalscoring skills is often considered among the very best in history, while Ronaldo's leadership and influence under pressure is well-appreciated worldwide. It has been compared to past global sports rivalries such as the Muhammad Ali-Joe Frazier rivalry in boxing, the Alain Prost-Ayrton Senna rivalry in Formula One motor racing, the Björn Borg-John McEnroe rivalry in tennis, and the Roger Federer-Rafael Nadal rivalry in tennis. Some commentators choose to analyse the differing physiques and playing styles of the two, while part of the debate revolves around the contrasting personalities of the two players; Messi is often described as a player with a strong personality, while Ronaldo is considered to have a more reserved character. The two players play against each other at least twice every season in the world's most popular regular-season club game, El Clásico. Since Ronaldo joined Madrid in 2009, they have played against each other at least twice every season. in 2018. Off the field, they are also the face of two rival sportswear manufacturers, Adidas and Nike. Adidas and Nike both supply the national teams of both Messi and Ronaldo. The two highest-paid players in football, Messi and Ronaldo are among the world's best-paid sports stars. They both make a lot of money from their jobs. In 2018, Messi made $111 million on the Forbes list of the world's most paid sportspeople. Ronaldo made $108 million on the list. \n", + "\n", + "== History ==\n", + "\n", + "In 2007, Ronaldo and Messi finished as runners-up to A.C. Milan's Kaká in both the Ballon d'Or and the FIFA World Player of the Year. The Ballon d'Or is an award given to the best player in the world by an international group of sports journalists. In an interview that year, Messi said that he would like to play with Ronaldo. He said that \"Cristiano Ronaldo is an extraordinary player. They first played against each other when Manchester United were playing Barcelona in the UEFA Champions League in 2007. They played against each other for the first time in this game. In the first leg, Ronaldo missed a penalty. In the end, Paul Scholes scored United's goal. At the end of the year, Ronaldo was awarded the Ballon d'Or and said that he would win the award again. The 2009 UEFA Champions League Final was played on May 27, 2009 at the Stadio Olimpico in Rome, Italy. The match, described as a \"dream clash\", was again hyped as the latest battle between the two, with Messi's club-mate Xavi saying that Ronaldo was the better player, while Ronaldo said that he was the best player in the world. Manchester United manager Alex Ferguson thought that both players were very good. He said that they were the best in the world. Messi, playing in a central role so he would not have to fight with Manchester United left-back Patrice Evra, scored Barcelona's second goal in a 2-0 victory. He scored the goal in the 70th minute. Meanwhile, Ronaldo was subdued for much of the game, despite some early chances to score, and his frustration eventually showed when he was booked for a rash tackle on Carles Puyol. The two have played against each other at least twice a season since the beginning of the 2009\\/10 season, including a two-legged Champions League semifinal in 2011. Messi has won the Ballon d'Or four times in a row (2009 to 2012), while Ronaldo has won it five times. Ronaldo won the award in 2013, 2014, 2016, and 2017. In 2019, Messi took the lead again by earning his sixth Ballon d'Or. He finished just seven points ahead of second-placed Virgil van Dijk, with Ronaldo third. In total, Messi and Ronaldo have both won the World Cup twelve times. While Ronaldo was playing for Real Madrid, Messi won two Champions League games. Real Madrid have won four out of five titles since 2014. During this time, Messi has won five Pichichi trophies and three European Golden Shoe awards. Ronaldo has won these awards three times, once each in 2011, 2014 and 2015. From 2009 to 2018, Ronaldo has scored more goals in the Champions League than Messi four times. In 2015, the two players finished as the top scorers together. \n", + "\n", + "== Relationship between Messi and Ronaldo ==\n", + "\n", + "In a 2015 interview, Ronaldo talked about the rivalry. He said: \"Sometimes we push each other a little bit, that's why the competition is so good. Alex Ferguson, who managed Ronaldo when he was at Manchester United, said that he does not care about the other players. I think they have their own personal pride. They want to be the best at it.\" Messi has denied any rivalry, and blames the media for creating it. He said that \"only the media, the press, wants us to be at loggerheads (not playing against each other). \"It is widely argued and documented that there is an atmosphere of competition between the duo, with Luca Caioli saying in his book Ronaldo: The Obsession for Perfection that, according to his sources, Ronaldo heats up when watching Messi play, and Guillem Balagué claiming in the book that he refers to his Argentine counterpart as a \"motherfucker\" behind his back. He has said that he and Messi do not get on well on a personal level, and that they do not have a good relationship outside of football. He said that they do not have a good relationship with a lot of other players, and that in years to come he hopes they can laugh about it together. On 13 November 2014, Ronaldo also said that he would take legal action against Balagué. After Ronaldo left Real Madrid to join Juventus, Messi said that he \"missed\" him, \"I miss Cristiano\". It was a little hard for him to win trophies, but he gave La Liga importance.\" During a joint interview at the UEFA Player of the Year ceremony in 2019, Ronaldo said he would like to \"have dinner together in the future\", to which Messi said: \"If I get an invitation, why not?\" \n", + "\n", + "== Awards and records ==\n", + "\n", + "Throughout the existence of the rivalry, the pair have dominated awards ceremonies and broken many goalscoring records for both club and country. People have said that they are both \"incredible\" and \"remarkable\" for having scored so many goals. Messi is the all-time La Liga top scorer, as well as having the most goal contributions (goals + assists) in the history of the top European leagues, while being the UEFA Champions League all-time top goalscorer and assist provider. Ronaldo is the UEFA Champions League all-time top goalscorer and assist provider, with Messi in second for both goals scored and assists provided in the competition's history, although once more having a superior ratio of goal contributions to games. Messi also holds the record for most goals in a season with 73. He also holds the record for most assists with 34. He has scored the most goals in a single season with 107 in the 2011 â \"12 season. The two had broken each other's record over the course of 2015. In November 2014, Messi beat the previous record holder. In the 2015/16 season, he became the first player in history to score double figures in the Champions League group stage, setting the record at 11 goals. They are the first two players to score 100 goals in UEFA Champions League history. They have won the Ballon d'Or/The Best FIFA Men's Player awards since 2008, and UEFA Men's Player of the Year Award since 2014; Luka Modrić won the award for the first time in his career in 2018. In an interview for the France Football, Modrić said that \"history will say that a Croatian player, representing his small country, won the Ballon d'Or after Lionel Messi and Cristiano Ronaldo. No one should compare themselves to them.\" Since 2008, Messi has won six Ballons d'Or to Ronaldo's five, six FIFA World's Best Player awards to Ronaldo's five, and six European Golden Shoes to Ronaldo's four. In that time, Messi has won seven league titles and five Champions Leagues, while Ronaldo has won seven league titles and five Champions Leagues. Messi has won a club record 34 major trophies as a Barcelona player, including ten league titles, four Champions Leagues, seven Copa del Rey titles, seven Spanish Super Cups, three European Super Cups, and three FIFA Club World Cups. He has also won four national cups, two league cups, six national super cups, and four FIFA Club World Cups. In 2008, Messi won a gold medal at the Olympic Games held in China, and in 2005, he won the FIFA U-20 World Cup. Messi was the best player at the 2008 Olympic Games, and he won the FIFA U-20 World Cup. In addition, Messi was runner-up at three Copa Américas and at the 2014 World Cup. At the 2021 Copa América, Messi was named joint-best player and top scorer, and he won his first major international trophy. \n", + "\n", + "== Head-to-head ==\n", + "\n", + "In past years, it had been said that the rivalry between Real Madrid and Barcelona is the best in the world. This is because Messi and Ronaldo have always played against each other in El Clásico. \n", + "\n", + "\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "0-Xub2u-AZwW" + }, + "source": [ + "#####**Simplified + Summarized Article**" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "7o7ZRZFsAY8p", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 543, + "referenced_widgets": [ + "c4768b71c55445f092c33d0d9b197834", + "77418127c4654006a6610af8722b4f98", + "977ad2096048427ab9d3c7c567d311f3", + "fcb0e031854446af94b2f29bd1d6710d", + "ccf5379321ec4eeeb2ccf0a014737889", + "85d2c4b4c4a14bcaabf06c2899acc41e", + "9cf7a6867acb4d3a93611932b9704d4e", + "5af848fb9265434c93693ae6dd7e5ac1", + "3a59e8f2a68a406fba8a15a8a54e62a3", + "70d73496167a433ca9e142e28fbb7596", + "0ef209dc3b3d454fae7325d0ddff7240", + "f29ee09134c24e63bb9c6a1ea65f3e6e", + "acf2fbcdc6dd4b1ba5de8908eac46199", + "1c3db3e73d924a6990cd10ebfc2665d2", + "a4a56f6446074adfa1b11bbcb34e3d22", + "f7dc8ad7682f43e4a8cc5f3c3442cb01", + "4e8374fa45104f0eb48209c3e573cec5", + "64c4c18fcf9d41c4a0854d95bff4ebef", + "ea74a17e91234cb1a803d9de41384ca4", + "0c8133e3342b4f649cfba7d8e3795232", + "cf9d482e115c48cf861c22c88201b238", + "11155ce2cd7141e394fd874e213efec7", + "7e961ac3509f4628bdfdbc7fc95d74de", + "61a80c0b95264b8aa78518d988419ae4", + "fff9f1c3802b477195c738a86e4afd48", + "c2cab65440a742cf8aa268fcb839fd95", + "7ea8106314e94965ab142c5fe945dfad", + "eb31c9e0621d4f029ff12b3b085b4adb", + "24ea13fff6084c41a97b191e38c4a936", + "95e097a72dd9430fa4990d8125f3aaf7", + "c1beffc7e319462194f55af137816064", + "783c049c65db4d958dd770c828869968", + "ee16cce8e6444c138326ce2cbc7f4431", + "a02e3162567847668f976f1e865506fd", + "65c2bacb18b24862955d1292704caa83", + "31a297d11a4743c5a07848d55194213e", + "c395b5aaed7348119db6d55d03118dd2", + "6b88509078be4a7fbd565dd772144ea1", + "53054592ddfe40d3b18546ce3ef29eb1", + "b5cad8be41d34a33b6455763477c5afc", + "f26727ff8e564530947c62a8d54aa2db", + "4d0999f7d88b4405b97e3a5bba72fe80", + "d1556920ef6f474a975a6672ba311b49", + "dbbed27ac93a4e79a06bad53e775484e", + "d782e1075f2b47f78d43173231f78e8e", + "da051dda894240e7ada9b38a2ee83391", + "333a987a9a9c44d38d597a9605f9a228", + "0bab7b0fb741464eba9c3c17449ce7d3", + "213a2195a4f04c74973ef8961c9b45fe", + "4d4a4b87e88d475b971a8a1c2e517a14", + "a519ea9882e54227848a48fe085c8a91", + "98d396a455b54f24943ff39d82373290", + "48d0ce68c7674e28b14e7791e9a9dc75", + "01b7da4567b047ee9f4df9ec405aa46b", + "21321dd78f5047bb913ca765a437433e" + ] + }, + "outputId": "b2a5bcff-f2ac-4e48-fef5-30f6841626f4" + }, + "source": [ + "from transformers import pipeline\n", + "summarizer = pipeline('summarization')" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + } + }, + { + "output_type": "stream", + "text": [ + "INFO:filelock:Lock 140182548512848 acquired on /root/.cache/huggingface/transformers/adac95cf641be69365b3dd7fe00d4114b3c7c77fb0572931db31a92d4995053b.a50597c2c8b540e8d07e03ca4d58bf615a365f134fb10ca988f4f67881789178.lock\n" + ], + "name": "stderr" + }, + { + "output_type": "display_data", + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "c4768b71c55445f092c33d0d9b197834", + "version_minor": 0, + "version_major": 2 + }, + "text/plain": [ + "Downloading: 0%| | 0.00/1.80k [00:00pre {white-space: pre-wrap;}" + ], + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + } + }, + { + "output_type": "stream", + "text": [ + "Messi–Ronaldo rivalry\n", + "\n", + " The Messi-Ronaldo rivalry is a football rivalry between two very good football players . Many people think that both Messi and Ronaldo are the best players in the world today . Messi has won 34 trophies in his senior career, while Ronaldo has won 32 . The two players play against each other at least twice every season in El Clásico . The rivalry has been compared to past global sports rivalries such as the Muhammad Ali-Joe Frazier rivalry in boxing and the Alain Prost-Ayrton Senna rivalry in Formula One . Messi and Ronaldo finished as runners-up to Kaká in both the Ballon d'Or and FIFA World Player of the Year in 2007 . The two have played against each other at least twice a season since the beginning of the 2009\\/10 season, including a two-legged Champions League semifinal in 2011 . Messi has won the award four times in a row (2009 to 2012), while Ronaldo has won it five times . In 2018, Messi made $111 million on the Forbes list of the world's most paid sportspeople . In 2019, Messi took the lead again by earning Cristiano Ronaldo has scored more goals in the Champions League than Lionel Messi four times from 2009 to 2018 . In 2015, the two players finished as the top scorers together . Messi has denied any rivalry, and blames the media for creating it . In a joint interview at the UEFA Player of the Year ceremony in 2019, Ronaldo said he would like to \"have dinner together in the future\", to which Messi said: \"If I get an invitation, why not?\" The pair have dominated awards ceremonies and broken many goalscoring records for both club and country . \n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "YwxHQpD94hOI" + }, + "source": [ + "---\n", + "### Readability score calculation" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "maHGOcTw5KRm", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 190 + }, + "outputId": "0c5f1489-46c8-4088-f3bb-92b65b4c6f6c" + }, + "source": [ + "!pip install textstat" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + } + }, + { + "output_type": "stream", + "text": [ + "Collecting textstat\n", + "\u001b[?25l Downloading https://files.pythonhosted.org/packages/ce/42/3e3691ff23d2f3e30ef18bd382d9450e992e2da7e01ca33d392b473eba05/textstat-0.7.1-py3-none-any.whl (99kB)\n", + "\r\u001b[K |███▎ | 10kB 21.6MB/s eta 0:00:01\r\u001b[K |██████▋ | 20kB 19.5MB/s eta 0:00:01\r\u001b[K |█████████▉ | 30kB 16.7MB/s eta 0:00:01\r\u001b[K |█████████████▏ | 40kB 15.1MB/s eta 0:00:01\r\u001b[K |████████████████▍ | 51kB 7.8MB/s eta 0:00:01\r\u001b[K |███████████████████▊ | 61kB 9.1MB/s eta 0:00:01\r\u001b[K |███████████████████████ | 71kB 9.5MB/s eta 0:00:01\r\u001b[K |██████████████████████████▎ | 81kB 9.8MB/s eta 0:00:01\r\u001b[K |█████████████████████████████▌ | 92kB 10.1MB/s eta 0:00:01\r\u001b[K |████████████████████████████████| 102kB 6.7MB/s \n", + "\u001b[?25hCollecting pyphen\n", + "\u001b[?25l Downloading https://files.pythonhosted.org/packages/77/95/b98d82fbfcd33f34a12d3d1eeb127e57d9dc5a272b6f08f4e889766d8b3a/pyphen-0.11.0-py3-none-any.whl (2.0MB)\n", + "\u001b[K |████████████████████████████████| 2.0MB 34.0MB/s \n", + "\u001b[?25hInstalling collected packages: pyphen, textstat\n", + "Successfully installed pyphen-0.11.0 textstat-0.7.1\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "MS0Bro8U5Dup", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 415 + }, + "outputId": "da0aeb5e-1904-46b2-ffa7-38722149092c" + }, + "source": [ + "from textstat import smog_index, flesch_reading_ease, flesch_kincaid_grade, coleman_liau_index \n", + "from textstat import automated_readability_index, dale_chall_readability_score, gunning_fog\n", + "\n", + "print('Readability Index : Complex - Simple\\n')\n", + "\n", + "print('Flesch Reading Ease(+) : ', flesch_reading_ease(complex_text), \n", + " flesch_reading_ease(simple_text))\n", + "print('Flesch Kincaid Grade(-) : ', flesch_kincaid_grade(complex_text), flesch_kincaid_grade(simple_text))\n", + "print('Coleman Liau Index(-) : ', coleman_liau_index(complex_text), coleman_liau_index(simple_text))\n", + "print('Automated Readability Index(-) : ', automated_readability_index(complex_text),\n", + " automated_readability_index(simple_text))\n", + "print('Gunning Fog(-) : ', gunning_fog(complex_text), gunning_fog(simple_text))\n", + "print('Smog Index(-) : ', smog_index(complex_text), smog_index(simple_text))\n", + "print('Dale-Chall Readability Score(-) : ', dale_chall_readability_score(complex_text), \n", + " dale_chall_readability_score(simple_text))\n", + "\n", + "print('\\n---\\n\\n(+) : higher => better;\\n\\t90-100 : Very Easy\\n\\t80-90 : Easy'\n", + " '\\n\\t70-80 : Fairly Easy\\n\\t60-70 : Standard\\n\\t50-60 : Fairly Difficult'\n", + " '\\n\\t30-50 : Difficult\\n\\t0-30 : Very Confusing\\n')\n", + "print('(-) : lower => better;\\nThis is a grade formula in that a '\n", + " 'score of 9.3 means that a ninth grader would be able to read the document.')" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + } + }, + { + "output_type": "stream", + "text": [ + "Readability Index : Complex - Simple\n", + "\n", + "Flesch Reading Ease(+) : 42.58 68.3\n", + "Flesch Kincaid Grade(-) : 16.5 8.7\n", + "Coleman Liau Index(-) : 11.38 9.23\n", + "Automated Readability Index(-) : 20.6 10.8\n", + "Gunning Fog(-) : 17.15 9.54\n", + "Smog Index(-) : 14.4 10.1\n", + "Dale-Chall Readability Score(-) : 7.7 6.13\n", + "\n", + "---\n", + "\n", + "(+) : higher => better;\n", + "\t90-100 : Very Easy\n", + "\t80-90 : Easy\n", + "\t70-80 : Fairly Easy\n", + "\t60-70 : Standard\n", + "\t50-60 : Fairly Difficult\n", + "\t30-50 : Difficult\n", + "\t0-30 : Very Confusing\n", + "\n", + "(-) : lower => better;\n", + "This is a grade formula in that a score of 9.3 means that a ninth grader would be able to read the document.\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "8YnSkH-pITma", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 34 + }, + "outputId": "017e0302-7ef3-4f61-be7f-f9fa9eda35f8" + }, + "source": [ + "print('Flesch Reading Ease(+) for the summarised article: ', flesch_reading_ease(summarized_text))" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + } + }, + { + "output_type": "stream", + "text": [ + "Flesch Reading Ease(+) : 58.42\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "DnxGYqvbIX7n" + }, + "source": [ + "" + ], + "execution_count": null, + "outputs": [] + } + ] +} \ No newline at end of file From 6bbb5a2f8c8a75f83506b0793fdc96d0b6096dc6 Mon Sep 17 00:00:00 2001 From: Rishav Bikarwar Date: Sun, 1 Aug 2021 01:33:41 +0530 Subject: [PATCH 04/11] Add sample data file This txt file is for testing the training of the model --- Final model/Team_4/simple_wiki.txt | 291 +++++++++++++++++++++++++++++ 1 file changed, 291 insertions(+) create mode 100644 Final model/Team_4/simple_wiki.txt diff --git a/Final model/Team_4/simple_wiki.txt b/Final model/Team_4/simple_wiki.txt new file mode 100644 index 0000000..5580f0b --- /dev/null +++ b/Final model/Team_4/simple_wiki.txt @@ -0,0 +1,291 @@ +Lionel Andrés "Leo" Messi Cuccittini (Spanish pronunciation: [ljoˈnel anˈdɾes ˈmesi]) (born 24 June 1987) is an Argentine footballer.[5] He plays for the Argentina national team as a forward. He is currently a free agent, as his contract at FC Barcelona expired. He also has Spanish citizenship, meaning he can play for Spain. Many experts and critics consider Messi as one of the greatest football players of all time. Some[who?] even say he is the greatest player ever. Messi has six Ballon d'Or awards, the most of any player, and one more than Cristiano Ronaldo.[6][7] His playing style and skills are very similar to the Argentine legend Diego Maradona because of their short height. There is much competition between him and Portuguese footballer Cristiano Ronaldo because of their similar skill levels. +Messi was born and raised in Rosario, Argentina. Messi is the third of four children of Jorge Messi and his wife Celia Cuccittini. He has two brothers named Rodrigo and Matias and two cousins named Maximiliano and Emanuel. + +Messi's grandmother died when he was 11, and after that he generally celebrates his goals by pointing up in the sky in tribute of his grandmother. + +Messi began football at a young age and his potential was quickly seen by Barcelona. He left Newell's Old Boys' youth team in September 2000 and moved with his family to Europe in February 2001. He officially signed with Barcelona in December 2000 on a napkin. They moved to Spain because Barcelona offered their help to treat his growth hormone deficiency, and Newell's didn't offer any help.[8] + +Messi played his first professional match at 16 years old on 16 November 2003 against Porto. He played the 2003-04 season with Barcelona B. He was promoted to the first team for the 2004-05 season, and made his league debut on 16 October 2004 against Espanyol as a substitute. He made his league debut at age 17, and became the youngest player to play for Barcelona's first team in an official competition. He scored his first professional goal on 1 May 2005 against Albacete from an assist by Ronaldinho. The goal made him the youngest-ever scorer for the club at that time. Barcelona won La Liga that season for the first time in 6 years, and won the league for a second time in a row along with the Spanish Super Cup and UEFA Champions League in 2006. + +His first breakthrough season was in the 2006–07 season; he became a first team regular by scoring his first hat-trick of his career in El Clásico. On 18 April 2007, he scored a goal similar to Maradona's "Goal of the Century" against England in the 1986 World Cup, where Maradona got the ball behind the halfway line on the right side and beat 4 defenders and the goalie to score. Messi's goal was similar to this; he received a pass from Xavi on the right side behind half-field, and then megged an opponent and 4 others including the goalie before finishing off with his right foot inside the penalty box.[9] In 2019, Barcelona fans voted it as the best goal in the club's history, receiving 45% of votes.[10] After Ronaldinho left the club at the end of the 2007-08 season, Messi was handed the number 10 shirt. Maybe his most successful season was the 2008–09 season. In this season, Messi scored 38 goals, including one in the Champions League final against Manchester United that Barcelona won 2–0 as part of their treble. In the following 2009–10 season, Messi scored 47 goals in all games. That equals to Ronaldo's (Brazilian) record total for Barcelona. Messi also won his first Ballon d'Or in December 2009, and also won his second a year later. He scored again in the 2011 Champions League final against their same opponent two years earlier, Manchester United. Barcelona won 3-1. Messi won his third Ballon d'Or in a row that year. + +Messi played his first game with the senior team on 17 August 2005 against Hungary. He came on as a substitute. However, he was shown a red card two minutes later for hitting an opponent in the face on accident while Messi was trying to pull the opponent off from his shirt. He was very disappointed by this. Messi scored his first goal for Argentina in a friendly against Croatia on 1 March 2006. Argentina lost the game 3-2.[11] He was selected for the 2006 World Cup by coach José Pekerman. In Argentina's second game against Serbia, he became their youngest player to play at a World Cup. He also assisted a goal scored the last one in the 6–0 victory. That goal made him the youngest goalscorer in the 2006 World Cup. + +Messi won the 2008 Olympics with Argentina as well, as he assisted Ángel Di Maria's goal in the final against Nigeria in Beijing. Messi was made captain of the national team in 2011. He scored his first hat-trick with the country in his 68th appearance during a 3-1 victory against Switzerland in February 2012.[12] + +On 21 June 2016, he broke the top scoring record for Argentina by scoring his 55th goal with a free-kick against the United States in the Copa América Centenario. The record was held by Gabriel Batistuta with 54 goals. +On 26 June, Argentina once again lost to Chile on penalties 4-2 in the Copa América Centenario final after a 0–0 tie. Messi missed his penalty in the penalty shootout. This was Messi's third consecutive defeat in a major tournament final with Argentina, and his fourth overall. A day after the match, Messi announced his retirement from international football. In an emotional interview after the game, he said he was very sad that he missed the penalty and also sad that he wasn't able to win any trophies in four finals.[13][14] + +Return from Retirement +He came out of retirement in October 2016 for the 2018 World Cup qualifiers. + +After a slow start to the 2018 FIFA World Cup, he helped Argentina qualify to the next round of the competition by scoring the first goal in the 2-1 win over Nigeria. + +Personal life +Relationships +Messi has three children with his wife Antonella Roccuzzo. They are named Thiago Messi, Mateo Messi and Ciro Messi. Thiago was born on 2 November 2012, Mateo was born on 11 September 2015 and Ciro was born on 10 March 2018. On the bottom of Messi's cleats is the name of his first son, Thiago. + +Messi and Antonella married in June 2017.[15] + +Charity +When not playing on the field, Messi finds time to do charity work. He started the Leo Messi Foundation in 2007 which helps children in at-risk situations. Messi also opened a kids park for children living in a hospital in Barcelona. + +Tax Issues +In July 2016 he was convicted of tax fraud and sentenced to spend 21 months in prison. Messi was also fined two million Euros.[16] Messi never went to prison, and the problem can be solved with probation. He told the court he "only played football" and didn't know anything because he left his money problems to be dealt with by his father, Jorge Messi. + +Ronaldo (born 18 September 1976) is a Brazilian football player.He has played for Brazil national team. Ronaldo started his career at Cruzeiro and moved to PSV in 1994. He joined Barcelona in 1996 + +Chernobyl or Chornobyl (Ukrainian: Чорнобиль) is a city in northern Ukraine, near the border with Belarus. + +It was a major communications node and important center of trade and commerce, especially in the 19th century. The city is 14.5 kilometers (9 miles) south by south-east of the Chornobyl nuclear power plant, which became known for the Chornobyl disaster. The plant exploded on 26 April 1986; clouds of radioactive particles were released, and the severely damaged containment vessel started leaking radioactive matter. More than 100,000 people were evacuated from the city and other affected areas. Despite the fact that radiation is still being emitted from the nuclear disaster site, the 800-year-old city of Chornobyl survives. As of 2004, government workers still police the zone. They try to clean up radioactive material. Hundreds of people — mostly the elderly — have decided to live with the dangers and have returned to their homes in the zone's towns and villages. Their population was highest in 1987, when there were more than 1200 people. In 2003, there were about 300. There are currently 704 people living in Chornobyl, the houses that have people inside have a sign on the outside saying, Owner of this house lives here. + +Artificial intelligence (AI) [1]is the ability of a computer program or a machine to think and learn. It is also a field of study which tries to make computers "smart". They work on their own without being encoded with commands. John McCarthy came up with the name "Artificial Intelligence" in 1955. + +In general use, the term "artificial intelligence[1]" means a programme which mimics human cognition. At least some of the things we associate with other minds, such as learning and problem solving can be done by computers, though not in the same way as we do.[2] Andreas Kaplan and Michael Haenlein define AI as a system’s ability to correctly interpret external data, to learn from such data, and to use those learnings to achieve specific goals and tasks through flexible adaptation.[3] + +An ideal (perfect) intelligent machine is a flexible agent which perceives its environment and takes actions to maximize its chance of success at some goal or objective.[4] As machines become increasingly capable, mental faculties once thought to require intelligence are removed from the definition. For example, optical character recognition is no longer perceived as an example of "artificial intelligence": it is just a routine technology. + +At present we use the term AI for successfully understanding human speech,[2] competing at a high level in strategic game systems (such as Chess and Go), self-driving cars, and interpreting complex data.[5] Some people also consider AI a danger to humanity if it continues to progress at its current pace.[6] + +An extreme goal of AI research is to create computer programs that can learn, solve problems, and think logically.[7][8] In practice, however, most applications have picked on problems which computers can do well. Searching data bases and doing calculations are things computers do better than people. On the other hand, "perceiving its environment" in any real sense is way beyond present-day computing. + +AI involves many different fields like computer science, mathematics, linguistics, psychology, neuroscience, and philosophy. Eventually researchers hope to create a "general artificial intelligence" which can solve many problems instead of focusing on just one. Researchers are also trying to create creative and emotional AI which can possibly empathize or create art. Many approaches and tools have been tried. + +Borrowing from the management literature, Kaplan and Haenlein classify artificial intelligence into three different types of AI systems: analytical, human-inspired, and humanized artificial intelligence.[3] Analytical AI has only characteristics consistent with cognitive intelligence generating cognitive representation of the world and using learning based on past experience to inform future decisions. Human-inspired AI has elements from cognitive as well as emotional intelligence, understanding, in addition to cognitive elements, also human emotions considering them in their decision making. Humanized AI shows characteristics of all types of competencies (i.e., cognitive, emotional, and social intelligence), able to be self-conscious and self-aware in interactions with others. + +History +Humanoid robots were built by Yan Shi, Hero of Alexandria, and Al-Jazari. Sentient machines became popular in fiction during the 19th and 20th centuries with the stories of Frankenstein and Rossum's Universal Robots. + +Formal logic was developed by ancient Greek philosophers and mathematicians. This study of logic produced the idea of a computer in the 19th and 20th centuries. Mathematician Alan Turing's theory of computation said that any mathematical problem could be solved by processing 1's and 0's. Advances in neurology, information theory, and cybernetics convinced a small group of researchers that an electronic brain was possible. + +AI research really started with a conference at Dartmouth College in 1956. It was a month-long brainstorming session attended by many people with interests in AI. At the conference they wrote programs that were amazing at the time, beating people at checkers or solving word problems. The Department of Defense started giving a lot of money to AI research and labs were created all over the world. + +Unfortunately, researchers really underestimated just how hard some problems were. The tools they had used still did not give computers things like emotions or common sense. Mathematician James Lighthill wrote a report on AI saying that "in no part of the field have discoveries made so far produced the major impact that was then promised".[9] The U.S and British governments wanted to fund more productive projects. Funding for AI research was cut, starting an "AI winter" where little research was done. + +AI research revived in the 1980s because of the popularity of expert systems, which simulated the knowledge of a human expert. By 1985, 1 billion dollars were spent on AI. New, faster computers convinced U.S. and British governments to start funding AI research again. However, the market for Lisp machines collapsed in 1987, and funding was pulled again, starting an even longer AI winter. + +AI revived again in the 90s and early 2000s with its use in data mining and medical diagnosis. This was possible because of faster computers and focusing on solving more specific problems. In 1997, Deep Blue became the first computer program to beat chess world champion Garry Kasparov. Faster computers, advances in deep learning, and access to more data have made AI popular throughout the world.[10] In 2011 IBM Watson beat the top two Jeopardy! players Brad Rutter and Ken Jennings, and in 2016 Google's AlphaGo beat top Go player Lee Sedol 4 out of 5 times. + +Hinduism is not only a religion but also a way of life.[note 1] Hinduism is known to have more than one god and is widely practiced in South Asia mainly in India and Nepal. Hinduism is the oldest religion in the world,[note 2] and Hindus refer to it as Sanātana Dharma, "the eternal tradition," or the "eternal way," beyond human history.[4][5] Scholars regard Hinduism as a combination[6] of different Indian cultures and traditions,[7] with diverse roots.[8][note 3] Hinduism has no founder and origins of Hinduism is unknown.[9]. Hinduism has roots in Indus Valley civilization.[10] There was no concept of religion in India and Hinduism was not a religion. Hinduism as a religion started to develop between 500 BCE and 300 CE,[11] after the Vedic period (1500 BCE to 500 BCE).[11][12] Hinduism contains a wide range of philosophies, and is linked by the concepts, like rituals, cosmology, Texts, and pilgrimage to sacred sites. Hindu texts are divided into Śruti ("heard") and Smṛti ("remembered"). These texts discuss philosophy, mythology, Vedic yajna, Yoga, agamic rituals, and temple building, and many more.[13] Major scriptures in Hinduism include the Vedas and Upanishads, the Bhagavad Gita, and the Agamas.[14][15][16] + +There are 4 goals or aims of human life, namely Dharma (duties), Artha (prosperity), Kama (desires/passions), Moksha (liberation/freedom/salvation);[17][18] karma (action, intent and consequences), Saṃsāra (cycle of rebirth), and the various Yogas (paths or practices to attain moksha).[15][19] Hindu rituals include puja (worship) and recitations, meditation, family-oriented rites of passage, annual festivals, and occasional pilgrimages. Some Hindus leave their social world and become sanyasi to achieve Moksha.[20] Hinduism prescribes the eternal duties, such as honesty, non-violence (ahimsa), patience, self-restraint, and compassion, among others.[21][22] The four largest sects of Hinduism are the Vaishnavism, Shaivism, Shaktism and Smartism.[23] + +Hinduism is the world's third largest religion, There are approximately 1.15 billion Hindus which are 15-16% of the global population.[web 1][24] The vast majority of Hindus live in India, Nepal and Mauritius. Hindus are also found in other countries. + +Etymology +The word Hindu is taken from the Indo-Aryan[27]/Sanskrit[28] word Sapta Sindhu, which is Sanskrit name for the Indus River which lies west of the border of India and Pakistan.[28][note 4] According to Gavin Flood, The word Hindu was used by Persians for the people who live beyond the Indus River,[28] Inscription of Darius I which was written around 550–486 BCE also refer Hindu as the people who live beyond the Indus River.[29] These records didn't refer Hindu as a religion.[28] The earliest record which refer Hindu as religion may be the 7th-century CE Chinese text Record of the Western Regions by Xuanzang,[29] and 14th-century Persian text Futuhu's-salatin by 'Abd al-Malik Isami.[note 5] This is because the name if the religion is called Hinduism, not Hindu. + +The Arabic term al-Hind referred to the people who live across the River Indus.[37] It means "Land of Hindus" which is what it stood for until Muslims started to come into India. + +The term Hindu was later used in some Sanskrit texts such as the later Rajataranginis of Kashmir (Hinduka, c. 1450) and some 16th- to 18th-century Bengali Gaudiya Vaishnava texts including Chaitanya Charitamrita and Chaitanya Bhagavata. These texts used to distinguish Hindus from Muslims who are called Yavanas (foreigners) or Mlecchas (barbarians), with the 16th-century Chaitanya Charitamrita text and the 17th century Bhakta Mala text using the phrase "Hindu dharma".[38] In the end of the 18th century the European merchants and colonists began to call followers of Indian religions collectively as Hindus. The term Hinduism, then spelled Hindooism, was introduced into the English language in the 18th-century to denote the religious, philosophical, and cultural traditions native to India.[39] + +Definitions +Hinduism is diverse on ideas on spirituality and traditions, but has no ecclesiastical order, no unquestionable religious authorities, no governing body, no prophet(s) nor any binding holy book; Hindus can choose to be polytheistic, pantheistic, monotheistic, monistic, agnostic, atheistic or humanist.[40][41][42] Because of the wideness and openness of Hinduism, arriving at a definition is difficult.[28] [43] Hinduism has been defined as a religion, a religious tradition, a set of religious beliefs, and "a way of life."[44][note 1] From a Western point of view, Hinduism like other faiths is referred to as a religion. In India the term dharma is preferred, which is broader than the western term religion. + +The study of India and its cultures and religions, and the definition of "Hinduism", has been shaped by the interests of colonialism and by Western notions of religion.[45] Since the 1990s, those influences and its outcomes have been the topic of debate among scholars of Hinduism,[46][note 6] and have also been taken over by critics of the Western view on India.[47][note 7] + +Beliefs + +Temple wall panel relief sculpture at the Hoysaleswara temple in Halebidu, representing the Trimurti: Brahma, Shiva and Vishnu. +Hindu beliefs include (but are not restricted to) Dharma (ethics/duties), Samsāra (the continuing cycle of birth, life, death and rebirth), Karma (Every action has a reaction), Moksha (liberation from samsara or liberation in this life), and the various Yogas (paths or practices).[19] + +Purusharthas (objectives of human life) +Main article: Purusharthas +See also: Initiation, Dharma, Artha, Kāma, and Mokṣa +Hindism have accepted four proper goals or aims of human life: Dharma, Artha, Kama and Moksha. These are known as the Puruṣārthas:[17][18] + +Dharma (righteousness, ethics) +Dharma is considered one of the most important goal of a human being in Hinduism.[48] Dharma is considered Important because it is dharma which makes running of Universe and life possible,[49] and includes duties, virtues and "right way of living".[50] Hindu Dharma includes the religious duties, moral rights and duties of each individual, as well as behaviors that enable social order, right conduct, and those that are virtuous.[50] The Brihadaranyaka Upanishad states it as: + +Nothing is higher than Dharma. The weak overcomes the stronger by Dharma, as over a king. Truly that Dharma is the Truth (Satya); Therefore, when a man speaks the Truth, they say, "He speaks the Dharma"; and if he speaks Dharma, they say, "He speaks the Truth!" For both are one. + +— Brihadaranyaka Upanishad, 1.4.xiv [51][52] +In the Mahabharata, Krishna says it is Dharma which is holding both this-worldly and other-worldly affairs. (Mbh 12.110.11). The word Sanātana means eternal, perennial, or forever; thus, Sanātana Dharma means that it is the dharma that has neither beginning nor end.[53] + +Artha (livelihood, wealth) +Artha is second goal of life in Hinduism which means pursuit of wealth for livelihood, and economic prosperity. It includes political life, diplomacy and material well-being. The Artha includes all "means of life", activities and resources that enables one to be in a state one wants to be in, wealth, career and financial security.[54] The aim of artha is considered an important aim of human life in Hinduism.[55][56] + +Kāma (sensual pleasure) +Main article: Kama +Kāma (Sanskrit, Pali; Devanagari: काम) means desire, wish, passion, pleasure of the senses, the enjoyment of life, affection, or love, with or without sexual connotations.[57][58] In Hinduism, Kama is considered an important and healthy goal of human life when pursued without sacrificing Dharma, Artha and Moksha.[59] + +Mokṣa (liberation, freedom from samsara) +Main article: Moksha +Moksha (Sanskrit: मोक्ष mokṣa) or mukti (Sanskrit: मुक्ति) is the ultimate, most important goal in Hinduism. In one school Moksha means liberation from sorrow, suffering and saṃsāra (birth-rebirth cycle).[60][61] In other schools of Hinduism, such as monistic, moksha means self-realization,"realizing the whole universe as the Self".[62][63] + +Karma and samsara +Main article: Karma +Karma means action, work, or deed,[64] and also the vedic theory of cause and effect".[65][66] The theory is a combination of (1) causality that may be moral or non-moral; (2) moralization, that is good or bad actions have consequences; and (3) rebirth.[67] Karma theory means ''Whatever experience currently a man have is due to his/her past work''. These actions may be in a person's current life, or, in some schools of Hinduism, actions in their past lives.[67][68] This cycle of birth, life, death and rebirth is called samsara. Liberation from samsara through moksha is believed to ensure lasting happiness and peace.[69][70] Hindu scriptures teach that the future depends on the current action and our past deeds. + +Moksha +The ultimate goal of life,according to Hinduism is moksha, nirvana or samadhi, but is understood in different ways in different schools.For example, Advaita Vedanta says that after attaining moksha a person knows their "soul, self" and identifies it as one with Brahman (Ultimate reality or cause of everything).[71][72] The followers of Dvaita (dualistic) schools,state that after attaining moksha a person identify "soul, self" different from Brahman but very close to Brahman, and after attaining moksha one will spend eternity in a loka (higher planes). According to theistic schools of Hinduism, moksha is liberation from samsara, while for other schools such as the monistic school, moksha is possible in current life and is a psychological concept. + +Concept of God +Main articles: Ishvara and God in Hinduism +Hinduism is diverse and Hinduism include monotheism, polytheism, panentheism, pantheism, pandeism, monism, and atheism among others;[40][73][web 2] Basically it depends on individuals choice and that's why sometimes Hinduism is referred to as henotheistic (i.e., involving devotion to a single god while accepting the existence of others), but any such term is an over generalization.[74] + +Gods and Goddesses in Hinduism +Shiva +Durga +Lakshmi +Vishnu +Hindus believe that all living creatures have a soul. This soul or true "self" of every living being is called the ātman. The soul is believed to be eternal.[75] According to the monistic/pantheistic (non-dualist) theologies of Hinduism (such as Advaita Vedanta school), this Atman is indistinct from Brahman.[76] The goal of life, according to the Advaita school, is to realise that one's soul is identical to supreme soul, that the supreme soul is present in everything and everyone, all life is interconnected and there is oneness in all life.[77][78][79] Dualistic schools (see Dvaita and Bhakti) sees Brahman as a Supreme Being separate from individual souls.[80] They worship the Supreme Being variously as Vishnu, Brahma, Shiva, or Shakti, depending upon the sect. God is called Ishvara, Bhagavan, Parameshwara, Devadu or Devi, and these terms have different meanings in different schools of Hinduism.[81][82][83] Devi is typically used when refereeing to a female goddess. + +[84][85][86] + +The Hindu scriptures refer to celestial entities called Devas (or devī in feminine form; devatā used synonymously for Deva in Hindi), which in English means demi-gods or heavenly beings.[note 8] The devas are an integral part of Hindu culture and are depicted in art, architecture and through icons, and stories about them are related in the scriptures, particularly in Indian epic poetry and the Puranas. They are, however, often distinguished from Ishvara, a personal god, with many Hindus worshipping Ishvara in one of its particular manifestations as their iṣṭa devatā, or chosen ideal.[87][88] The choice is a matter of individual preference,[89] and of regional and family traditions.[89][note 9] The multitude of Devas are considered as manifestations of Brahman.[note 10] + +Main traditions +Main article: Hindu denominations + +A Ganesha-centric Panchayatana ("five deities", from the Smarta tradition): Ganesha (centre) with Shiva (top left), Devi (top right), Vishnu (bottom left) and Surya (bottom right). All these deities also have separate sects dedicated to them. +Hinduism has no central doctrinal authority and Hindus do not claim to belong to any particular sect or tradition.[91] Four major sects in Hinduism are: Vaishnavism, Shaivism, Shaktism and Smarthism.[92][93] + +Vaishnavism is the tradition that worships Vishnu[94] and his avatars, such as Krishna and Rama.[95] The people of this sect are generally non-ascetic, monastic.[96] These practices include community dancing, singing of Kirtans and Bhajans, with sound and music believed by some to have meditative and spiritual powers.[97] + +Shaivism is the tradition that focuses on Shiva. Shaivas are more attracted to ascetic individualism, and it has several sub-schools.[96] Their practices include Bhakti-style devotion but they leaned to philosply such as Advaita and Yoga.[92][97] Some Shaivas worship in temples, but some practice yoga, striving to be one with Shiva within.[98] Shaivas visualize god as half male, half female, as a combination of the male and female principles (Ardhanarishvara). Shaivism is related to Shaktism, wherein Shakti is seen as wife of Shiva.[92] Shaivism is mainly practiced in the Himalayan north from Kashmir to Nepal, and in south India.[99] + +Shaktism focuses on goddess worship of Shakti or Devi as cosmic mother,[96] and it is mainly worshipped in northeastern and eastern states of India such as Assam and Bengal. Devi is depicted as in gentler forms like Parvati, the consort of Shiva; or, as warrior goddesses like Kali and Durga.[100] Community celebrations include festivals, some of which include processions and idol immersion into sea or other water bodies.[101] + +Smartism worship all the major Hindu deities like Shiva, Vishnu, Shakti, Ganesha, Surya and Skanda.[102] The Smarta tradition developed during the (early) Classical Period of Hinduism around the beginning of the Common Era, when Hinduism emerged from the interaction between Brahmanism and local traditions.[103][104] The Smarta tradition is very much same as Advaita Vedanta, and consider Adi Shankara as its founder or reformer, who considered worship of God-with-attributes (saguna Brahman) as a journey towards ultimately realizing God-without-attributes (nirguna Brahman, Atman, Self-knowledge).[105][106] + +Hindu texts +Hindu text are world's oldest and had been written in Sanskrit and Tamil. The oldest Text is Rig Veda which is about 4000 years old.Hindu Texts can be divided in two parts: + +Shruti (what is heard) +Smriti (what is remembered) +Shruti +Shruti or Shruthi (Sanskrit: श्रुति; IAST: Śruti; IPA/Sanskrit: [ʃrut̪i]) in Sanskrit means "that which is heard" These ancient religious texts comprising the central canon of Hinduism includes the four Vedas including its four types of attached texts - the Samhitas, the Brahmanas, the Aranyakas and the early Upanishads + +Smriti +Smriti (Sanskrit: स्मृति, IAST: Smṛti), means "that which is remembered" are a body of Hindu texts. Smriti were the texts which were remembered and were spread through mouth from generation to generation. Smriti includes (the Mahābhārata and Rāmāyana), the Dharmasūtras and Dharmaśāstras (or Smritiśāstras), the Arthasaśāstras, the Purānas, the Kāvya or poetical literature. + +Festivals +There are many Hindu Festivals celebrated throughout the world but mainly in India and Nepal. These festivals include worship, offerings to deities, fasting, rituals, fairs, charity, celebrations, Puja, etc. The festivals mainly celebrate events from Hindu mythology, changes in season, changes in Solar System. Different sects celebrate different festivals but festivals like Diwali, Holi, Shivratri, Raksha Bandhan, Janamashtmi etc. are celebrated by the majority of Hindus. + +History +Periodisation +Hinduism can be divided in following ages + +Prevedic religions (pre-history and Indus Valley Civilisation; until c. 1500 BCE); +Vedic period (c. 1500–500 BCE); +"Second Urbanisation" (c. 500–200 BCE); +Classical Hinduism (c. 200 BCE-1100 CE);[note 20] +Pre-classical Hinduism (c. 200 BCE-300 CE); +"Golden Age" (Gupta Empire) (c. 320–650 CE); +Late-Classical Hinduism - Puranic Hinduism (c. 650–1100 CE); +Islam and sects of Hinduism (c. 1200–1700 CE); +Modern Hinduism (from c. 1800). +Origins + +The Pashupati seal, Indus Valley civilization +The origins of Hinduism are unknown but the earliest traces of Hinduism come from Mesolithic in the sites such as the rock paintings of Bhimbetka rock shelters dating to a period of 30,000 BCE or older,[note 11] as well as neolithic times.[note 12] Some of the religious practices can be considered to have originated in 4000 BCE. Several tribal religions still exist, though their practices may not resemble those of prehistoric religions.[web 3] + +Varna +According to one view, the Varna, which later transformed into caste system during the British rule, shows how strongly many have felt about each person following his or her dharma, or destined path. Many Hindus say it goes against the true meaning of dharma. However, Varna plays a big role in Hindu society. It's later transformation as Caste system by the British rule of India lost favor and became illegal after the independence of India. + +Temples +Puja (worship) takes place in the Mandir (temple). Mandirs vary in size from small village shrines to large buildings, surrounded by walls. People can also visit the Mandir at any time to pray and participate in the bhajans (religious songs). Hindus also worship at home and often have a special room with a shrine to particular gods. + +Temple construction in India started nearly 2000 years ago. The oldest temples that were built of brick and wood no longer exist. Stone later became the preferred material. Temples marked the transition of Hinduism from the Vedic religion of ritual sacrifices to a religion of Bhakti or love and devotion to a personal deity. Temple construction and mode of worship is governed by ancient Sanskrit scriptures called agamas, of which there are several, which deal with individual deities. There are substantial differences in architecture, customs, rituals and traditions in temples in different parts of India. During the ritual consecration of a temple, the presence of the universal all-encompassing Brahman is invoked into the main stone deity of the temple, through ritual, thereby making the deity and the temple sacred and divine + +Alternative cultures of worship +The Bhakti schools +The Bhakti (Devotional) school takes its name from the Hindu term that signifies a blissful, selfless and overwhelming love of God as the beloved Father, Mother, Child, or whatever relationship finds appeal in the devotee's heart. The philosophy of Bhakti seeks to tap into the universal divinity through personal form, which explains the proliferation of so many gods and goddesses in India, often reflecting the singular inclinations of small regions or groups of people. Seen as a form of Yoga, or union, it seeks to dissolve the ego in God, since consciousness of the body and limited mind as self is seen to be a divisive factor in spiritual realization. Essentially, it is God who effects all change, who is the source of all works, who acts through the devotee as love and light. 'Sins' and evil-doings of the devotee are said to fall away of their own accord, the devotee shriven, limitedness even transcended, through the love of God. The Bhakti movements rejuvenated Hinduism through their intense expression of faith and their responsiveness to the emotional and philosophical needs of India. They can rightly be said to have affected the greatest wave of change in Hindu prayer and ritual since ancient times. + +The most popular means of expressing love for God in the Hindu tradition has been through puja, or ritual devotion, frequently using the aid of a murti (statue) in conjunction with the singing or chanting of meditational prayer in the form of mantras. + +Devotional songs called bhajans (written primarily from the 14th-17th centuries), kirtan (praise), and arti (a filtered down form of Vedic fire ritual) are sometimes sung in conjunction with performance of puja. This rather organic system of devotion attempts to aid the individual in connecting with God through symbolic medium. It is said, however, that the bhakta, through a growing connection with God, is eventually able to avoid all external form and is immersed entirely in the bliss of undifferentiated Love in Truth. + +Altogether, bhakti resulted in a mass of devotional literature, music and art that has enriched the world and gave India renewed spiritual impetus, one eschewing unnecessary ritual and artificial social boundaries. See bhakti yoga for more. + +Tantrism +Main article: Tantra +According to the most famous Western Tantrik scholar, Sir John Woodroffe (pseudonym Arthur Avalon): "The Indian Tantras, which are numerous, constitute the Scripture (Shastra) of the Kaliyuga, and as such are the voluminous source of present and practical orthodox 'Hinduism'. The Tantra Shastra is, in fact, and whatever be its historical origin, a development of the Vaidika Karmakanda, promulgated to meet the needs of that age. Shiva says: 'For the benefit of men of the Kali age, men bereft of energy and dependent for existence on the food they eat, the Kaula doctrine, O auspicious one! is given' (Chap. IX., verse 12). To the Tantra we must therefore look if we would understand aright both ritual, yoga, and sadhana of all kinds, as also the general principles of which these practices are but the objective expression." (Introduction to Sir John Woodroffe's translation of "Mahanirvana Tantra.") + +The word "tantra" means "treatise" or "continuum", and is applied to a variety of mystical, occult, medical and scientific works as well as to those which we would now regard as "tantric". Most tantras were written in the late Middle Ages and sprang from Hindu cosmology and Yoga. + +Important symbolism and themes in Hinduism +Ahimsa and the cow +Many Hindus are vegetarians (do not eat meat) because of their respect for life. About 30% of today's Hindu population, especially in orthodox communities in South India, in certain northerly states like Gujarat, and in many Brahmin areas around the subcontinent, are vegetarian. + +Most Hindus who do eat meat do not eat beef. Some do not even use leather products. This is most likely because many Hindus have relied so heavily on the cow for all sorts of dairy products, tilling of fields and fuel for fertiliser that its status as a willing 'caretaker' of humanity grew to identifying it as an almost motherly figure. Thus, while most Hindus do not worship the cow, and rules against eating beef arose long after the Vedas had been written, it still has an honored place in Hindu society. It is said that Krishna is both Govinda (herder of cows) and Gopala (protector of cows), and Shiva's attendant is Nandi, the bull. With the stress on vegetarianism (which is usually followed even by meat-eating Hindus on religious days or special occasions) and the sacred nature of the cow, it is no wonder that most holy cities and areas in India have a ban on selling meat-products and there is a movement among Hindus to ban cow-slaughter not only in specific regions, but in all of India. + +Hindu symbols +Hindus use many symbols and signs. The two most important symbols used by Hindus are the "Aum" and the "Swastika (Hinduism)". + +Forms of worship: murtis and mantras +Contrary to popular belief, practiced Hinduism is neither polytheistic nor strictly monotheistic. The various Hindu gods and avatars that are worshipped by Hindus are understood as different forms of One truth, sometimes seen as beyond a mere god and as a formless Divine Ground (Brahman), akin but not limited to monism, or as one monotheistic principle like Vishnu or Shiva. + +Whether believing in the One source as formless (nirguna brahman, without attributes) or as a personal god (saguna Brahman, with attributes), Hindus understand that the one truth may be seen as different to different people. Hinduism encourages devotees to describe and develop a personal relationship with their chosen deity (ishta devata) in the form of a god or goddess. + +While some censuses hold worshippers of one form or another of Vishnu (known as Vaishnavs) to be at 80% and those of Shiva (called Shaivaites) and Shakti at the remaining 20%, such figures are perhaps misleading. The vast majority of Hindus worship many gods as varicolored forms of the same prism of Truth. Among the most popular are Vishnu (as Krishna or Rama), Shiva, Devi (the Mother as many female deities, such as Lakshmi, Saraswati, Kali and Durga), Ganesha, Skanda and Hanuman. + +Worship of the said deities is often done through the aid of pictures or icons (murti) which are said not to be God themselves but conduits for the devotee's consciousness, markers for the human soul that signify the ineffable and illimitable nature of the love and grandeur of God. They are symbols of the greater principle, representing and are never presumed to be the concept or entity itself. Thus, Hindu image worship is a form of iconolatry, in which the symbols are venerated as putative sigils of divinity, as opposed to idolatry, a charge often levied (erroneously) at Hindus. For more details on this form of worship, see murti. + +Mantra +Hindus use several prayers and group of words. Some group of words are called mantras. These words are said to give the speaker a deeper concentration and understanding, thus coming closer to Brahman. A well known mantra is om or aum. It symbolizes Brahman, and is often the opening word in many prayers. To pronounce a mantra well, you should say it slowly, and in a deep voice. + +Geographic distribution +The nations of India, Mauritius, and Nepal as well as the Indonesian island of Bali have more people who are Hindus than people who are not Hindus.In these nations, specially Nepal and India Hinduism is very popular. These countries also have many Hindus: + +Bangladesh (12 million), +Sri Lanka (2.5 million), +the United States (2.0 million) +Pakistan (3.3 million), +South Africa (1.2 million), +the United Kingdom (1.2 million), +Malaysia (1.1 million), +Canada (0.7 million), +Fiji (0.5 million), +Trinidad and Tobago (0.5 million), +Guyana (0.4 million), +the Netherlands (0.4 million), +Singapore (0.3 million) +Myanmar (0.3 million), +Suriname (0.2 million), +Australia (0.1 Million). +There are also strong Hindu communities in the countries of the ex-Soviet Union, especially in Russia and Poland. The Indonesian islands of Java, Sulawesi, Sumatra, and Borneo also have big native Hindu populations. In its Yoga stream, Hinduism is even more widespread all over the world with 30 million (less than one percent can not be 30 million for US population) Hindus in the United States alone. + +== Introduction == +The Messi–Ronaldo rivalry is an association football rivalry between Argentine forward Lionel Messi and Portuguese forward Cristiano Ronaldo. Having won a combined eleven Ballon d'Or/FIFA Ballon d'Or awards (six for Messi and five for Ronaldo) and ten European Golden Shoe awards (six for Messi and four for Ronaldo), both are widely regarded as two of the greatest players of all time. They are two of the most decorated football players ever, having won a combined 66 trophies (Ronaldo 32, Messi 34) during their senior careers thus far, and have regularly broken the 50-goal barrier in a single season. They are amongst the 51 players in the history of the sport to score over 500 career goals, with both having scored over 700 goals each in their careers for club and country. Ronaldo currently holds the world record for most official goals in a career, while Messi has the superior goals-to-games ratio (0.81, to Ronaldo's 0.73).Journalists and pundits regularly argue the individual merits of both players in an attempt to establish who they believe is the best attacker in modern football or ever. Regardless of preference, football critics generally agree that both are the greatest players of their generation, outperforming their peers numerically, largely by a significant margin. Messi's combination of dribbling, technical, playmaking, and goalscoring skills is often considered among the very best in history, while Ronaldo's physical attributes, goalscoring skills, leadership and influence under pressure is well-appreciated worldwide. It has been compared to past global sports rivalries such as the Magic Johnson-Larry Bird rivalry in basketball, the Muhammad Ali–Joe Frazier rivalry in boxing, the Roger Federer–Rafael Nadal rivalry and the Björn Borg–John McEnroe rivalry in tennis, and the Alain Prost–Ayrton Senna rivalry in Formula One motor racing. Some commentators choose to analyse the differing physiques and playing styles of the two, while part of the debate revolves around the contrasting personalities of the two players; Ronaldo is often described as someone of temperamental character while Messi is considered to have a more reserved character.At club level, Messi and Ronaldo represented rivals FC Barcelona and Real Madrid CF for nearly a decade. The two players faced each other at least twice every season in the world's most popular regular-season club game, El Clásico (among the most viewed annual sporting events), from Ronaldo's arrival at Madrid in 2009 until his transfer to Italian club Juventus F.C. in 2018. Off the field, they are also the face of two rival sportswear manufacturers, Messi of Adidas and Ronaldo of Nike, which are also the kit suppliers of their national teams and the opposite for their clubs. The two highest-paid players in football, Messi and Ronaldo are among the world's best-paid sports stars in combined income from salaries, bonuses and off-field earnings. In 2018, Messi topped Ronaldo on the Forbes' list of highest-paid sportspeople, earning $111 million, with Ronaldo next on the list at $108 million. + +--- + +== History == +In 2007, Ronaldo and Messi finished as runners-up to A.C. Milan's Kaká in both the Ballon d'Or, an award rewarded to the player voted as the best in the world by an international panel of sports journalists; and the FIFA World Player of the Year, an award voted for by coaches and captains of international teams. In an interview that year, Messi was quoted as saying that "Cristiano Ronaldo is an extraordinary player and it would be brilliant to be in the same team as him."They first played in a game against each other when Manchester United were drawn to play Barcelona in the 2007–08 UEFA Champions League semi-finals and were immediately pitted as major rivals. Ronaldo missed a penalty in the first leg, but United eventually advanced to the final via a Paul Scholes goal. At the end of the year, Ronaldo was awarded the Ballon d'Or and vowed that he would win the award again.The 2009 UEFA Champions League Final was contested between Manchester United and Barcelona on 27 May 2009 at the Stadio Olimpico in Rome, Italy. The match, described as a "dream clash", was again hyped as the latest battle between the two, this time to settle who was the best player in the world; Ronaldo claimed he was the better of the two, while Messi's club-mate Xavi sided with him. Manchester United manager Alex Ferguson was more diplomatic, praising both players as being amongst the world's elite talents. Messi, playing in a central role he was unaccustomed to so he would avoid a direct battle with Manchester United left-back Patrice Evra, scored Barcelona's second in a 2–0 victory with a header in the 70th minute. Meanwhile, Ronaldo was subdued for much of the game, despite some early chances to score, and his frustration eventually showed when he was booked for a rash tackle on Carles Puyol.From 2009 to 2018, the two played against each other at least twice per season during El Clásico matches but also met many other times competitions such as the Copa del Rey, the Supercopa de España, and, a two-legged Champions League semifinal in 2011. Messi won four consecutive Ballon d'Or awards (2009 to 2012), with a fifth coming in 2015, while Ronaldo had equalled Messi's total of five with wins in 2013, 2014, 2016, and 2017. In 2019, Messi took the lead again by earning his sixth Ballon d'Or, finishing just seven points ahead of second-placed Virgil van Dijk, with Ronaldo finishing third. In total, Messi and Ronaldo reached the podium a record twelve times each. Messi won two Champions League while Ronaldo was playing for Real Madrid, with the latter securing four out of five titles between 2014 and 2018. Messi during this period won five Pichichi trophies and European Golden Shoe awards (2010, 2012, 2013, 2017 and 2018), while Ronaldo won these prizes thrice each (2011, 2014 and 2015). From 2009 to 2018, Ronaldo was the Champions League top scorer on six occasions, with Messi achieving this feat four times (including in 2015 when the pair finished joint-top). + +--- + +== Relationship between Messi and Ronaldo == +In a 2015 interview, Ronaldo commented on the rivalry by saying: "I think we push each other sometimes in the competition, this is why the competition is so high." Alex Ferguson, Ronaldo's manager during his time at Manchester United, opined: "I don't think the rivalry against each other bothers them. I think they have their own personal pride in terms of wanting to be the best." Messi has denied any rivalry, and blames the media for creating it, stating that "only the media, the press, who wants us to be at loggerheads but I've never fought with Cristiano."It is widely argued and documented that there is an atmosphere of competition between the duo, with Guillem Balagué claiming in the book Ronaldo that he refers to his Argentine counterpart as a "motherfucker" behind his back, and Luca Caioli saying in his book Ronaldo: The Obsession for Perfection that, according to his sources, Ronaldo heats up when watching Messi play. In response to claims that he and Messi do not get on well on a personal level, Ronaldo commented: "We don't have a relationship outside the world of football, just as we don't with a lot of other players", before adding that in years to come he hopes they can laugh about it together, stating: "We have to look on this rivalry with a positive spirit, because it's a good thing." On 13 November 2014, Ronaldo also threatened to take legal action over the remarks made by Balagué. After Ronaldo's departure from Real Madrid to Juventus, Messi admitted to missing him, saying: "I miss Cristiano. Although it was a bit difficult to see him win trophies, he gave La Liga prestige." During a joint interview at the UEFA Player of the Year ceremony in 2019, Ronaldo said he would like to "have dinner together in the future", to which Messi later replied: "If I get an invitation, why not?" + +--- + +== Awards and records == +Throughout the existence of the rivalry, the pair have dominated awards ceremonies and broken a multitude of goalscoring records for both club and country, feats which have been described as "incredible", "ridiculous", and "remarkable", respectively. The rivalry itself has been described as one about records and reputation of the players, rather than one based in loathing.Messi is the all-time La Liga top scorer, as well as having the most goal contributions (goals + assists) in the history of the top European leagues, with comfortably over 1,000 totals; meanwhile, Ronaldo places second for goals scored and in third for assists provided, whilst being the UEFA Champions League all-time top goalscorer and assist provider, with Messi in second for both goals scored and assists provided in the competition's history, although once more having a superior ratio of goal contributions to games. Messi also holds both the most goals in a season (73), and second most assists in a season (34), just one behind midfielder Juan Mata's record. He is the outright holder of most goal contributions in a season, with 107 in 2011–12. The two had broken each other's record over the course of 2015 after Messi surpassed the previous record holder Raúl in November 2014. Ronaldo opened a gap in the 2015–16 season when he became the first player to score double figures in the group stage of the Champions League, setting the record at 11 goals. They are the first two players to score 100 goals in UEFA Champions League history.They dominated the Ballon d'Or/The Best FIFA Men's Player awards since 2008, and UEFA Men's Player of the Year Award since 2014; in 2018, their roughly decade-long triumph was ended by Luka Modrić, seen as "the end of an era." In an interview for the France Football, Modrić stated that "history will say that a Croatian player, representing his small country, won the Ballon d'Or after Cristiano Ronaldo and Lionel Messi, who are players at another level. Nobody has the right to compare themselves to them." Since 2008, Messi has won six Ballons d'Or to Ronaldo's five, six FIFA World's Best Player awards to Ronaldo's five, and six European Golden Shoes to Ronaldo's four.Collectively, Ronaldo has won 32 major trophies including seven league titles and five Champions Leagues, and guided Portugal to their first trophies UEFA Euro 2016 and the 2019 UEFA Nations League. He has also won four national cups, two league cups, six national super cups, two European Super Cups, and four FIFA Club World Cups.Messi has won a club record 34 major trophies as a Barcelona player, including ten league titles, four Champions Leagues, seven Copa del Rey titles, seven Spanish Super Cups, three European Super Cups, and three FIFA Club World Cups. As for youth competitions, Messi won a gold medal at the 2008 Olympic Games held in China, and he had previously won the FIFA U-20 World Cup in 2005, being elected best player and top scorer of the tournament. Moreover, Messi was runner-up at three Copa Américas and at the 2014 World Cup, before finally claiming his first major international trophy at the 2021 Copa América where he was named joint-best player and top scorer. + +--- + +== Head-to-head == +In past years, it had been said that the rivalry between Real Madrid and Barcelona has been "encapsulated" by the individual rivalry between Ronaldo and Messi, with there never being a goalless El Clásico between the two. + +== Introduction == + +The Messi-Ronaldo rivalry is a football rivalry between two very good football players: Cristiano Ronaldo and Lionel Messi. Many people think that both Messi and Ronaldo are the best players in the world today. Both have won the Ballon d'Or many times, six for Messi and five for Ronaldo, as well as many other awards, such as the European Golden Shoe. They are two of the most successful football players ever, having won a combined 66 trophies. Messi has won 34 trophies in his senior career, and Ronaldo has won 32 trophies in his senior career. They are the only two players in the history of the sport to score 500 or more goals in a single season. They have both scored over 700 goals in their careers. Ronaldo currently holds the world record for most official goals in a career, while Messi has the superior goals-to-games ratio (0.81, to Ronaldo's 0.73). Many people think that Ronaldo is the best player in the world today, while some people think that Messi is the best player ever. No matter what people think, football people generally agree that both are the greatest players of their time. Many people think they are the best players of their time. Messi's combination of dribbling, technical, playmaking, and goalscoring skills is often considered among the very best in history, while Ronaldo's leadership and influence under pressure is well-appreciated worldwide. It has been compared to past global sports rivalries such as the Muhammad Ali-Joe Frazier rivalry in boxing, the Alain Prost-Ayrton Senna rivalry in Formula One motor racing, the Björn Borg-John McEnroe rivalry in tennis, and the Roger Federer-Rafael Nadal rivalry in tennis. Some commentators choose to analyse the differing physiques and playing styles of the two, while part of the debate revolves around the contrasting personalities of the two players; Messi is often described as a player with a strong personality, while Ronaldo is considered to have a more reserved character. The two players play against each other at least twice every season in the world's most popular regular-season club game, El Clásico. Since Ronaldo joined Madrid in 2009, they have played against each other at least twice every season. in 2018. Off the field, they are also the face of two rival sportswear manufacturers, Adidas and Nike. Adidas and Nike both supply the national teams of both Messi and Ronaldo. The two highest-paid players in football, Messi and Ronaldo are among the world's best-paid sports stars. They both make a lot of money from their jobs. In 2018, Messi made $111 million on the Forbes list of the world's most paid sportspeople. Ronaldo made $108 million on the list. + +== History == + +In 2007, Ronaldo and Messi finished as runners-up to A.C. Milan's Kaká in both the Ballon d'Or and the FIFA World Player of the Year. The Ballon d'Or is an award given to the best player in the world by an international group of sports journalists. In an interview that year, Messi said that he would like to play with Ronaldo. He said that "Cristiano Ronaldo is an extraordinary player. They first played against each other when Manchester United were playing Barcelona in the UEFA Champions League in 2007. They played against each other for the first time in this game. In the first leg, Ronaldo missed a penalty. In the end, Paul Scholes scored United's goal. At the end of the year, Ronaldo was awarded the Ballon d'Or and said that he would win the award again. The 2009 UEFA Champions League Final was played on May 27, 2009 at the Stadio Olimpico in Rome, Italy. The match, described as a "dream clash", was again hyped as the latest battle between the two, with Messi's club-mate Xavi saying that Ronaldo was the better player, while Ronaldo said that he was the best player in the world. Manchester United manager Alex Ferguson thought that both players were very good. He said that they were the best in the world. Messi, playing in a central role so he would not have to fight with Manchester United left-back Patrice Evra, scored Barcelona's second goal in a 2-0 victory. He scored the goal in the 70th minute. Meanwhile, Ronaldo was subdued for much of the game, despite some early chances to score, and his frustration eventually showed when he was booked for a rash tackle on Carles Puyol. The two have played against each other at least twice a season since the beginning of the 2009\/10 season, including a two-legged Champions League semifinal in 2011. Messi has won the Ballon d'Or four times in a row (2009 to 2012), while Ronaldo has won it five times. Ronaldo won the award in 2013, 2014, 2016, and 2017. In 2019, Messi took the lead again by earning his sixth Ballon d'Or. He finished just seven points ahead of second-placed Virgil van Dijk, with Ronaldo third. In total, Messi and Ronaldo have both won the World Cup twelve times. While Ronaldo was playing for Real Madrid, Messi won two Champions League games. Real Madrid have won four out of five titles since 2014. During this time, Messi has won five Pichichi trophies and three European Golden Shoe awards. Ronaldo has won these awards three times, once each in 2011, 2014 and 2015. From 2009 to 2018, Ronaldo has scored more goals in the Champions League than Messi four times. In 2015, the two players finished as the top scorers together. + +== Relationship between Messi and Ronaldo == + +In a 2015 interview, Ronaldo talked about the rivalry. He said: "Sometimes we push each other a little bit, that's why the competition is so good. Alex Ferguson, who managed Ronaldo when he was at Manchester United, said that he does not care about the other players. I think they have their own personal pride. They want to be the best at it." Messi has denied any rivalry, and blames the media for creating it. He said that "only the media, the press, wants us to be at loggerheads (not playing against each other). "It is widely argued and documented that there is an atmosphere of competition between the duo, with Luca Caioli saying in his book Ronaldo: The Obsession for Perfection that, according to his sources, Ronaldo heats up when watching Messi play, and Guillem Balagué claiming in the book that he refers to his Argentine counterpart as a "motherfucker" behind his back. He has said that he and Messi do not get on well on a personal level, and that they do not have a good relationship outside of football. He said that they do not have a good relationship with a lot of other players, and that in years to come he hopes they can laugh about it together. On 13 November 2014, Ronaldo also said that he would take legal action against Balagué. After Ronaldo left Real Madrid to join Juventus, Messi said that he "missed" him, "I miss Cristiano". It was a little hard for him to win trophies, but he gave La Liga importance." During a joint interview at the UEFA Player of the Year ceremony in 2019, Ronaldo said he would like to "have dinner together in the future", to which Messi said: "If I get an invitation, why not?" + +== Awards and records == + +Throughout the existence of the rivalry, the pair have dominated awards ceremonies and broken many goalscoring records for both club and country. People have said that they are both "incredible" and "remarkable" for having scored so many goals. Messi is the all-time La Liga top scorer, as well as having the most goal contributions (goals + assists) in the history of the top European leagues, while being the UEFA Champions League all-time top goalscorer and assist provider. Ronaldo is the UEFA Champions League all-time top goalscorer and assist provider, with Messi in second for both goals scored and assists provided in the competition's history, although once more having a superior ratio of goal contributions to games. Messi also holds the record for most goals in a season with 73. He also holds the record for most assists with 34. He has scored the most goals in a single season with 107 in the 2011 â "12 season. The two had broken each other's record over the course of 2015. In November 2014, Messi beat the previous record holder. In the 2015/16 season, he became the first player in history to score double figures in the Champions League group stage, setting the record at 11 goals. They are the first two players to score 100 goals in UEFA Champions League history. They have won the Ballon d'Or/The Best FIFA Men's Player awards since 2008, and UEFA Men's Player of the Year Award since 2014; Luka Modrić won the award for the first time in his career in 2018. In an interview for the France Football, Modrić said that "history will say that a Croatian player, representing his small country, won the Ballon d'Or after Lionel Messi and Cristiano Ronaldo. No one should compare themselves to them." Since 2008, Messi has won six Ballons d'Or to Ronaldo's five, six FIFA World's Best Player awards to Ronaldo's five, and six European Golden Shoes to Ronaldo's four. In that time, Messi has won seven league titles and five Champions Leagues, while Ronaldo has won seven league titles and five Champions Leagues. Messi has won a club record 34 major trophies as a Barcelona player, including ten league titles, four Champions Leagues, seven Copa del Rey titles, seven Spanish Super Cups, three European Super Cups, and three FIFA Club World Cups. He has also won four national cups, two league cups, six national super cups, and four FIFA Club World Cups. In 2008, Messi won a gold medal at the Olympic Games held in China, and in 2005, he won the FIFA U-20 World Cup. Messi was the best player at the 2008 Olympic Games, and he won the FIFA U-20 World Cup. In addition, Messi was runner-up at three Copa Américas and at the 2014 World Cup. At the 2021 Copa América, Messi was named joint-best player and top scorer, and he won his first major international trophy. + +== Head-to-head == + +In past years, it had been said that the rivalry between Real Madrid and Barcelona is the best in the world. This is because Messi and Ronaldo have always played against each other in El Clásico. From 20d81e411fb141811d0712685dbb8e1868c9f828 Mon Sep 17 00:00:00 2001 From: Rishav Bikarwar Date: Tue, 17 Aug 2021 16:24:34 +0530 Subject: [PATCH 05/11] Update train_muss.ipynb --- Final model/Team_4/train_muss.ipynb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Final model/Team_4/train_muss.ipynb b/Final model/Team_4/train_muss.ipynb index dede765..fd897e0 100644 --- a/Final model/Team_4/train_muss.ipynb +++ b/Final model/Team_4/train_muss.ipynb @@ -78,13 +78,13 @@ "* adjacent sentences -> sequences with max character = 300\n", "* filter sequences: remove those having >= 10% puctutation characters or low language model probability according to a 3-gram Kneser-Ney language model trained with kenlm on Wikipedia\n", "\n", - "

 

\n", + "

 

\n", "\n", ">**b) Creating a Sequence Index using Embeddings**\n", "\n", "* extracted sequence (1 billion) -> 1024-dimensional embeddings using LASER (reduced to 512 by using PCA followed by random rotation)\n", "\n", - "

 \n", + "

 

\n", "\n", ">**c) Mining paraphrases**\n", "\n", @@ -95,7 +95,7 @@ " - remove pp coming from same document\n", " - remove pp where one sqeuence is contained in other\n", "\n", - "

 

\n", + "

 

\n", "\n", "####**2. Simplifying with ACCESS**\n", "\n", @@ -1698,4 +1698,4 @@ ] } ] -} \ No newline at end of file +} From a27f2e19cb489031095d0c55be87dc4f5c11b876 Mon Sep 17 00:00:00 2001 From: Rishav Bikarwar Date: Tue, 17 Aug 2021 16:25:53 +0530 Subject: [PATCH 06/11] Update train_muss.ipynb --- Final model/Team_4/train_muss.ipynb | 3 --- 1 file changed, 3 deletions(-) diff --git a/Final model/Team_4/train_muss.ipynb b/Final model/Team_4/train_muss.ipynb index fd897e0..45e2730 100644 --- a/Final model/Team_4/train_muss.ipynb +++ b/Final model/Team_4/train_muss.ipynb @@ -84,7 +84,6 @@ "\n", "* extracted sequence (1 billion) -> 1024-dimensional embeddings using LASER (reduced to 512 by using PCA followed by random rotation)\n", "\n", - "

 

\n", "\n", ">**c) Mining paraphrases**\n", "\n", @@ -95,7 +94,6 @@ " - remove pp coming from same document\n", " - remove pp where one sqeuence is contained in other\n", "\n", - "

 

\n", "\n", "####**2. Simplifying with ACCESS**\n", "\n", @@ -117,7 +115,6 @@ "- Shorter sentences are more adapted to people with cognitive disabilities, while using more frequent words are useful to second language learners.\n", "- Choose these hyperparameters based on SARI score on validation set or by using prior knowledge based on target audience.\n", "\n", - "

 \n", "\n", "####**3. Leveraging Unsupervised Pretraining**\n", "\n", From 7d216e0a1d9c2040c064d0ba1ad5c356c6cf4fcd Mon Sep 17 00:00:00 2001 From: Rishav Bikarwar Date: Tue, 17 Aug 2021 16:26:28 +0530 Subject: [PATCH 07/11] Update train_muss.ipynb --- Final model/Team_4/train_muss.ipynb | 1 - 1 file changed, 1 deletion(-) diff --git a/Final model/Team_4/train_muss.ipynb b/Final model/Team_4/train_muss.ipynb index 45e2730..b16c017 100644 --- a/Final model/Team_4/train_muss.ipynb +++ b/Final model/Team_4/train_muss.ipynb @@ -78,7 +78,6 @@ "* adjacent sentences -> sequences with max character = 300\n", "* filter sequences: remove those having >= 10% puctutation characters or low language model probability according to a 3-gram Kneser-Ney language model trained with kenlm on Wikipedia\n", "\n", - "

 

\n", "\n", ">**b) Creating a Sequence Index using Embeddings**\n", "\n", From 8c9fd12173754e0682c386f99f165b0999582727 Mon Sep 17 00:00:00 2001 From: Rishav Bikarwar Date: Wed, 18 Aug 2021 14:15:45 +0530 Subject: [PATCH 08/11] Add project report --- Final model/Team_4/T4-Project_Report.pdf | Bin 0 -> 274844 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Final model/Team_4/T4-Project_Report.pdf diff --git a/Final model/Team_4/T4-Project_Report.pdf b/Final model/Team_4/T4-Project_Report.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b63cb32ffdce9d303bd4cf4c82466d1b20ea9294 GIT binary patch literal 274844 zcmdSA1yo#1(>96*3l==V-3NDfch?|;1q%!wG`PD2cMq1}5Zpp=g1dy^?s6xblXH^q zJ?|&~|J}RRWesc3-n(~qRXttZHBZ&1P!f}1U}oe*Mx^)%{zFD&CT1eGGqyrTs9d(IWe>_FZ!u5DyeUyWkmF>rw zKJl-e{b=_uoq-hu4-fiNLlvN-os$Dt7_j^jcDA4&2WDdSAAJENScsYbP*Q@GnEA1P zfCL*c^B?L+uoE*sN&t}HAZGbtPOu^XaaWL}D#!=~1a~B<%FILz{`}|*{GFK?{Q0Am zl7pRzDiEX#0HXp>1G<6$(l%hTi~MmA{o^40Lm7aut*sphtTW4FKg2ALgA=nn8cv@W zY-LkRBN01SU2xA##O&Pcj9`0ku`x4pvw-i4f;9r`>PY;D@RAO8PWE8I9`SxW0jL7h z9E@xo?SI(B#0?;-3J?Q2Tbck>Bt^i3s~H(Pf}8w-{2z96Bxd^6#6LRzX<`XWYY@-@ zAYlzwUkqqsX9@(!0d37e7R2n#?5sbYas)X5jckw+UDLYtbsgvGW4#pB@1Y6HRhff` zAq>n4^%8c{tZjydB0V`!S#N|sg9bzBZ=ylZ9&W}BMe|HUqJelL3hENowhI<)*NezU z<94e_hF;gF=WD#^nQ6hC2aBQJEpN~zneRWJ$c1VpcZkuVHzX>@1Q)npt)47(-EM?& znga}PPlZFp!fHMz0S-sCq)0wS9;=!1gynHH6%60H)0!ORcOTH^cH!K_>bZTNN&?(p zQbfu-AA7Iv3L3V$Dhl2S0u1@^uu>$&uhCw_Nmy3Y}@=OV1GK5sgZU>n!wb6?g;Gc+C+7Nk&6knWIQ7Oe{kXvmWtQ3_K zI3L}Q>yl`Y*Ul>%Q|-i0P)5qNdh$yeR}-X|3Yx}8vxH7X`l%=jn+qnQEnsJpe-XpC zjCe4&BzXrgskk31YHh&zG_|MB%`Capm3sY(J7&8m1%D^^;FPUOu{%>TZg;DUwgQ%a zyT6L(+L82-n6f(t?G}$&S~4TD_0v?6#FF7%o}qn|m*uCpW5CoC>EfJlTsr9-u59R3 zac*zwZveylh<3g^xyYmNL0>t@yFWGFP!Kka z_K=EhPUY!>{PFf38nZ5%v}wG}^3l?_E)#Fx2Rh?OnhX#I9?>Kh*^)iz@OpUIIE6Wn z+;Vx)cl-nwWDOv1CmF(rn;K1NbZdpd4Um-?MyM;#u6r+Rg8xlh{-LQkb6qkA`sno= zx(D2iK;T$5ydo)yqwkHLce$N(i8_uJk917|S!`eK_cE&%6A@!lnb5Zke9~dmPQEt= zE}A(T9}UKjboagV^@Rq!-;T7Bj0!N2^pUih14R$!YiLx50F;4P-m*GR3qQV7q~mbZ zxiy=bm*+j88`H+dVq}KGd@;-35m3*G1)h#u9_FnkBPmp6wzDn!ueV7 zmt^)^9$)_4+8H-r;f?0ks@o*=+R#YAg%Q&R#?6CNw+EC4xcm1ygQ+E%O4AX z4@agPn-^S8>#D>!d=25s!!lDFkf^b$B@Q=N*-}1Gp}uB#Pc7;!w9>J`?AYd7Co7ko z%jd>ITI?+rOrzFXjDKkziVYWwDH?Dxn7GgVp#aOjCUlYE1#Ub0{RM1?V=-S=sF35_ zE7KyvP!n(kC`que48R_g71J%ABPGVXihrOBCZK!`#Jp8w=SOaKhMgAscsClpTNgbT^65V-*3?_Lzr%=&@c%}9^> zo}kxRVHWNA=(}#nvIaE?w-pf*|Cti9y?Ly%5B|P(^4_&@UF8pCNH%nk|Fmmn+GyrufHbOK@;EJ7dI#Q0ba3!N&HjW)j{`OE*fwCzGFg^G|Rg zk>G&02mV9qdFj?|tJ9wrELL5S4q(IDa4T=kaJRk&`c6BUco{a@IQeARKFcpg!g_#Y zO36E1!#@;(DL*N)2UMWy0Q9w;T{RidJwDja-exjNFZHEwUAYthV=d83^J z70hRj)A2tA#6HHIw7c-VbpGx-q;~v^goT=7FdHgv6C?+GV9?3;<19r;$^n_q;Q%AL)5l| z5xU|p9akSl7>~D_%3a41j}0{o*)2!pqdZdB3dXrE%CZ%dt23Rsl$M>*XPkggd^+h=`6Gy9+ zN#({0(-!KSe9%h!Nz?IdFWBkbzs0CZbZ_^nWmV z^1UPLE;T5&?2OOJ7X|%hU8@v&5vYnn)uPkSeJM%CO25!EdWotV!L6(Fy?vVv9~UHV z!@z{Hz9l3fk>falL}-12L8hF$>tpWt6tem=P3T8_A?OLpf^O`b^LB*l@|Zf^W3DMU zP0utUMir;mRXPvYSq{vceJA_1cd6J(4`br#T}&dG;UN#R;sk|T^sgrv-vEXxvtVgR=VF%TbAgc4*%-GPK2%%;4O=Lqq-M9ZBZd`O0(Pp|$fTxOs5d%f?N zmb0A^_Y=eLh`D zW}pDw73Fx&*Zb1(nLtdMKdP`@oI^0^&CGcAp)p?YGGZmsJvz;4qk#(%OV9w3HFN~7 ztAUth$&oV)XyCdgQ7v1kjoVq`J=fPI4ThA)U`voS2ZD34?0Loh4dZ>PlA8#edm6kQ zH0B3W?rKz&A`%^DllnsxS98r>sl}SS`t@g*5CR&pVl0l?Xl=culkfA93|!3l>3!J@ z(Yrcg`i!~S9_gU{x5no{ycepT>Kg7hmMywNOpr0Zdy((?W z8a*?(F(u!S+$HZ@#X}-yqKqmG-i3@& ziV{tkavsXq#Ts#Mr}1U&S~XXV3X&pU^SX7d$@8ID7g2tG&DOAUlzu$jn+cyO4eJ;0 z z4bzN_VVr#Wou8>c1L%t|Q?m2+v%B1?G1|wNL8GqHJTzRWM1Y^iPQ~o>BAfz#e9gD? z0_H(e>*>{boEpWn%MS_8_c7ymEOH)X7tLzd)DlnP*v}=llrv5YAsQ?1G6wHFu#K!c z{Xv$s#j=8-&dhv5b7HMrpKwGY6x0p)25&qxsfxv-JACI!-OIA�<>_3RY{-q$O*D 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̻id^kbpkc?iCqDD>jIeFnx`{tMsc;O9!K>@AU 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 Date: Tue, 5 Jul 2022 14:25:02 +0530 Subject: [PATCH 09/11] Remove unnecesary files --- Assignment-3/Assignment_3_Team_5.ipynb | 111 - Assignment-3/WEEK-2 Submission by TEAM 3 | 190 -- Assignment-3/assignment_3_Team_1.ipynb | 250 -- Assignment-3/team2 (2).ipynb | 62 - Assignment-5/Report.md | 50 - Assignment-5/assignment-architecture.png | Bin 42468 -> 0 bytes Assignment_1_and_2/Assignment_1_Team_5.ipynb | 197 -- .../Assignment_1_and_2_(WEEK_1)_.ipynb | 1022 ------ Assignment_1_and_2/Assignment_2_Team_5.ipynb | 416 --- .../Team2_Wikipedia_simplifier.ipynb | 863 ------ .../Team_1_Wikipedia_simplifier.ipynb | 454 --- {Assignment-3 => Assignment_3}/README.md | 0 .../T4-Assignment_3.ipynb | 0 Assignment_4/Assignment-4_Team-5.ipynb | 277 -- Assignment_4/Team_1_Assignment_4.ipynb | 2736 ----------------- ...roject_Report.pdf => T4-Project_Report.pdf | Bin 16 files changed, 6628 deletions(-) delete mode 100644 Assignment-3/Assignment_3_Team_5.ipynb delete mode 100644 Assignment-3/WEEK-2 Submission by TEAM 3 delete mode 100644 Assignment-3/assignment_3_Team_1.ipynb delete mode 100644 Assignment-3/team2 (2).ipynb delete mode 100644 Assignment-5/Report.md delete mode 100644 Assignment-5/assignment-architecture.png delete mode 100644 Assignment_1_and_2/Assignment_1_Team_5.ipynb delete mode 100644 Assignment_1_and_2/Assignment_1_and_2_(WEEK_1)_.ipynb delete mode 100644 Assignment_1_and_2/Assignment_2_Team_5.ipynb delete mode 100644 Assignment_1_and_2/Team2_Wikipedia_simplifier.ipynb delete mode 100644 Assignment_1_and_2/Team_1_Wikipedia_simplifier.ipynb rename {Assignment-3 => Assignment_3}/README.md (100%) rename {Assignment-3 => Assignment_3}/T4-Assignment_3.ipynb (100%) delete mode 100644 Assignment_4/Assignment-4_Team-5.ipynb delete mode 100644 Assignment_4/Team_1_Assignment_4.ipynb rename Final model/Team_4/T4-Project_Report.pdf => T4-Project_Report.pdf (100%) diff --git a/Assignment-3/Assignment_3_Team_5.ipynb b/Assignment-3/Assignment_3_Team_5.ipynb deleted file mode 100644 index 9c6277a..0000000 --- a/Assignment-3/Assignment_3_Team_5.ipynb +++ /dev/null @@ -1,111 +0,0 @@ -{ - "nbformat": 4, - "nbformat_minor": 0, - "metadata": { - "colab": { - "name": "Assignment-3_Team-5.ipynb", - "provenance": [], - "collapsed_sections": [], - "include_colab_link": true - }, - "kernelspec": { - "name": "python3", - "display_name": "Python 3" - }, - "language_info": { - "name": "python" - } - }, - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "id": "view-in-github", - "colab_type": "text" - }, - "source": [ - "\"Open" - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "X2CQg6VH856T", - "colab": { - "base_uri": "https://localhost:8080/" - }, - "outputId": "843ae1bf-2d27-4eba-a68e-46e6535d2e17" - }, - "source": [ - "import numpy as np\n", - "import random\n", - "rate=0.1\n", - "def relu(x):\n", - " return x * (x > 0)\n", - "\n", - "def drelu(x):\n", - " return 1. * (x > 0)\n", - "\n", - "def sigmoid(A):\n", - " A=1/np.float128((1+np.exp(-A)))\n", - " return A\n", - "\n", - "Wset=[0]\n", - "Bset=[0]\n", - "layers=20 #####change the layers here\n", - "nodes=20 #####change the nodes here\n", - "Wset.append(np.random.rand(nodes,2)*0.1)\n", - "Bset.append(np.random.rand(nodes,1)*0.1)\n", - "for i in range(layers-2):\n", - " Wset.append(np.random.rand(nodes,nodes)*0.1)\n", - " Bset.append(np.random.rand(nodes,1)*0.1)\n", - "Wset.append(np.random.rand(1,nodes)*0.1)\n", - "Bset.append(np.random.rand(1,1)*0.1)\n", - "X=np.array([[0,0,1,1],[0,1,0,1]],dtype=np.float128)\n", - "A=[0]*(layers+1)\n", - "A[0]=X\n", - "Y=np.array([[0,0,0,1]],dtype=np.float128)\n", - "Zset=[0]*(layers+1)\n", - "dZ=[0]*(layers+1)\n", - "for i in range(0,1000000):\n", - " #Forward\n", - " # print(i)\n", - " for j in range(1,layers+1):\n", - " Zset[j]=np.dot(Wset[j],A[j-1])+Bset[j]\n", - " if j==layers:\n", - " A[j]=sigmoid(Zset[j])\n", - " else:\n", - " A[j]=relu(Zset[j])\n", - " # print(A[layers-1])\n", - " #Backward\n", - " for j in range(layers-1,-1,-1):\n", - " if j==(layers-1):\n", - " dZ[layers]=A[layers]-Y\n", - " #print(dZ[3])\n", - " dW=(np.dot(dZ[j+1],A[j].T))/4\n", - " dB=(np.sum(dZ[j+1],axis=1,keepdims=True))/4\n", - " Wset[j+1]=Wset[j+1]-rate*dW\n", - " Bset[j+1]=Bset[j+1]-rate*dB\n", - " dZ[j]=np.multiply(np.dot(Wset[j+1].T,dZ[j+1]),drelu(Zset[j]))\n", - "# print(\"hello\")\n", - "V=X\n", - "for i in range(1,layers):\n", - " V=np.dot(Wset[i],V)+Bset[i]\n", - " V=relu(V)\n", - "V=np.dot(Wset[layers],V)+Bset[layers]\n", - "V=sigmoid(V)\n", - "print(V)" - ], - "execution_count": 31, - "outputs": [ - { - "output_type": "stream", - "text": [ - "[[3.82910398e-22 3.55526951e-09 3.34088652e-09 9.99998750e-01]]\n" - ], - "name": "stdout" - } - ] - } - ] -} \ No newline at end of file diff --git a/Assignment-3/WEEK-2 Submission by TEAM 3 b/Assignment-3/WEEK-2 Submission by TEAM 3 deleted file mode 100644 index 7aa4bc8..0000000 --- a/Assignment-3/WEEK-2 Submission by TEAM 3 +++ /dev/null @@ -1,190 +0,0 @@ -{ - "nbformat": 4, - "nbformat_minor": 0, - "metadata": { - "colab": { - "name": "WEEK 2 Submission by TEAM3.ipynb", - "provenance": [], - "authorship_tag": "ABX9TyOZSbwxERcyR9Q2gvXuzmnV", - "include_colab_link": true - }, - "kernelspec": { - "name": "python3", - "display_name": "Python 3" - }, - "language_info": { - "name": "python" - } - }, - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "id": "view-in-github", - "colab_type": "text" - }, - "source": [ - "\"Open" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "Bs6KQXq9vPi-" - }, - "source": [ - "# ***WEEK 2 ASSIGNMENT SUBMISSION***\n", - "\n", - "***TEAM 3***\n", - "\n", - "\n", - "> *- Shreyasi Mandal*\n", - "\n", - "> *- Anushka Panda*\n", - "\n", - "> *- Lakshmi Pravallika*\n", - "\n", - "\n", - "\n", - "\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "T08WYF97tZse" - }, - "source": [ - "# ***AND GATE USING NEURAL NETWORK***\n", - "\n", - "*We are going to develop an AND gate using an artificial neural network*\n", - "\n", - "***Some Terms***\n", - "\n", - "\n", - "* *Forward Propagation is used to compute the activations from the input, then hidden then the output layer* \n", - "* *What a Neural Network does is the same as logistic regression*\n", - "* *In Back-Propagation we start by computing the delta term for the output layer and then back-propagate to compute the delta terms of the hidden layers*\n", - "\n", - "\n", - "\n", - "\n" - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "HKvDYWzggpE1", - "outputId": "f5a676fa-70fc-49e0-80a3-0708534cf0ec" - }, - "source": [ - "# import Python Libraries\n", - "import numpy as np\n", - "from matplotlib import pyplot as plt\n", - "\n", - "# Sigmoid Function to find out hypothesis\n", - "def sigmoid(z):\n", - "\treturn 1 / (1 + np.exp(-z))\n", - "\n", - "# Initialization of the neural network parameters\n", - "# Initialized all the weights in the range of between 0 and 1\n", - "# Bias values are initialized to 0\n", - "def initializeParameters(inputFeatures, neuronsInHiddenLayers, outputFeatures):\n", - "\tW1 = np.random.randn(neuronsInHiddenLayers, inputFeatures)\n", - "\tW2 = np.random.randn(outputFeatures, neuronsInHiddenLayers)\n", - "\tb1 = np.zeros((neuronsInHiddenLayers, 1))\n", - "\tb2 = np.zeros((outputFeatures, 1))\n", - "\t\n", - "\tparameters = {\"W1\" : W1, \"b1\": b1,\n", - "\t\t\t\t\"W2\" : W2, \"b2\": b2}\n", - "\t\n", - " return parameters\n", - "\n", - "# Forward Propagation in Neural Networks\n", - "def forwardPropagation(X, Y, parameters):\n", - "\tm = X.shape[1]\n", - "\tW1 = parameters[\"W1\"]\n", - "\tW2 = parameters[\"W2\"]\n", - "\tb1 = parameters[\"b1\"]\n", - "\tb2 = parameters[\"b2\"]\n", - "\n", - "\tZ1 = np.dot(W1, X) + b1 # Performing multiplication in matrices\n", - "\tA1 = sigmoid(Z1) # Calling the sigmoid function\n", - "\tZ2 = np.dot(W2, A1) + b2\n", - "\tA2 = sigmoid(Z2)\n", - "\n", - "\tcache = (Z1, A1, W1, b1, Z2, A2, W2, b2)\n", - "\tlogprobs = np.multiply(np.log(A2), Y) + np.multiply(np.log(1 - A2), (1 - Y))\n", - "\tcost = -np.sum(logprobs) / m\n", - "\treturn cost, cache, A2\n", - "\n", - "# Backward Propagation to compute partial derivatives (aka gradients)\n", - "def backwardPropagation(X, Y, cache):\n", - "\tm = X.shape[1]\n", - "\t(Z1, A1, W1, b1, Z2, A2, W2, b2) = cache\n", - "\t\n", - "\tdZ2 = A2 - Y\n", - "\tdW2 = np.dot(dZ2, A1.T) / m\n", - "\tdb2 = np.sum(dZ2, axis = 1, keepdims = True)\n", - "\t\n", - "\tdA1 = np.dot(W2.T, dZ2)\n", - "\tdZ1 = np.multiply(dA1, A1 * (1- A1))\n", - "\tdW1 = np.dot(dZ1, X.T) / m\n", - "\tdb1 = np.sum(dZ1, axis = 1, keepdims = True) / m\n", - "\t\n", - "\tgradients = {\"dZ2\": dZ2, \"dW2\": dW2, \"db2\": db2,\n", - "\t\t\t\t\"dZ1\": dZ1, \"dW1\": dW1, \"db1\": db1}\n", - "\treturn gradients\n", - "\n", - "# Updating the weights based on the negative gradients\n", - "def updateParameters(parameters, gradients, learningRate):\n", - "\tparameters[\"W1\"] = parameters[\"W1\"] - learningRate * gradients[\"dW1\"]\n", - "\tparameters[\"W2\"] = parameters[\"W2\"] - learningRate * gradients[\"dW2\"]\n", - "\tparameters[\"b1\"] = parameters[\"b1\"] - learningRate * gradients[\"db1\"]\n", - "\tparameters[\"b2\"] = parameters[\"b2\"] - learningRate * gradients[\"db2\"]\n", - "\treturn parameters\n", - "\n", - "# Model to learn the AND truth table\n", - "X = np.array([[0, 0, 1, 1], [0, 1, 0, 1]]) # AND input\n", - "Y = np.array([[0, 0, 0, 1]]) # AND output\n", - "\n", - "# Define model parameters\n", - "neuronsInHiddenLayers = 2 # number of hidden layer neurons (2)\n", - "inputFeatures = X.shape[0] # number of input features (2)\n", - "outputFeatures = Y.shape[0] # number of output features (1)\n", - "parameters = initializeParameters(inputFeatures, neuronsInHiddenLayers, outputFeatures)\n", - "epoch = 100000\n", - "learningRate = 0.01\n", - "losses = np.zeros((epoch, 1))\n", - "\n", - "for i in range(epoch):\n", - "\tlosses[i, 0], cache, A2 = forwardPropagation(X, Y, parameters)\n", - "\tgradients = backwardPropagation(X, Y, cache)\n", - "\tparameters = updateParameters(parameters, gradients, learningRate)\n", - "\n", - "# Testing\n", - "X = np.array([[1, 1, 0, 0], [0, 1, 0, 1]]) # AND input\n", - "cost, _, A2 = forwardPropagation(X, Y, parameters)\n", - "prediction = (A2 > 0.5) * 1.0\n", - "# print(A2)\n", - "print(prediction)\n" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "text": [ - "[[0. 1. 0. 0.]]\n" - ], - "name": "stdout" - } - ] - } - ] -} - - diff --git a/Assignment-3/assignment_3_Team_1.ipynb b/Assignment-3/assignment_3_Team_1.ipynb deleted file mode 100644 index 3bc6036..0000000 --- a/Assignment-3/assignment_3_Team_1.ipynb +++ /dev/null @@ -1,250 +0,0 @@ -{ - "nbformat": 4, - "nbformat_minor": 0, - "metadata": { - "colab": { - "name": "assignment-3_Team-1.ipynb", - "provenance": [], - "include_colab_link": true - }, - "kernelspec": { - "name": "python3", - "display_name": "Python 3" - }, - "language_info": { - "name": "python" - } - }, - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "id": "view-in-github", - "colab_type": "text" - }, - "source": [ - "\"Open" - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "6czqRVjVk9bv" - }, - "source": [ - "import numpy as np\n", - "import matplotlib.pyplot as plt" - ], - "execution_count": 2, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "id": "_3_UMn3tsLpG" - }, - "source": [ - "def sigmoid(Z):\n", - " return 1/(1+np.exp(-Z))\n", - " \n", - " \n", - "def initialize_parameters(n_x, n_h, n_y):\n", - " W1 = np.random.randn(n_h, n_x)*0.01\n", - " b1 = np.zeros((n_h, 1))\n", - " W2 = np.random.randn(n_y, n_h)*0.01\n", - " b2 = np.zeros((n_y, 1))\n", - " \n", - " parameters = {\n", - " 'W1': W1,\n", - " 'b1': b1,\n", - " 'W2': W2,\n", - " 'b2': b2\n", - " }\n", - " return parameters\n", - " \n", - " \n", - "def forward_prop(X, parameters):\n", - " W1 = parameters['W1']\n", - " W2 = parameters['W2']\n", - " b1 = parameters['b1']\n", - " b2 = parameters['b2']\n", - " \n", - " Z1 = np.dot(W1, X) + b1\n", - " A1 = np.tanh(Z1)\n", - " Z2 = np.dot(W2, A1) + b2\n", - " A2 = sigmoid(Z2)\n", - " \n", - " # assert(A2.shape == (1, X.shape[1]))\n", - " \n", - " cache = {\n", - " 'Z1': Z1,\n", - " 'A1': A1,\n", - " 'Z2': Z2,\n", - " 'A2': A2\n", - " }\n", - " return A2, cache\n", - " \n", - " \n", - "def compute_cost(A2, Y):\n", - " m = Y.shape[1]\n", - " \n", - " cost = -np.sum(np.multiply(Y, np.log(A2)) + np.multiply(1-Y, np.log(1-A2))) / m\n", - " cost = float(np.squeeze(cost))\n", - " return cost\n", - " \n", - " \n", - "def back_prop(cache, parameters, X, Y):\n", - " A1 = cache['A1']\n", - " A2 = cache['A2']\n", - " W2 = parameters['W2']\n", - " \n", - " m = X.shape[1]\n", - " \n", - " dZ2 = A2 - Y\n", - " dW2 = np.dot(dZ2, A1.T) / m\n", - " db2 = np.sum(dZ2, axis=1, keepdims = True) / m\n", - " dZ1 = np.multiply(np.dot(W2.T, dZ2), 1-np.power(A1, 2))\n", - " dW1 = np.dot(dZ1, X.T) / m\n", - " db1 = np.sum(dZ1, axis=1, keepdims=True) / m\n", - " \n", - " grads = {\n", - " 'dW1': dW1,\n", - " 'db1': db1,\n", - " 'dW2': dW2,\n", - " 'db2': db2\n", - " }\n", - " return grads\n", - " \n", - " \n", - "def update_parameters(parameters, grads, learning_rate = 1.2):\n", - " W1 = parameters['W1']\n", - " W2 = parameters['W2']\n", - " b1 = parameters['b1']\n", - " b2 = parameters['b2']\n", - " \n", - " dW1 = grads['dW1']\n", - " dW2 = grads['dW2']\n", - " db1 = grads['db1']\n", - " db2 = grads['db2']\n", - " \n", - " W1 = W1 - learning_rate * dW1\n", - " W2 = W2 - learning_rate * dW2\n", - " b1 = b1 - learning_rate * db1\n", - " b2 = b2 - learning_rate * db2\n", - " \n", - " new_parameters = {\n", - " 'W1': W1,\n", - " 'b1': b1,\n", - " 'W2': W2,\n", - " 'b2': b2\n", - " }\n", - " return new_parameters\n", - " \n", - " \n", - "def nn_model(X, Y, num_iterations = 10000, print_cost=True):\n", - " np.random.seed(3)\n", - " \n", - " n_x, n_h, n_y = X.shape[0], 4, Y.shape[0];\n", - " parameters = initialize_parameters(n_x, n_h, n_y)\n", - " \n", - " for i in range(0, num_iterations):\n", - " A2, cache = forward_prop(X, parameters)\n", - " cost = compute_cost(A2, Y)\n", - " grads = back_prop(cache, parameters, X, Y)\n", - " parameters = update_parameters(parameters, grads)\n", - " \n", - " if print_cost and i%1000 == 0:\n", - " print('Cost after iteration %i: %f' %(i, cost))\n", - " \n", - " return parameters\n", - " \n", - " \n", - "def predict(parameters, X):\n", - " A2, cache = forward_prop(X, parameters)\n", - " yhat = A2\n", - " yhat = np.squeeze(yhat)\n", - " prediction = 0\n", - " if yhat > 0.5:\n", - " prediction = 1\n", - " \n", - " return prediction" - ], - "execution_count": 3, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "YSX9hyyH9jC5", - "outputId": "76d5bb01-98b6-462c-9c36-ef1a72127dcb" - }, - "source": [ - "X = np.array([[0, 0, 1, 1], [0, 1, 0, 1]])\n", - "Y = np.array([[0, 1, 1, 0]])\n", - "\n", - "trained_parameters = nn_model(X, Y)\n", - "\n", - "print(\"W1 = \" + str(trained_parameters[\"W1\"]))\n", - "print(\"b1 = \" + str(trained_parameters[\"b1\"]))\n", - "print(\"W2 = \" + str(trained_parameters[\"W2\"]))\n", - "print(\"b2 = \" + str(trained_parameters[\"b2\"]))" - ], - "execution_count": 17, - "outputs": [ - { - "output_type": "stream", - "text": [ - "Cost after iteration 0: 0.693147\n", - "Cost after iteration 1000: 0.693147\n", - "Cost after iteration 2000: 0.693147\n", - "Cost after iteration 3000: 0.693147\n", - "Cost after iteration 4000: 0.693147\n", - "Cost after iteration 5000: 0.693147\n", - "Cost after iteration 6000: 0.693147\n", - "Cost after iteration 7000: 0.693147\n", - "Cost after iteration 8000: 0.693147\n", - "Cost after iteration 9000: 0.693147\n", - "W1 = [[ 0.01800884 0.00472305]\n", - " [-0.00106225 -0.01842699]\n", - " [-0.00302617 -0.00347474]\n", - " [-0.00045634 -0.00661726]]\n", - "b1 = [[ 1.28038051e-04]\n", - " [-5.31468643e-06]\n", - " [-3.99994857e-04]\n", - " [ 1.05941642e-04]]\n", - "W2 = [[ 0.00143819 -0.00386175 -0.0129717 0.00915141]]\n", - "b2 = [[-7.01216554e-05]]\n" - ], - "name": "stdout" - } - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "AO6m8nXhZKrV", - "outputId": "c392854d-5477-4e87-e98e-a35732140872" - }, - "source": [ - "prediction = predict(trained_parameters, np.array([[0], [1]]))\n", - "print(prediction)" - ], - "execution_count": 19, - "outputs": [ - { - "output_type": "stream", - "text": [ - "0\n" - ], - "name": "stdout" - } - ] - } - ] -} \ No newline at end of file diff --git a/Assignment-3/team2 (2).ipynb b/Assignment-3/team2 (2).ipynb deleted file mode 100644 index 3eafb10..0000000 --- a/Assignment-3/team2 (2).ipynb +++ /dev/null @@ -1,62 +0,0 @@ -{ - "nbformat": 4, - "nbformat_minor": 0, - "metadata": { - "colab": { - "name": "team2.ipynb", - "provenance": [], - "collapsed_sections": [] - }, - "kernelspec": { - "name": "python3", - "display_name": "Python 3" - }, - "language_info": { - "name": "python" - } - }, - "cells": [ - { - "cell_type": "code", - "metadata": { - "id": "oKxo5CjSsvPH" - }, - "source": [ - "import numpy as np\n", - " \n", - " \n", - "## MODEL\n", - " \n", - "x=np.array([[1,1], [1,0], [0,1], [0,0]])\n", - "y=np.array([1,0,0,0])\n", - "y=y.reshape(4,1)\n", - "c=0\n", - " \n", - "##TRAIN\n", - "for i in range(1000):\n", - " out= x[:, 0]+ x[:,1]+c\n", - " a=1/(1+np.exp(-out))\n", - " c=c- ((abs(a-y)>0.51)*(a-y)).sum()/10\n", - " \n", - "## OUT\n", - "a1,a2=input(\"Enter Nums :)\\n\").split()\n", - "a1=int(a1)\n", - "a2=int(a2)\n", - "print(np.exp(-(a1+a2+c))<1)" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "id": "lUo_P4102kqn" - }, - "source": [ - "" - ], - "execution_count": null, - "outputs": [] - } - ] -} \ No newline at end of file diff --git a/Assignment-5/Report.md b/Assignment-5/Report.md deleted file mode 100644 index e966e0d..0000000 --- a/Assignment-5/Report.md +++ /dev/null @@ -1,50 +0,0 @@ -# SUMMARY OF THE PAPER -## INTRODUCTION -This paper deals with the problem of simplifying the language, sentence structure , style of the original Wikipedia articles into a more readable -form. The *Flesch-Kincaid* index is used as the measure of readability. - -## CONCEPTS DEALT -**Encoder**
-The Encoder used is the *Google Universal Sentence Encoder* which converts the lexemes used in the source into high dimensional vectors which encapsulate the information contained in the said lexeme.
- -**Lexeme Splitter**
-This is a heuristics driven engine which will split the source text into lexemes which are meaningful phrases or short sentences. This engine gives priority to sentecnes terminators like (.), (;), (:) when the length of the phrase goes above the specified hyper parameters, the engines falls back on secondary terminators like the (,) and (-).
- -**Text Generator**
-Here the Generative Pretrained Transformer-2 (GPT-2) is used. It is a language model which takes some source text as input and can generate text samples which are aligned with the source in meaning, style and content.
-Since this is a pretrained model, we do not need to train it for the content part but fine tuning is required for alignment of style. The text for fine tuning will be existing simple wikipedia articles.
- -**Similarity Index**
-The similarity index between two vectors is calculated as their inner product which for our purposes needs to as high as possible.
- -**Rejection Pass Filter**
-In this architecture the GPT-2 will generate a set of possible replacements for the source lexemes. The sentence encoder will convert all these phrases and the source lexemes into high dimensional vectors. The source lexemes will be replaced only if the maximum similarity index between source embedding and any of the possible replacements is more than the hyper parameter τ. If none of the possibilities satisfy the condition the source lexemes will not be replaced.
- -## PSEUDO CODE -``` -Input: content source s -Output: simplified text st = ”” -repeat -Identify next lexeme l = process(s) -for i = 1 to nsamples do -Generate next sample xi = generate(st) -Save embedding score e(xi) -end for -if max(|e(xi) − e(l)|) > τ then -st = argmax(|e(xi) − e(l)|) + st -else -st = l + st -end if -until source s is done -``` - -## ARCHITECTURE -![Please look to another PR](https://github.com/parinayc20/ACA-Wikipedia-Simplifier/blob/main/Assignment-5/assignment-architecture.png)
- -## HYPER PARAMETERS -τ is a rejection threshold (minimum acceptable similarity), {MIN, MINSOFT, -MAX} are the unconditional minimum, punctuation-marked minimum, and the maximum -lexeme size in words respectively, SEED is the number of lexemes provided as context, NSAMPLES stands for the number of candidates produced by the generator per each lexeme, and t◦ is the generation temperature.
- -## CONCLUSION -This model has a 37.7% replacement rate and an average of 4.712 increase in the readability index. The model performs better when the training material matches the context of the source. \ No newline at end of file diff --git a/Assignment-5/assignment-architecture.png b/Assignment-5/assignment-architecture.png deleted file mode 100644 index 746c5c4ac4cf2b0b9d5ed27a57a7aabf6e5a6f74..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42468 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 Y4^>lzse9ancmMzZ07*qoM6N<$g6`&zQUCw| diff --git a/Assignment_1_and_2/Assignment_1_Team_5.ipynb b/Assignment_1_and_2/Assignment_1_Team_5.ipynb deleted file mode 100644 index c742ebc..0000000 --- a/Assignment_1_and_2/Assignment_1_Team_5.ipynb +++ /dev/null @@ -1,197 +0,0 @@ -{ - "nbformat": 4, - "nbformat_minor": 0, - "metadata": { - "colab": { - "name": "Assignment_1_Team_5.ipynb", - "provenance": [], - "collapsed_sections": [], - "include_colab_link": true - }, - "kernelspec": { - "name": "python3", - "display_name": "Python 3" - }, - "language_info": { - "name": "python" - } - }, - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "id": "view-in-github", - "colab_type": "text" - }, - "source": [ - "\"Open" - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "b-YNPsO-GEbe" - }, - "source": [ - "def add_word(trie,word):\n", - " search=trie\n", - " for i in word:\n", - " if i in search:\n", - " pass\n", - " else:\n", - " search.update({i:{}})\n", - " search=search[i]" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "id": "CL4l7eJo-rrd" - }, - "source": [ - "def in_trie(trie,word):\n", - " search=trie\n", - " ans=True\n", - " for i in word:\n", - " if i in search:\n", - " pass\n", - " else:\n", - " ans=False\n", - " break\n", - " search=search[i]\n", - " if(bool(search) and ans==True):\n", - " ans=False\n", - " return ans" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "id": "DEFFZvxoLL2g" - }, - "source": [ - "def list_matches(trie,prefix):\n", - " li=[]\n", - " search=trie\n", - " flag=True\n", - " for i in prefix:\n", - " if i in list(search.keys()):\n", - " search=search[i]\n", - " else:\n", - " flag=False\n", - " break\n", - " if flag:\n", - " dfs(search,li,prefix)\n", - " return li\n" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "id": "gQptkajip48W" - }, - "source": [ - "" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "id": "2D1OtfcEPNJX" - }, - "source": [ - "def dfs(trie,li,s):\n", - " if not bool(trie):\n", - " li.append(s)\n", - " else:\n", - " for i in list(trie.keys()):\n", - " dfs(trie[i],li,s+i)" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "id": "kKEXc4mNENi_", - "colab": { - "base_uri": "https://localhost:8080/" - }, - "outputId": "241d2cd2-181f-4df3-d4be-9b856044ef2a" - }, - "source": [ - "def create_trie(li):\n", - " trie={}\n", - " for word in li:\n", - " add_word(trie,word)\n", - " return trie\n", - "li=['noice','cool','nonagon']\n", - "trie=create_trie(li)\n", - "print(trie)\n" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "text": [ - "{'n': {'o': {'i': {'c': {'e': {}}}, 'n': {'a': {'g': {'o': {'n': {}}}}}}}, 'c': {'o': {'o': {'l': {}}}}}\n" - ], - "name": "stdout" - } - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 354 - }, - "id": "F0C9s2RqYvSa", - "outputId": "68ea3cfa-659c-4fc7-94e0-661282c6084d" - }, - "source": [ - "def main():\n", - " words=['bed','bid','bit','step','set']\n", - " trie=create_trie(words)\n", - " print(in_trie(trie,'bid'))\n", - " print(in_trie(trie,'bidi'))\n", - " print(list_matches(trie,'bi'))\n", - "\n", - "main()" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "text": [ - "True\n", - "False\n" - ], - "name": "stdout" - }, - { - "output_type": "error", - "ename": "NameError", - "evalue": "ignored", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlist_matches\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtrie\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m'bi'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 8\u001b[0;31m \u001b[0mmain\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[0;32m\u001b[0m in \u001b[0;36mmain\u001b[0;34m()\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0min_trie\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtrie\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m'bid'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0min_trie\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtrie\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m'bidi'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 6\u001b[0;31m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlist_matches\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtrie\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m'bi'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 7\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 8\u001b[0m \u001b[0mmain\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m\u001b[0m in \u001b[0;36mlist_matches\u001b[0;34m(trie, prefix)\u001b[0m\n\u001b[1;32m 10\u001b[0m \u001b[0;32mbreak\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 11\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mflag\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 12\u001b[0;31m \u001b[0mdfs\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msearch\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mli\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mprefix\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 13\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mli\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mNameError\u001b[0m: name 'dfs' is not defined" - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/Assignment_1_and_2/Assignment_1_and_2_(WEEK_1)_.ipynb b/Assignment_1_and_2/Assignment_1_and_2_(WEEK_1)_.ipynb deleted file mode 100644 index 078acca..0000000 --- a/Assignment_1_and_2/Assignment_1_and_2_(WEEK_1)_.ipynb +++ /dev/null @@ -1,1022 +0,0 @@ -{ - "nbformat": 4, - "nbformat_minor": 0, - "metadata": { - "colab": { - "name": "Assignment 1 and 2 (WEEK 1) .ipynb", - "provenance": [], - "collapsed_sections": [], - "authorship_tag": "ABX9TyPhYxkQafJllXmUsYClu1Xi", - "include_colab_link": true - }, - "kernelspec": { - "name": "python3", - "display_name": "Python 3" - }, - "language_info": { - "name": "python" - } - }, - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "id": "view-in-github", - "colab_type": "text" - }, - "source": [ - "\"Open" - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "IINU0vEZBnUB" - }, - "source": [ - "" - ], - "execution_count": 4, - "outputs": [] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "pHYkrb4MB1mY" - }, - "source": [ - "# ***WEEK 1 SUBMISSION***\n", - "\n", - "***Team 3***\n", - "\n", - "*Team Members*\n", - "\n", - "* *Shreyasi Mandal*\n", - "* *Anushka Panda*\n", - "* *Lakshmi Pravallika*\n", - "\n", - "\n", - "*Assignment 1* *(HW1 to be completed)*\n", - "\n", - "```\n", - "https://www.cis.upenn.edu/~cis192/tliu/\n", - "```\n", - "*Assignment 2* *(Problem Set 2 to be completed)*\n", - "\n", - "\n", - "\n", - "```\n", - "https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/assignments/\n", - "```\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - " " - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "9Y51Z1eJDtoo" - }, - "source": [ - "***ASSIGNMENT 1***\n" - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "JoLsyoOFD0qf", - "outputId": "e374ee3d-8c31-45c5-a91d-ddc0270ec90e" - }, - "source": [ - "def add_word(trie, word):\n", - "\n", - " # Add a word to the given trie.\n", - "\n", - " # Args:\n", - " # trie (dict): the dictionary representation of a trie\n", - " # word (str): the word to be added\n", - "\n", - " # Returns:\n", - " # None\n", - "\n", - " # Side effect:\n", - " # trie is modified with word included\n", - " for c in word:\n", - " if c in trie:\n", - " trie = trie[c]\n", - " else:\n", - " trie = trie.setdefault(c, {})\n", - "\n", - "def create_trie(word_list):\n", - "\n", - " # Creates a trie from the given word list.\n", - "\n", - " # Args:\n", - " # word_list (list): list of words (str)\n", - "\n", - " #Returns:\n", - " # dict: a dictionary representation of the trie\n", - " trie = dict()\n", - " for word in word_list:\n", - " add_word(trie, word)\n", - " return trie\n", - "\n", - "def in_trie(trie , word):\n", - "\n", - " # Check whether the given word is present within the trie.\n", - "\n", - " # Args:\n", - " # word (str): the word to check\n", - " # trie (dict): the trie to check against\n", - "\n", - " # Returns:\n", - " # bool: True if the word is in the trie, False if it is not\n", - "\n", - "\n", - " for c in word:\n", - " if c in trie:\n", - " trie = trie[c]\n", - " else:\n", - " return False\n", - " return True\n", - "\n", - "words_list = list() \n", - "\n", - "def return_trie(trie, word):\n", - " for c in word:\n", - " if c in trie:\n", - " trie = trie[c]\n", - " return trie\n", - " \n", - " \n", - "def list_matches(trie, prefix):\n", - "\n", - " # List all word with the given prefix in the trie.\n", - " # If no words in the trie match the given prefix, return an empty list.\n", - "\n", - " \n", - " # Args:\n", - " # prefix (str): the prefix to match against\n", - " # trie (dict): the trie to search over\n", - "\n", - " # Returns:\n", - " # list: all words in the trie that begin with prefix \n", - "\n", - "\n", - " if trie == {}:\n", - " words_list.append(prefix)\n", - " return \n", - " for c in trie:\n", - " list_matches(trie[c], prefix+c)\n", - "\n", - "\n", - "def main():\n", - "\n", - " word_list = ['Anushka', 'Panda', 'Pavilion', 'Pavement']\n", - " trie1 = create_trie(word_list)\n", - " print(trie1)\n", - " print(in_trie(trie1, 'Panda'))\n", - " print(in_trie(trie1, 'Payment'))\n", - " trie2 = return_trie(trie1, 'Pav')\n", - " list_matches(trie2, 'Pav')\n", - " print(words_list)\n", - "\n", - " word_list1 = ['Shreyasi', 'Mandal', 'Shrban', 'Silence']\n", - " my_trie = create_trie(word_list1)\n", - " print(my_trie)\n", - " print(in_trie(my_trie, 'Shreyasi'))\n", - " print(in_trie(my_trie, 'Shrei'))\n", - " print(list_matches(my_trie, 'Shr'))\n", - "\n", - " \n", - "if __name__ == '__main__':\n", - " main()" - ], - "execution_count": 10, - "outputs": [ - { - "output_type": "stream", - "text": [ - "{'A': {'n': {'u': {'s': {'h': {'k': {'a': {}}}}}}}, 'P': {'a': {'n': {'d': {'a': {}}}, 'v': {'i': {'l': {'i': {'o': {'n': {}}}}}, 'e': {'m': {'e': {'n': {'t': {}}}}}}}}}\n", - "True\n", - "False\n", - "['Pavilion', 'Pavement']\n", - "{'S': {'h': {'r': {'e': {'y': {'a': {'s': {'i': {}}}}}, 'b': {'a': {'n': {}}}}}, 'i': {'l': {'e': {'n': {'c': {'e': {}}}}}}}, 'M': {'a': {'n': {'d': {'a': {'l': {}}}}}}}\n", - "True\n", - "False\n", - "None\n" - ], - "name": "stdout" - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "aLxgeomXEk15" - }, - "source": [ - "***ASSIGNMENT 2***\n" - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "7_kkXQzdIxOn", - "outputId": "2d88da4c-d776-457a-80f0-15bd034e4bca" - }, - "source": [ - "!wget https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/assignments/ps2.zip\n", - "!unzip p*" - ], - "execution_count": 7, - "outputs": [ - { - "output_type": "stream", - "text": [ - "--2021-04-19 17:17:40-- https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/assignments/ps2.zip\n", - "Resolving ocw.mit.edu (ocw.mit.edu)... 151.101.2.133, 151.101.66.133, 151.101.130.133, ...\n", - "Connecting to ocw.mit.edu (ocw.mit.edu)|151.101.2.133|:443... connected.\n", - "HTTP request sent, awaiting response... 200 OK\n", - "Length: 458195 (447K) [application/zip]\n", - "Saving to: ‘ps2.zip’\n", - "\n", - "\rps2.zip 0%[ ] 0 --.-KB/s \rps2.zip 100%[===================>] 447.46K --.-KB/s in 0.007s \n", - "\n", - "2021-04-19 17:17:40 (63.1 MB/s) - ‘ps2.zip’ saved [458195/458195]\n", - "\n", - "Archive: ps2.zip\n", - " inflating: ps2/hangman.py \n", - " inflating: ps2/MIT6_0001F16_Pset2.pdf \n", - " inflating: ps2/words.txt \n" - ], - "name": "stdout" - } - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "mjUQtdsUEoUa", - "outputId": "595b4bfd-1b37-4863-ab68-9d5086ebb40a" - }, - "source": [ - "# Problem Set 2, hangman.py\n", - "# Team: 3 \n", - "# Members : Shreyasi Mandal, Anushka Panda, Lakshmi Pravallika\n", - "\n", - "\n", - "# Hangman Game\n", - "# -----------------------------------\n", - "\n", - "import random\n", - "import string\n", - "\n", - "WORDLIST_FILENAME = \"ps2/words.txt\"\n", - "\n", - "\n", - "def load_words():\n", - " \"\"\"\n", - " Returns a list of valid words. Words are strings of lowercase letters.\n", - " \n", - " Depending on the size of the word list, this function may\n", - " take a while to finish.\n", - " \"\"\"\n", - " print(\"Loading word list from file...\")\n", - " # inFile: file\n", - " inFile = open(WORDLIST_FILENAME, 'r')\n", - " # line: string\n", - " line = inFile.readline()\n", - " # wordlist: list of strings\n", - " wordlist = line.split()\n", - " print(\" \", len(wordlist), \"words loaded.\")\n", - " return wordlist\n", - "\n", - "\n", - "\n", - "def choose_word(wordlist):\n", - " \"\"\"\n", - " wordlist (list): list of words (strings)\n", - " \n", - " Returns a word from wordlist at random\n", - " \"\"\"\n", - " return random.choice(wordlist)\n", - "\n", - "# end of helper code\n", - "\n", - "# -----------------------------------\n", - "\n", - "# Load the list of words into the variable wordlist\n", - "# so that it can be accessed from anywhere in the program\n", - "wordlist = load_words()\n", - "\n", - "\n", - "def is_word_guessed(secret_word, letters_guessed):\n", - " '''\n", - " secret_word: string, the word the user is guessing; assumes all letters are\n", - " lowercase\n", - " letters_guessed: list (of letters), which letters have been guessed so far;\n", - " assumes that all letters are lowercase\n", - " returns: boolean, True if all the letters of secret_word are in letters_guessed;\n", - " False otherwise\n", - " '''\n", - " for i in range(len(secret_word)):\n", - " if secret_word[i] not in letters_guessed:\n", - " return False\n", - " return True\n", - "\n", - "\n", - "def get_index_positions(list_of_elems, element):\n", - " ''' Returns the indexes of all occurrences of give element in\n", - " the list- listOfElements '''\n", - " index_pos_list = []\n", - " index_pos = 0\n", - " while True:\n", - " try:\n", - " # Search for item in list from indexPos to the end of list\n", - " index_pos = list_of_elems.index(element, index_pos)\n", - " # Add the index position in list\n", - " index_pos_list.append(index_pos)\n", - " index_pos += 1\n", - " except ValueError as e:\n", - " break\n", - " return index_pos_list\n", - "\n", - "\n", - "def get_guessed_word(secret_word, letters_guessed):\n", - " '''\n", - " secret_word: string, the word the user is guessing\n", - " letters_guessed: list (of letters), which letters have been guessed so far\n", - " returns: string, comprised of letters, underscores (_), and spaces that represents\n", - " which letters in secret_word have been guessed so far.\n", - " '''\n", - " result=list()\n", - " for i in range(len(secret_word)):\n", - " result.append(\"_ \")\n", - " for c in letters_guessed:\n", - " if c in secret_word:\n", - " i=get_index_positions(secret_word, c)\n", - " for j in range(len(i)):\n", - " result[i[j]]=c\n", - " result1=\"\"\n", - " for ele in result:\n", - " result1+=ele\n", - "\n", - " return result1\n", - "\n", - "\n", - "def get_available_letters(letters_guessed):\n", - " '''\n", - " letters_guessed: list (of letters), which letters have been guessed so far\n", - " returns: string (of letters), comprised of letters that represents which letters have not\n", - " yet been guessed.\n", - " '''\n", - " result=string.ascii_lowercase\n", - " for c in letters_guessed:\n", - " result=result.replace(c,'')\n", - "\n", - " return result\n", - " \n", - " \n", - "\n", - "def hangman(secret_word):\n", - " '''\n", - " secret_word: string, the secret word to guess.\n", - " \n", - " Starts up an interactive game of Hangman.\n", - " \n", - " * At the start of the game, let the user know how many \n", - " letters the secret_word contains and how many guesses s/he starts with.\n", - " \n", - " * The user should start with 6 guesses\n", - "\n", - " * Before each round, you should display to the user how many guesses\n", - " s/he has left and the letters that the user has not yet guessed.\n", - " \n", - " * Ask the user to supply one guess per round. Remember to make\n", - " sure that the user puts in a letter!\n", - " \n", - " * The user should receive feedback immediately after each guess \n", - " about whether their guess appears in the computer's word.\n", - "\n", - " * After each guess, you should display to the user the \n", - " partially guessed word so far.\n", - " \n", - " Follows the other limitations detailed in the problem write-up.\n", - " '''\n", - " print(\"Welcome to the game Hangman!\")\n", - " print(\"I am thinking of a word that is \",len(secret_word),\" letters long.\")\n", - " warnings_left=3\n", - " print(\"You have 3 warnings left.\")\n", - " letter=list()\n", - "\n", - " unique=len(set(secret_word))\n", - " guesses_left=6\n", - " while guesses_left>0:\n", - " print(\"-----------------\")\n", - " print(\"You have \",(guesses_left),\" guesses left\")\n", - " print(\"Available letters: \"+ get_available_letters(letter))\n", - " print(\"Please guess a letter: \")\n", - " st=input()\n", - " \n", - "\n", - " if st in letter:\n", - " if warnings_left>0:\n", - " print(\"Oops! You've already guessed that letter. You have \",(warnings_left-1),\" warnings left: \"+get_guessed_word(secret_word, letter))\n", - " warnings_left-=1\n", - " else:\n", - " print(\"Oops! You've already guessed that letter. You have no warnings left so you lose one guess: \"+get_guessed_word(secret_word, letter))\n", - " guesses_left-=1\n", - " else: \n", - " if str.isalpha(st):\n", - " a=str.lower(st)\n", - " letter.append(a)\n", - " if a in secret_word:\n", - " print(\"Good guess: \"+get_guessed_word(secret_word, letter))\n", - " \n", - " else:\n", - " print(\"Oops! That letter is not in my word: \"+get_guessed_word(secret_word, letter))\n", - " if (a=='a')|(a=='e')|(a=='i')|(a=='o')|(a=='u'):\n", - " guesses_left-=2\n", - " else:\n", - " guesses_left-=1\n", - " \n", - " else:\n", - " if warnings_left>0:\n", - " print(\"Oops! That is not a valid letter. You have \",(warnings_left-1),\" warnings left: \"+get_guessed_word(secret_word, letter))\n", - " warnings_left-=1\n", - " else:\n", - " print(\"Oops! That is not a valid letter. You have no warnings left so you lose one guess: \"+get_guessed_word(secret_word, letter))\n", - " guesses_left-=1\n", - "\n", - " \n", - " if is_word_guessed(secret_word, letter):\n", - " print(\"-----------------\")\n", - " print(\"Congratulations, you won!\")\n", - " print(\"Your total score for this game is: \",((guesses_left)*unique))\n", - " break;\n", - "\n", - " if (guesses_left)==0:\n", - " print(\"-----------------\")\n", - " print(\"Sorry, you ran out of guesses. The word was \"+secret_word)\n", - "\n", - " \n", - "\n", - "# When you've completed your hangman function, scroll down to the bottom\n", - "# of the file and uncomment the first two lines to test\n", - "#(hint: you might want to pick your own\n", - "# secret_word while you're doing your own testing)\n", - "\n", - "\n", - "# -----------------------------------\n", - "\n", - "\n", - "\n", - "def match_with_gaps(my_word, other_word):\n", - " '''\n", - " my_word: string with _ characters, current guess of secret word\n", - " other_word: string, regular English word\n", - " returns: boolean, True if all the actual letters of my_word match the \n", - " corresponding letters of other_word, or the letter is the special symbol\n", - " _ , and my_word and other_word are of the same length;\n", - " False otherwise: \n", - " '''\n", - " s=my_word\n", - " for x in range(len(my_word)):\n", - " if my_word[x]==' ':\n", - " s=s.replace(' ','')\n", - " \n", - " if len(s)!=len(other_word):\n", - " return False\n", - " else:\n", - " for c in s:\n", - " if c!='_':\n", - " i=get_index_positions(s,c)\n", - " j=get_index_positions(other_word,c)\n", - " if len(i)!=len(j): \n", - " return False\n", - " else:\n", - " for a in range(len(i)):\n", - " if i[a]!=j[a]:\n", - " return False\n", - " \n", - " return True\n", - " \n", - " \n", - "\n", - "\n", - "\n", - "def show_possible_matches(my_word):\n", - " '''\n", - " my_word: string with _ characters, current guess of secret word\n", - " returns: nothing, but should print out every word in wordlist that matches my_word\n", - " Keep in mind that in hangman when a letter is guessed, all the positions\n", - " at which that letter occurs in the secret word are revealed.\n", - " Therefore, the hidden letter(_ ) cannot be one of the letters in the word\n", - " that has already been revealed.\n", - "\n", - " '''\n", - " result=\"\"\n", - " for i in range(len(wordlist)):\n", - " if match_with_gaps(my_word, wordlist[i]):\n", - " result+=(wordlist[i]+\" \")\n", - " \n", - " if len(result)==0:\n", - " print(\"No Matches Found\")\n", - " else:\n", - " print(\"Possible word matches are: \")\n", - " print(result)\n", - " \n", - "\n", - "\n", - "\n", - "def hangman_with_hints(secret_word):\n", - " '''\n", - " secret_word: string, the secret word to guess.\n", - " \n", - " Starts up an interactive game of Hangman.\n", - " \n", - " * At the start of the game, let the user know how many \n", - " letters the secret_word contains and how many guesses s/he starts with.\n", - " \n", - " * The user should start with 6 guesses\n", - " \n", - " * Before each round, you should display to the user how many guesses\n", - " s/he has left and the letters that the user has not yet guessed.\n", - " \n", - " * Ask the user to supply one guess per round. Make sure to check that the user guesses a letter\n", - " \n", - " * The user should receive feedback immediately after each guess \n", - " about whether their guess appears in the computer's word.\n", - "\n", - " * After each guess, you should display to the user the \n", - " partially guessed word so far.\n", - " \n", - " * If the guess is the symbol *, print out all words in wordlist that\n", - " matches the current guessed word. \n", - " \n", - " Follows the other limitations detailed in the problem write-up.\n", - " '''\n", - " print(\"Welcome to the game Hangman!\")\n", - " print(\"I am thinking of a word that is \",len(secret_word),\" letters long.\")\n", - " warnings_left=3\n", - " print(\"You have 3 warnings left.\")\n", - " letter=list()\n", - "\n", - " unique=len(set(secret_word))\n", - " guesses_left=6\n", - " while guesses_left>0:\n", - " print(\"-----------------\")\n", - " print(\"You have \",(guesses_left),\" guesses left\")\n", - " print(\"Available letters: \"+ get_available_letters(letter))\n", - " print(\"Please guess a letter: \")\n", - " st=input()\n", - " \n", - "\n", - " if st in letter:\n", - " if warnings_left>0:\n", - " print(\"Oops! You've already guessed that letter. You have \",(warnings_left-1),\" warnings left: \"+get_guessed_word(secret_word, letter))\n", - " warnings_left-=1\n", - " else:\n", - " print(\"Oops! You've already guessed that letter. You have no warnings left so you lose one guess: \"+get_guessed_word(secret_word, letter))\n", - " guesses_left-=1\n", - " else: \n", - " if str.isalpha(st):\n", - " a=str.lower(st)\n", - " letter.append(a)\n", - " if a in secret_word:\n", - " print(\"Good guess: \"+get_guessed_word(secret_word, letter))\n", - " \n", - " else:\n", - " print(\"Oops! That letter is not in my word: \"+get_guessed_word(secret_word, letter))\n", - " if (a=='a')|(a=='e')|(a=='i')|(a=='o')|(a=='u'):\n", - " guesses_left-=2\n", - " else:\n", - " guesses_left-=1\n", - " elif st=='*':\n", - " show_possible_matches(get_guessed_word(secret_word, letter))\n", - " else:\n", - " if warnings_left>0:\n", - " print(\"Oops! That is not a valid letter. You have \",(warnings_left-1),\" warnings left: \"+get_guessed_word(secret_word, letter))\n", - " warnings_left-=1\n", - " else:\n", - " print(\"Oops! That is not a valid letter. You have no warnings left so you lose one guess: \"+get_guessed_word(secret_word, letter))\n", - " guesses_left-=1\n", - "\n", - " \n", - " if is_word_guessed(secret_word, letter):\n", - " print(\"-----------------\")\n", - " print(\"Congratulations, you won!\")\n", - " print(\"Your total score for this game is: \",((guesses_left)*unique))\n", - " break;\n", - "\n", - " if (guesses_left)==0:\n", - " print(\"-----------------\")\n", - " print(\"Sorry, you ran out of guesses. The word was \"+secret_word)\n", - "\n", - "\n", - "\n", - "# When you've completed your hangman_with_hint function, comment the two similar\n", - "# lines above that were used to run the hangman function, and then uncomment\n", - "# these two lines and run this file to test!\n", - "# Hint: You might want to pick your own secret_word while you're testing.\n", - "\n", - "\n", - "if __name__ == \"__main__\":\n", - " # pass\n", - "\n", - " # To test part 2, comment out the pass line above and\n", - " # uncomment the following two lines.\n", - " \n", - " #secret_word = choose_word(wordlist)\n", - " #hangman(secret_word)\n", - "\n", - "###############\n", - " \n", - " # To test part 3 re-comment out the above lines and \n", - " # uncomment the following two lines. \n", - " secret_word = choose_word(wordlist)\n", - " hangman_with_hints(\"tact\")\n", - " hangman_with_hints(\"apple\")\n", - " hangman_with_hints(\"else\")\n", - " hangman_with_hints(\"shreyasi\")\n", - " hangman_with_hints(secret_word)\n" - ], - "execution_count": 9, - "outputs": [ - { - "output_type": "stream", - "text": [ - "Loading word list from file...\n", - " 55900 words loaded.\n", - "Welcome to the game Hangman!\n", - "I am thinking of a word that is 4 letters long.\n", - "You have 3 warnings left.\n", - "-----------------\n", - "You have 6 guesses left\n", - "Available letters: abcdefghijklmnopqrstuvwxyz\n", - "Please guess a letter: \n", - "a\n", - "Good guess: _ a_ _ \n", - "-----------------\n", - "You have 6 guesses left\n", - "Available letters: bcdefghijklmnopqrstuvwxyz\n", - "Please guess a letter: \n", - "a\n", - "Oops! You've already guessed that letter. You have 2 warnings left: _ a_ _ \n", - "-----------------\n", - "You have 6 guesses left\n", - "Available letters: bcdefghijklmnopqrstuvwxyz\n", - "Please guess a letter: \n", - "s\n", - "Oops! That letter is not in my word: _ a_ _ \n", - "-----------------\n", - "You have 5 guesses left\n", - "Available letters: bcdefghijklmnopqrtuvwxyz\n", - "Please guess a letter: \n", - "$\n", - "Oops! That is not a valid letter. You have 1 warnings left: _ a_ _ \n", - "-----------------\n", - "You have 5 guesses left\n", - "Available letters: bcdefghijklmnopqrtuvwxyz\n", - "Please guess a letter: \n", - "t\n", - "Good guess: ta_ t\n", - "-----------------\n", - "You have 5 guesses left\n", - "Available letters: bcdefghijklmnopqruvwxyz\n", - "Please guess a letter: \n", - "e\n", - "Oops! That letter is not in my word: ta_ t\n", - "-----------------\n", - "You have 3 guesses left\n", - "Available letters: bcdfghijklmnopqruvwxyz\n", - "Please guess a letter: \n", - "e\n", - "Oops! You've already guessed that letter. You have 0 warnings left: ta_ t\n", - "-----------------\n", - "You have 3 guesses left\n", - "Available letters: bcdfghijklmnopqruvwxyz\n", - "Please guess a letter: \n", - "e\n", - "Oops! You've already guessed that letter. You have no warnings left so you lose one guess: ta_ t\n", - "-----------------\n", - "You have 2 guesses left\n", - "Available letters: bcdfghijklmnopqruvwxyz\n", - "Please guess a letter: \n", - "c\n", - "Good guess: tact\n", - "-----------------\n", - "Congratulations, you won!\n", - "Your total score for this game is: 6\n", - "Welcome to the game Hangman!\n", - "I am thinking of a word that is 5 letters long.\n", - "You have 3 warnings left.\n", - "-----------------\n", - "You have 6 guesses left\n", - "Available letters: abcdefghijklmnopqrstuvwxyz\n", - "Please guess a letter: \n", - "a\n", - "Good guess: a_ _ _ _ \n", - "-----------------\n", - "You have 6 guesses left\n", - "Available letters: bcdefghijklmnopqrstuvwxyz\n", - "Please guess a letter: \n", - "l\n", - "Good guess: a_ _ l_ \n", - "-----------------\n", - "You have 6 guesses left\n", - "Available letters: bcdefghijkmnopqrstuvwxyz\n", - "Please guess a letter: \n", - "*\n", - "Possible word matches are: \n", - "addle adult agile aisle amble ample amply amyls angle ankle apple apply aptly arils atilt \n", - "-----------------\n", - "You have 6 guesses left\n", - "Available letters: bcdefghijkmnopqrstuvwxyz\n", - "Please guess a letter: \n", - "p\n", - "Good guess: appl_ \n", - "-----------------\n", - "You have 6 guesses left\n", - "Available letters: bcdefghijkmnoqrstuvwxyz\n", - "Please guess a letter: \n", - "p\n", - "Oops! You've already guessed that letter. You have 2 warnings left: appl_ \n", - "-----------------\n", - "You have 6 guesses left\n", - "Available letters: bcdefghijkmnoqrstuvwxyz\n", - "Please guess a letter: \n", - "e\n", - "Good guess: apple\n", - "-----------------\n", - "Congratulations, you won!\n", - "Your total score for this game is: 24\n", - "Welcome to the game Hangman!\n", - "I am thinking of a word that is 4 letters long.\n", - "You have 3 warnings left.\n", - "-----------------\n", - "You have 6 guesses left\n", - "Available letters: abcdefghijklmnopqrstuvwxyz\n", - "Please guess a letter: \n", - "a\n", - "Oops! That letter is not in my word: _ _ _ _ \n", - "-----------------\n", - "You have 4 guesses left\n", - "Available letters: bcdefghijklmnopqrstuvwxyz\n", - "Please guess a letter: \n", - "b\n", - "Oops! That letter is not in my word: _ _ _ _ \n", - "-----------------\n", - "You have 3 guesses left\n", - "Available letters: cdefghijklmnopqrstuvwxyz\n", - "Please guess a letter: \n", - "c\n", - "Oops! That letter is not in my word: _ _ _ _ \n", - "-----------------\n", - "You have 2 guesses left\n", - "Available letters: defghijklmnopqrstuvwxyz\n", - "Please guess a letter: \n", - "2\n", - "Oops! That is not a valid letter. You have 2 warnings left: _ _ _ _ \n", - "-----------------\n", - "You have 2 guesses left\n", - "Available letters: defghijklmnopqrstuvwxyz\n", - "Please guess a letter: \n", - "d\n", - "Oops! That letter is not in my word: _ _ _ _ \n", - "-----------------\n", - "You have 1 guesses left\n", - "Available letters: efghijklmnopqrstuvwxyz\n", - "Please guess a letter: \n", - "e\n", - "Good guess: e_ _ e\n", - "-----------------\n", - "You have 1 guesses left\n", - "Available letters: fghijklmnopqrstuvwxyz\n", - "Please guess a letter: \n", - "f\n", - "Oops! That letter is not in my word: e_ _ e\n", - "-----------------\n", - "Sorry, you ran out of guesses. The word was else\n", - "Welcome to the game Hangman!\n", - "I am thinking of a word that is 8 letters long.\n", - "You have 3 warnings left.\n", - "-----------------\n", - "You have 6 guesses left\n", - "Available letters: abcdefghijklmnopqrstuvwxyz\n", - "Please guess a letter: \n", - "s\n", - "Good guess: _ _ _ _ _ _ s_ \n", - "-----------------\n", - "You have 6 guesses left\n", - "Available letters: abcdefghijklmnopqrtuvwxyz\n", - "Please guess a letter: \n", - "i\n", - "Good guess: _ _ _ _ _ _ si\n", - "-----------------\n", - "You have 6 guesses left\n", - "Available letters: abcdefghjklmnopqrtuvwxyz\n", - "Please guess a letter: \n", - "d\n", - "Oops! That letter is not in my word: _ _ _ _ _ _ si\n", - "-----------------\n", - "You have 5 guesses left\n", - "Available letters: abcefghjklmnopqrtuvwxyz\n", - "Please guess a letter: \n", - "y\n", - "Good guess: _ _ _ _ y_ si\n", - "-----------------\n", - "You have 5 guesses left\n", - "Available letters: abcefghjklmnopqrtuvwxz\n", - "Please guess a letter: \n", - "a\n", - "Good guess: _ _ _ _ yasi\n", - "-----------------\n", - "You have 5 guesses left\n", - "Available letters: bcefghjklmnopqrtuvwxz\n", - "Please guess a letter: \n", - "r\n", - "Good guess: _ _ r_ yasi\n", - "-----------------\n", - "You have 5 guesses left\n", - "Available letters: bcefghjklmnopqtuvwxz\n", - "Please guess a letter: \n", - "e\n", - "Good guess: _ _ reyasi\n", - "-----------------\n", - "You have 5 guesses left\n", - "Available letters: bcfghjklmnopqtuvwxz\n", - "Please guess a letter: \n", - "e\n", - "Oops! You've already guessed that letter. You have 2 warnings left: _ _ reyasi\n", - "-----------------\n", - "You have 5 guesses left\n", - "Available letters: bcfghjklmnopqtuvwxz\n", - "Please guess a letter: \n", - "h\n", - "Good guess: _ hreyasi\n", - "-----------------\n", - "You have 5 guesses left\n", - "Available letters: bcfgjklmnopqtuvwxz\n", - "Please guess a letter: \n", - "S\n", - "Good guess: _ hreyasi\n", - "-----------------\n", - "You have 5 guesses left\n", - "Available letters: bcfgjklmnopqtuvwxz\n", - "Please guess a letter: \n", - "e\n", - "Oops! You've already guessed that letter. You have 1 warnings left: _ hreyasi\n", - "-----------------\n", - "You have 5 guesses left\n", - "Available letters: bcfgjklmnopqtuvwxz\n", - "Please guess a letter: \n", - "r\n", - "Oops! You've already guessed that letter. You have 0 warnings left: _ hreyasi\n", - "-----------------\n", - "You have 5 guesses left\n", - "Available letters: bcfgjklmnopqtuvwxz\n", - "Please guess a letter: \n", - "t\n", - "Oops! That letter is not in my word: _ hreyasi\n", - "-----------------\n", - "You have 4 guesses left\n", - "Available letters: bcfgjklmnopquvwxz\n", - "Please guess a letter: \n", - "o\n", - "Oops! That letter is not in my word: _ hreyasi\n", - "-----------------\n", - "You have 2 guesses left\n", - "Available letters: bcfgjklmnpquvwxz\n", - "Please guess a letter: \n", - "o\n", - "Oops! You've already guessed that letter. You have no warnings left so you lose one guess: _ hreyasi\n", - "-----------------\n", - "You have 1 guesses left\n", - "Available letters: bcfgjklmnpquvwxz\n", - "Please guess a letter: \n", - "o\n", - "Oops! You've already guessed that letter. You have no warnings left so you lose one guess: _ hreyasi\n", - "-----------------\n", - "Sorry, you ran out of guesses. The word was Shreyasi\n", - "Welcome to the game Hangman!\n", - "I am thinking of a word that is 8 letters long.\n", - "You have 3 warnings left.\n", - "-----------------\n", - "You have 6 guesses left\n", - "Available letters: abcdefghijklmnopqrstuvwxyz\n", - "Please guess a letter: \n", - "a\n", - "Good guess: _ a_ _ _ _ _ _ \n", - "-----------------\n", - "You have 6 guesses left\n", - "Available letters: bcdefghijklmnopqrstuvwxyz\n", - "Please guess a letter: \n", - "p\n", - "Oops! That letter is not in my word: _ a_ _ _ _ _ _ \n", - "-----------------\n", - "You have 5 guesses left\n", - "Available letters: bcdefghijklmnoqrstuvwxyz\n", - "Please guess a letter: \n", - "l\n", - "Oops! That letter is not in my word: _ a_ _ _ _ _ _ \n", - "-----------------\n", - "You have 4 guesses left\n", - "Available letters: bcdefghijkmnoqrstuvwxyz\n", - "Please guess a letter: \n", - "*\n", - "Possible word matches are: \n", - "babbling bachelor bacillus backings backbite backbone backdrop backfire backlogs backrest backside backslid backspin backstop badgered badmouth baffling baggiest bagpiper bagpipes baguette bailiffs bailouts bakelite bakeries baldness baldrics balinese balkiest balloons balloted ballroom ballyhoo balmiest baluster bandying banditry banished banishes banister banjoist bankbook bankroll bankrupt bannered banquets banshees bantered baptists baptisms baptized baptizes barbered barbecue barbells barberry bareness barefoot bargello baritone barkings baronies baroness baronets barouche barreled barrette barriers barrooms basement baseborn baseless basenjis basilisk basketry bassinet bassoons basswood bastions bastings bastille batching bathetic bathoses bathrobe bathroom bathtubs batistes battiest battings battened battered battling bauxites bawdiest bayberry bayonets cabinets cabochon caboodle cabooses cackling caddying caddises cadences cadenced cadmiums caduceus caffeine caginess caissons caitiffs cajoling cajolery calcined calcines calcites calcitic calciums calculus caldrons calfskin calibers calicoes calipers callings calliope callused calluses calmness calomels calories calorics calumets calypsos cambered cambiums cambrics cameroon camisole camomile campfire camphors campsite campuses canceled candying candidly candling canister cankered canniest canoeing canoeist canonize canopied canopies cantered canteens canticle capering capeskin capitols caprices capriole capsized capsizes capstone capsules capsuled captions captious captives captured captures capuchin carbides carbines carbolic carbonic carbonyl carboxyl careered careened carefree careless caressed caresses careworn carillon carmines caroling carolers caroming carotene carotids caroused carouses carousel carpeted carports carrions carrying carriers cartoned cartoons carvings casement casework cashiers cashmere cassette cassocks castings castling castoffs casuists catbirds catching catchers catchier category catering caterers catheter cathodes catholic cationic cattiest caucused caucuses cauldron caulking caustics cautious cautions caviling cavilers cavities cavorted cayennes dabbling dabblers dactylic daffiest daffodil daintily daintier dainties daiquiri dairying dairymen dallying dampness dampened dandling dandruff dangling dankness dappling daringly darkness darkened darkroom darlings dartling dashikis dateline daughter daunting dauphins dawdling daybooks daylight daytimes dazzling eagerest eardrums earliest earldoms earlobes earmuffs earnings earnests earphone earrings earshots earthier easement easiness easterly eateries fabulist fabulous faceless faceting facility factions factious factored factotum faddists fagoting faiences failings failures fainting faintest fairness faithful fakeries falconed falconer falconry fallibly fallible fallowed falsetto faltered families famished famously fancying fanciers fanciest fanciful fanlight farceurs farewell farrowed farthing farthest fascists fascisms fascicle fashions fastness fastened fastener fathered fatherly fathomed fatigued fatigues fattiest fattened faulting faultier fauvisms favoring favorite gabbiest gabbling gabfests gadflies gadgetry gaggling gaieties galleons galloped galoshes gambling gamblers gamboled gamecock gamester gammoned gangling ganglion ganglier gangrene gangster gantlets gantries garbling gardened gardener gargling gargoyle garlicky garments garnered garrison garroted garrotes gartered gaslight gasoline gassiest gassings gasworks gatefold gatepost gathered gatherer gaudiest gauntest gauntlet gauziest gaveling gavottes gawkiest gayeties gazelles gazetted gazettes habiting habitues habitude hackling hackneys haggling hagglers hairiest haircuts hairless hairline hairpins halberds haleness halftone hallooed hallowed halogens haltered hamilton hammered hammocks hampered hamsters handiest handbill handbook handcuff handfuls handguns handling handlers handouts handsome handwork handymen hangings hangdogs hangouts hangover hankered haploids happiest happened harbored hardiest hardness hardened hardener hardship hardtops hardwire hardwood harelips haricots harmless harmonic harpists harpoons harrying harriers harrowed harshest hartford harvests hassling hassocks hastiest hastened hatboxes hatching hatchery hatchets hauberks haunches haunting hautboys hauteurs hawkweed hawthorn hayforks haylofts hayseeds haywires hazelnut haziness jabbered jackboot jacketed jackpots jadeites jaggedly jailbird jalopies jalousie jamboree jangling janitors japeries jaundice jaunting jauntily jauntier javelins jawboned jawbones jazziest katydids labeling labelers laboring laborers laborite laburnum lacewing laciness lacquers lacrosse lactoses ladybird ladybugs ladylike ladylove ladyship laetrile lakeside lambency lambskin lamented lampoons lamppost lampreys lancelet lancelot landings landlord languish languors lankiest lanolins lanterns lapwings larcener larkspur larruped larynges larynxes lashings lassoing latching latchkey lateness lathered latitude latrines latterly latticed lattices laughing laughter launched launcher launches launders lavender lavished lavishes lavishly lawfully lawgiver lawsuits laxities layering layettes layovers laziness machetes machined machines machismo mackerel maddened madhouse madwomen maestros magnetic magnetos mahjongs maidenly mailings mainline maintops majestic majoring majority maldives maleness maligned malinger malmseys maltoses mammoths mandible mandolin mandrels mandrill maneuver manfully mangiest mangling mangrove manholes manhoods manhunts manicure manifest manifold manikins maniples manliest mannered mannerly manpower mansions mantises mantling manumits marbling marching marchers margined marigold mariners maritime markings markdown markedly marketed marketer marksmen marlines marmoset marooned marquees marquise marrying marshier martinet martinis martyred marveled marxists masseurs masseuse mastered masterly mastiffs mastitis mastodon mastoids matching matchbox materiel matinees matrices matrixes matronly mattings mattered mattocks mattress maturing maturity maunders maverick maximize maximums mayflies nacelles nacreous naivetes nameless nankeens naperies napoleon narcoses narcosis narcotic narrowed narrower narrowly nascence nastiest nativity nattiest nauseous nautilus oarlocks pabulums pacifist pacifism pacified pacifies pacifier packings paddling paddocks padlocks pageboys painless painting painters pairings paisleys paleness palettes palfreys palimony palinode palmiest palmists palmetto palomino paltered paltrier pampered pamphlet pandered pandemic pandowdy paneling panelist pangolin panicles panicked panniers panpipes panthers pantheon pantries pantsuit papering papooses parboils parceled parching pardoned parented paretics parishes parities parleyed parodied parodies paroling parolees parotids paroxysm parquets parrying parroted parsnips partings parterre particle partners parvenus passions passings passbook passkeys passover passport password pastiest pasterns pastiche pastille pastimes pastries pastured pastures patching patented patently patentee pathetic pathogen patience patients patriots patroons pattered patterns paunches paupered pavement pavilion pawnshop paycheck payments payrolls rabidity raccoons racquets radioing radishes radiuses raffling ragtimes ragweeds railings raillery raiments rainiest rainbows raindrop rainless rakishly rallying rambling ramblers ramekins ramified ramifies ranching ranchers ranchero randomly rangiest rankling ransomed rapidity rapidest rappings rapports raptures rarefied rarefies rarities rashness raspiest ratchets ratified ratifies rationed ratlines rattiest rattling rattlers raveling ravening ravenous ravished ravishes rawboned rawhides saboteur sacristy saddened saddling saddlers sadirons sadistic safeness safeties saffrons sageness sailfish sailorly sainting salesmen salience salients salinity sallying sallower saltiest saltines saluting sameness samisens samoyeds sampling samplers sanctity sanctify sanction sanctums sandiest sandlots sandwich saneness sanguine sanitize sanskrit sapience saplings sappiest sapphire sapwoods sardined sardines sardonic sassiest satchels satirist satirize sauciest saunters sauteing sauterne savoring savories savvying sawbones sawbucks sawhorse sawmills saxhorns tablehop tabletop tabloids tabooing taciturn tackiest tackling tacklers taconite tactless tadpoles tailored tailpipe tailspin tailwind tainting takedown takeoffs takeover talented talkiest tallness tallyhos tallying talmudic tambours tameness tampered tangiest tangelos tangents tangibly tangible tangling tangoing tantrums tapering tapestry tapeworm taprooms taproots tapsters tardiest targeted tarrying tartness tasseled tastiest tasteful tattered tattling tattlers tattooed taunting tautness tawdrier tawniest taxonomy vaccines vacuoles vacuumed valences valeting validity valkyrie valorous vamoosed vamooses vampires vandykes vanillin vanished vanishes vanities vanquish vapidity vaporing vaporous vaporize vaqueros varicose varmints vaseline vastness vaulting vaunting wackiest waddings waddling waffling wagering waggling wainscot waitress wakening walkouts walleyed walleyes walloons walloped wallowed walruses waltzing wandered wanderer wangling wantoned wantonly warbling warblers wardrobe wardroom wardship wariness warlocks warlords warnings warriors warships wartimes washings washbowl washouts washroom washtubs wastings wasteful wastrels watching watchers watchdog watchful watchmen watering waterier waterloo wattling wavering waviness waxiness waxwings waxworks waybills waysides yachting yarmulke \n", - "-----------------\n", - "You have 4 guesses left\n", - "Available letters: bcdefghijkmnoqrstuvwxyz\n", - "Please guess a letter: \n", - "b\n", - "Oops! That letter is not in my word: _ a_ _ _ _ _ _ \n", - "-----------------\n", - "You have 3 guesses left\n", - "Available letters: cdefghijkmnoqrstuvwxyz\n", - "Please guess a letter: \n", - "c\n", - "Oops! That letter is not in my word: _ a_ _ _ _ _ _ \n", - "-----------------\n", - "You have 2 guesses left\n", - "Available letters: defghijkmnoqrstuvwxyz\n", - "Please guess a letter: \n", - "g\n", - "Good guess: _ a_ g_ _ _ g\n", - "-----------------\n", - "You have 2 guesses left\n", - "Available letters: defhijkmnoqrstuvwxyz\n", - "Please guess a letter: \n", - "*\n", - "Possible word matches are: \n", - "dangling jangling laughing mangling tangling tangoing wangling \n", - "-----------------\n", - "You have 2 guesses left\n", - "Available letters: defhijkmnoqrstuvwxyz\n", - "Please guess a letter: \n", - "t\n", - "Good guess: ta_ g_ _ _ g\n", - "-----------------\n", - "You have 2 guesses left\n", - "Available letters: defhijkmnoqrsuvwxyz\n", - "Please guess a letter: \n", - "n\n", - "Good guess: tang_ _ ng\n", - "-----------------\n", - "You have 2 guesses left\n", - "Available letters: defhijkmoqrsuvwxyz\n", - "Please guess a letter: \n", - "l\n", - "Oops! You've already guessed that letter. You have 2 warnings left: tang_ _ ng\n", - "-----------------\n", - "You have 2 guesses left\n", - "Available letters: defhijkmoqrsuvwxyz\n", - "Please guess a letter: \n", - "*\n", - "Possible word matches are: \n", - "tangling tangoing \n", - "-----------------\n", - "You have 2 guesses left\n", - "Available letters: defhijkmoqrsuvwxyz\n", - "Please guess a letter: \n", - "i\n", - "Good guess: tang_ ing\n", - "-----------------\n", - "You have 2 guesses left\n", - "Available letters: defhjkmoqrsuvwxyz\n", - "Please guess a letter: \n", - "o\n", - "Good guess: tangoing\n", - "-----------------\n", - "Congratulations, you won!\n", - "Your total score for this game is: 12\n" - ], - "name": "stdout" - } - ] - } - ] -} \ No newline at end of file diff --git a/Assignment_1_and_2/Assignment_2_Team_5.ipynb b/Assignment_1_and_2/Assignment_2_Team_5.ipynb deleted file mode 100644 index 3b9e585..0000000 --- a/Assignment_1_and_2/Assignment_2_Team_5.ipynb +++ /dev/null @@ -1,416 +0,0 @@ -{ - "nbformat": 4, - "nbformat_minor": 0, - "metadata": { - "colab": { - "name": "Assignment_2_Team_5.ipynb", - "provenance": [], - "collapsed_sections": [], - "include_colab_link": true - }, - "kernelspec": { - "name": "python3", - "display_name": "Python 3" - }, - "language_info": { - "name": "python" - } - }, - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "id": "view-in-github", - "colab_type": "text" - }, - "source": [ - "\"Open" - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "FnOMU764epk1", - "colab": { - "base_uri": "https://localhost:8080/" - }, - "outputId": "4f90409a-ff40-49d8-ff9f-8b4d11c1ee96" - }, - "source": [ - "import random\n", - "import string\n", - "!wget https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/assignments/ps2.zip\n", - "!mkdir file_destination\n", - "!unzip ps2.zip -d file_destination" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "text": [ - "--2021-04-17 17:47:54-- https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/assignments/ps2.zip\n", - "Resolving ocw.mit.edu (ocw.mit.edu)... 151.101.2.133, 151.101.66.133, 151.101.130.133, ...\n", - "Connecting to ocw.mit.edu (ocw.mit.edu)|151.101.2.133|:443... connected.\n", - "HTTP request sent, awaiting response... 200 OK\n", - "Length: 458195 (447K) [application/zip]\n", - "Saving to: ‘ps2.zip.3’\n", - "\n", - "ps2.zip.3 100%[===================>] 447.46K --.-KB/s in 0.04s \n", - "\n", - "2021-04-17 17:47:55 (10.2 MB/s) - ‘ps2.zip.3’ saved [458195/458195]\n", - "\n", - "Archive: ps2.zip\n", - " inflating: file_destination/ps2/hangman.py \n", - " inflating: file_destination/ps2/MIT6_0001F16_Pset2.pdf \n", - " inflating: file_destination/ps2/words.txt \n" - ], - "name": "stdout" - } - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "FkG_RD33nSYU" - }, - "source": [ - "\n", - "def load_words():\n", - " print(\"Loading word list from file...\")\n", - " # inFile: file\n", - " inFile = open(\"/content/file_destination/ps2/words.txt\", 'r')\n", - " # line: string\n", - " line = inFile.readline()\n", - " # wordlist: list of strings\n", - " wordlist = line.split()\n", - " print(\" \", len(wordlist), \"words loaded.\")\n", - " return wordlist\n", - "\n" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "id": "Z_Amtqdae3yS" - }, - "source": [ - "def choose_word(wordlist):\n", - " return random.choice(wordlist)" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "id": "E0eCjYCle84B" - }, - "source": [ - "def is_word_guessed(secret_word, letters_guessed):\n", - " for letter in secret_word:\n", - " if letter in letters_guessed:\n", - " pass\n", - " else:\n", - " return False\n", - " return True" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "id": "QmzIJbcHfAK5" - }, - "source": [ - "def get_guessed_word(secret_word, letters_guessed):\n", - " string=''\n", - " for x in secret_word:\n", - " if x in letters_guessed:\n", - " string=string+x\n", - " else:\n", - " string=string+'_ '\n", - " return string" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "id": "71Lf9CFcfD5V" - }, - "source": [ - "def get_availible_letters(letters_guessed):\n", - " mum='abcdefghijklmnopqrstuvwxyz'\n", - " str=''\n", - " for c in mum:\n", - " if c in letters_guessed:\n", - " pass\n", - " else:\n", - " str=str+c\n", - " return str" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "id": "8RtPjLBzfHmh" - }, - "source": [ - "def hangman(secret_word):\n", - " # FILL IN YOUR CODE HERE AND DELETE \"pass\"\n", - " print(\"Welcome to the game Hangman!\")\n", - " print(\"I am thinking of a word that is \"+str(len(secret_word))+ \" letters long.\")\n", - " print(\"You have 3 warnings left.\")\n", - " print(\"-------------\")\n", - " mum='abcdefghijklmnopqrstuvwxyz'\n", - " warning=3\n", - " guesses=6\n", - " letters_guessed=[]\n", - " vowel=\"aeiou\"\n", - " count=0\n", - " while guesses>0:\n", - " print(\"You have \"+str(guesses)+\" guesses left.\")\n", - " print(\"Availible letters:\",end=\" \")\n", - " y=get_availible_letters(letters_guessed)\n", - " print(y)\n", - " print(\"Please guess a letter: \",end=\" \")\n", - " char=input()\n", - " if char not in mum:\n", - " warning-=1\n", - " if warning<-1:\n", - " warning=-1\n", - " if warning>=0:\n", - " print(\"Oops! That is not a valid letter. You have \"+str(warning)+ \" warnings left: \"+str(get_guessed_word(secret_word,letters_guessed)))\n", - " else:\n", - " print(\"Oops! That is not a valid letter. You have no warnings left so you lose one guess:\"+str(get_guessed_word(secret_word,letters_guessed)))\n", - " guesses-=1\n", - " elif (char in secret_word) and (char not in letters_guessed):\n", - " letters_guessed.append(char)\n", - " count+=1\n", - " print(\"Good guess: \"+get_guessed_word(secret_word,letters_guessed))\n", - " elif (char in letters_guessed):\n", - " warning-=1\n", - " if warning<-1:\n", - " warning=-1\n", - " if warning>=0:\n", - " print(\"Oops! You've already guessed that letter. You have \"+str(warning)+ \" warnings left: \"+str(get_guessed_word(secret_word,letters_guessed)))\n", - " else:\n", - " print(\"Oops! You've already guessed that letter. You have no warnings left so you lose one guess:\"+str(get_guessed_word(secret_word,letters_guessed)))\n", - " guesses-=1\n", - " else:\n", - " letters_guessed.append(char)\n", - " print(\"Oops! That letter is not in my word: \"+str(get_guessed_word(secret_word,letters_guessed)))\n", - " if char in vowel:\n", - " guesses-=2\n", - " else:\n", - " guesses-=1\n", - " print(\"-------------\")\n", - " if (get_guessed_word(secret_word,letters_guessed).strip() == secret_word.strip()):\n", - " break\n", - " if guesses<=0:\n", - " print(\"Sorry, you ran out of guesses. The word was \"+secret_word)\n", - " else:\n", - " print(\"Congratulations, you won!\");\n", - " print(\"Your total score for this game is: \"+str(guesses*count))" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "id": "DBtWAqU-kVa1" - }, - "source": [ - "def match_with_gaps(my_word,other_word):\n", - " my_word=my_word.replace(\" \",\"\")\n", - " other_word=other_word.replace(\" \",\"\")\n", - " # print(my_word)\n", - " # print(other_word)\n", - " if(len(my_word)!=len(other_word)):\n", - " return False\n", - " for i in range(0,len(my_word)):\n", - " if((my_word[i]!='_') and (my_word[i]!=other_word[i])):\n", - " return False\n", - " if((my_word[i]=='_') and (other_word[i] in my_word)):\n", - " return False\n", - " return True\n", - "\n", - "# print(match_with_gaps(\"a _ _ o e\",\"apple\"))" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "id": "1HHZlA_TkVnf" - }, - "source": [ - "def show_possible_matches(my_word):\n", - " count=0\n", - " for word in wordlist:\n", - " if(match_with_gaps(my_word,word)):\n", - " print(word,end=\" \")\n", - " count=1\n", - " if(count==0):\n", - " print(\"No matches found\",end=\" \")\n", - " print()" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "id": "mBXKcBc0XdC8" - }, - "source": [ - "def hangman_with_hints(secret_word):\n", - " # FILL IN YOUR CODE HERE AND DELETE \"pass\"\n", - " print(\"Welcome to the game Hangman!\")\n", - " print(\"I am thinking of a word that is \"+str(len(secret_word))+ \" letters long.\")\n", - " print(\"You have 3 warnings left.\")\n", - " print(\"-------------\")\n", - " mum='abcdefghijklmnopqrstuvwxyz'\n", - " warning=3\n", - " guesses=6\n", - " letters_guessed=[]\n", - " vowel=\"aeiou\"\n", - " count=0\n", - " while guesses>0:\n", - " print(\"You have \"+str(guesses)+\" guesses left.\")\n", - " print(\"Availible letters:\",end=\" \")\n", - " y=get_availible_letters(letters_guessed)\n", - " print(y)\n", - " print(\"Please guess a letter: \",end=\" \")\n", - " char=input()\n", - " if char=='*':\n", - " print(\"Possible matches are:\")\n", - " show_possible_matches(get_guessed_word(secret_word,letters_guessed))\n", - " elif char not in mum:\n", - " warning-=1\n", - " if warning<-1:\n", - " warning=-1\n", - " if warning>=0:\n", - " print(\"Oops! That is not a valid letter. You have \"+str(warning)+ \" warnings left: \"+str(get_guessed_word(secret_word,letters_guessed)))\n", - " else:\n", - " print(\"Oops! That is not a valid letter. You have no warnings left so you lose one guess:\"+str(get_guessed_word(secret_word,letters_guessed)))\n", - " guesses-=1\n", - " elif (char in secret_word) and (char not in letters_guessed):\n", - " letters_guessed.append(char)\n", - " count+=1\n", - " print(\"Good guess: \"+get_guessed_word(secret_word,letters_guessed))\n", - " elif (char in letters_guessed):\n", - " warning-=1\n", - " if warning<-1:\n", - " warning=-1\n", - " if warning>=0:\n", - " print(\"Oops! You've already guessed that letter. You have \"+str(warning)+ \" warnings left: \"+str(get_guessed_word(secret_word,letters_guessed)))\n", - " else:\n", - " print(\"Oops! You've already guessed that letter. You have no warnings left so you lose one guess:\"+str(get_guessed_word(secret_word,letters_guessed)))\n", - " guesses-=1\n", - " else:\n", - " letters_guessed.append(char)\n", - " print(\"Oops! That letter is not in my word: \"+str(get_guessed_word(secret_word,letters_guessed)))\n", - " if char in vowel:\n", - " guesses-=2\n", - " else:\n", - " guesses-=1\n", - " print(\"-------------\")\n", - " if (get_guessed_word(secret_word,letters_guessed).strip() == secret_word.strip()):\n", - " break\n", - " if guesses<=0:\n", - " print(\"Sorry, you ran out of guesses. The word was \"+secret_word)\n", - " else:\n", - " print(\"Congratulations, you won!\");\n", - " print(\"Your total score for this game is: \"+str(guesses*count))" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "id": "VcmxBMh4Xk5J", - "colab": { - "base_uri": "https://localhost:8080/" - }, - "outputId": "97bc7610-815f-427e-fdf2-236cbe8086d8" - }, - "source": [ - "wordlist = load_words()\n", - "secret_word = choose_word(wordlist)\n", - "hangman_with_hints(secret_word)" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "text": [ - "Loading word list from file...\n", - " 55900 words loaded.\n", - "Welcome to the game Hangman!\n", - "I am thinking of a word that is 9 letters long.\n", - "You have 3 warnings left.\n", - "-------------\n", - "You have 6 guesses left.\n", - "Availible letters: abcdefghijklmnopqrstuvwxyz\n", - "Please guess a letter: a\n", - "Good guess: a_ _ _ a_ _ _ _ \n", - "-------------\n", - "You have 6 guesses left.\n", - "Availible letters: bcdefghijklmnopqrstuvwxyz\n", - "Please guess a letter: *\n", - "Possible matches are:\n", - "abeyances abidances abstained acclaimed acquaints actuality actualize actuaries actuating actuation actuators adoration adulating adulation adulators adulatory aerialist affiances affianced afflation ageratums agitating agitation agitators airmailed alliances alphabets ambiances amorality animation animalism animating animators annealing anomalies anomalous anteaters appealing appearing appeasing appeasers applauded appraised appraiser appraises archaisms archangel aromatics assuaging astraddle atonality attracted averaging avocation awkwarder awkwardly \n", - "-------------\n", - "You have 6 guesses left.\n", - "Availible letters: bcdefghijklmnopqrstuvwxyz\n", - "Please guess a letter: f\n", - "Oops! That letter is not in my word: a_ _ _ a_ _ _ _ \n", - "-------------\n", - "You have 5 guesses left.\n", - "Availible letters: bcdeghijklmnopqrstuvwxyz\n", - "Please guess a letter: g\n", - "Oops! That letter is not in my word: a_ _ _ a_ _ _ _ \n", - "-------------\n", - "You have 4 guesses left.\n", - "Availible letters: bcdehijklmnopqrstuvwxyz\n", - "Please guess a letter: h\n", - "Oops! That letter is not in my word: a_ _ _ a_ _ _ _ \n", - "-------------\n", - "You have 3 guesses left.\n", - "Availible letters: bcdeijklmnopqrstuvwxyz\n", - "Please guess a letter: i\n", - "Good guess: a_ i_ a_ _ _ _ \n", - "-------------\n", - "You have 3 guesses left.\n", - "Availible letters: bcdejklmnopqrstuvwxyz\n", - "Please guess a letter: j\n", - "Oops! That letter is not in my word: a_ i_ a_ _ _ _ \n", - "-------------\n", - "You have 2 guesses left.\n", - "Availible letters: bcdeklmnopqrstuvwxyz\n", - "Please guess a letter: k\n", - "Oops! That letter is not in my word: a_ i_ a_ _ _ _ \n", - "-------------\n", - "You have 1 guesses left.\n", - "Availible letters: bcdelmnopqrstuvwxyz\n", - "Please guess a letter: l\n", - "Oops! That letter is not in my word: a_ i_ a_ _ _ _ \n", - "-------------\n", - "Sorry, you ran out of guesses. The word was animators\n" - ], - "name": "stdout" - } - ] - } - ] -} \ No newline at end of file diff --git a/Assignment_1_and_2/Team2_Wikipedia_simplifier.ipynb b/Assignment_1_and_2/Team2_Wikipedia_simplifier.ipynb deleted file mode 100644 index 4b979c2..0000000 --- a/Assignment_1_and_2/Team2_Wikipedia_simplifier.ipynb +++ /dev/null @@ -1,863 +0,0 @@ -{ - "nbformat": 4, - "nbformat_minor": 0, - "metadata": { - "colab": { - "name": "Team2-Wikipedia-simplifier.ipynb", - "provenance": [], - "collapsed_sections": [], - "toc_visible": true - }, - "kernelspec": { - "name": "python3", - "display_name": "Python 3" - }, - "language_info": { - "name": "python" - } - }, - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "id": "ZmfA7M1VtkxM" - }, - "source": [ - "# **Wikipidea Simplifier**\n", - "### *ACA 2021 Project*\n", - "\n", - "---\n", - "\n", - "> **Team 2**\n", - " 1. Akanksha Singh\n", - " 2. Harshit Raj\n", - " 3. Kunwar Preet Singh\n", - "\n", - "---\n", - "\n", - "> **Mentors**\n", - " * Ananya Gupta\n", - " * Rishabh Dugaye\n", - "\n", - "---\n", - "\n", - "April 12, 2021" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "wyTYGOnB1IDU" - }, - "source": [ - "# **General Instructions**\n", - "\n", - "* If you need more help with python, following links will help you:\n", - " * https://www.tutorialspoint.com/python/index.htm \n", - " * https://www.w3schools.com/python/\n", - "\n", - "* We want all of you to do the assignments on Colab and submit a Colab notebook. For this, you can go through the following links: \n", - " * https://www.coursera.org/lecture/getting-started-with-tensor-flow2/coding-tutorial-introduction-to-google-colab-qWInB\n", - " * https://www.youtube.com/watch?v=i-HnvsehuSw\n", - "\n", - "* Lastly, set up a Github account. If possible, go through this link to understand git: \n", - " * https://www.vogella.com/tutorials/Git/article.html. \n", - " * Next Sunday, that is, 18/04, we’ll conduct a git tutorial to help you through it. " - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "_GTSrNaX0dm2" - }, - "source": [ - "# **Assignment 1**\n", - "\n", - "You’re supposed to the HW1 from this link:\n", - "> https://www.cis.upenn.edu/~cis192/tliu/ \n", - "\n", - "Due date is Thu, Apr 15 by 6 PM" - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "JvEZivx729iC", - "outputId": "70ea3158-eb43-4036-8a93-44e5400c6877" - }, - "source": [ - "# Assing-1: Team 2\n", - "# Author : Aska\n", - "\n", - "import json\n", - "\n", - "trie = {\n", - " \"b\": {\n", - " \"e\":{\n", - " \"t\": {}\n", - " },\n", - " \"i\": {\n", - " \"d\": {},\n", - " \"t\": {}\n", - " }\n", - " },\n", - " \"s\": {\n", - " \"e\": {\n", - " \"t\": {}\n", - " },\n", - " \"t\": {\n", - " \"e\": {\n", - " \"p\": {}\n", - " }\n", - " }\n", - " }\n", - " }\n", - "curr=trie\n", - "word=[]\n", - "def print_words(trie,word):\n", - " # print(\"we entered this\")\n", - " if bool(trie)==0:\n", - " print(str(word))\n", - " else:\n", - " nodes=list(trie)\n", - " i=0\n", - " while i https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/assignments/ \n", - "\n", - "Due date is Thu, Apr 18 by 6 PM" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "Ovaxht3fgAkj" - }, - "source": [ - "## **Hangman (game)**\n", - "\n", - "#### **Pre req**\n", - "\n", - "\n", - "###### **To run the latter code we need a file \"words.txt\"**\n", - "\n", - "For the same Run the prev code before i.e. \n", - "\n", - "```\n", - "!wget https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/assignments/ps2.zip\n", - "!unzip p*\n", - " ```\n", - "Afterwards the next code should work just fine!\n", - "\n", - "---\n", - "\n", - "#### **How to play**\n", - "1. Choose would u like to take hints during game or not. \n", - " feed `y`if u want hints, `n` otherwise \n", - "\n", - "2. Then the system will tell you how many letter word u are about to guess.\n", - "\n", - "3. You start with 6 guesses \n", - " > loose one guess for each wrong consonant guessed \n", - " loose two guesses for each wrong vowel guessed \n", - "\n", - " Game ends when you run out of guesses\n", - "\n", - "4. [Only For Hint Mode] When u insert `*` u get hints to what the words might be\n", - "\n", - "5. When u insert a letter it accordingly\n", - "\n", - "6. Any invalid input will give u a warning \n", - " after three warning you start loosing guesses \n", - " Invalid input: any repeated letter or anything which is not letter. (`*` is allowed in hint mode)\n", - "\n", - "7. Score is calculated as : \n", - " > `Total score = guesses_remaining * number unique letters in secret_word`\n", - "\n" - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "86ZP0_kU4gzd", - "colab": { - "base_uri": "https://localhost:8080/" - }, - "outputId": "bfacc7e4-72c4-4902-fd1c-3cd701847ac7" - }, - "source": [ - "!wget https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/assignments/ps2.zip\n", - "!unzip p*\n" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "text": [ - "--2021-04-17 11:09:25-- https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/assignments/ps2.zip\n", - "Resolving ocw.mit.edu (ocw.mit.edu)... 151.101.2.133, 151.101.66.133, 151.101.130.133, ...\n", - "Connecting to ocw.mit.edu (ocw.mit.edu)|151.101.2.133|:443... connected.\n", - "HTTP request sent, awaiting response... 200 OK\n", - "Length: 458195 (447K) [application/zip]\n", - "Saving to: ‘ps2.zip.2’\n", - "\n", - "\rps2.zip.2 0%[ ] 0 --.-KB/s \rps2.zip.2 100%[===================>] 447.46K --.-KB/s in 0.01s \n", - "\n", - "2021-04-17 11:09:25 (45.3 MB/s) - ‘ps2.zip.2’ saved [458195/458195]\n", - "\n", - "Archive: ps2.zip\n", - "caution: filename not matched: ps2.zip\n", - "caution: filename not matched: ps2.zip.1\n", - "caution: filename not matched: ps2.zip.2\n" - ], - "name": "stdout" - } - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "yveGw5IFdcuI", - "outputId": "df7ed66c-d9e1-45ae-f743-bac7757c244c" - }, - "source": [ - "# FIRST RUN PREV CODE AND GET \"words.txt\" :D\n", - "\n", - "# Author : Salazar.h\n", - "# File : hangman.py\n", - "# Path : ~/Documents/Wikipedia Simplifier/ps2\n", - "\n", - "# Hangman Game\n", - "\n", - "import random\n", - "import string\n", - "\n", - "WORDLIST_FILENAME = \"./ps2/words.txt\"\n", - "\n", - "\n", - "def load_words():\n", - " # Returns a list of valid words. Words are strings of lowercase letters.\n", - "\n", - " print(\"Loading word list from file...\")\n", - "\n", - " # inFile: file\n", - " inFile = open(WORDLIST_FILENAME, 'r')\n", - "\n", - " # line: string\n", - " line = inFile.readline()\n", - "\n", - " # wordlist: list of strings\n", - " wordlist = line.split()\n", - "\n", - " print(\" \", len(wordlist), \"words loaded.\")\n", - " return wordlist\n", - "\n", - "\n", - "def choose_word(wordlist):\n", - "\n", - " # wordlist (list): list of words (strings)\n", - " # Returns a word from wordlist at random\n", - "\n", - " return random.choice(wordlist)\n", - "\n", - "\n", - "# Load the list of words into the variable wordlist\n", - "# so that it can be accessed from anywhere in the program\n", - "wordlist = load_words()\n", - "\n", - "\n", - "def is_word_guessed(secret_word, letters_guessed):\n", - " '''\n", - " secret_word: string, the word the user is guessing; assumes all letters are lowercase\n", - "\n", - " letters_guessed: list (of letters), which letters have been guessed so far; assumes that all letters are lowercase\n", - "\n", - " returns: boolean, True if all the letters of secret_word are in letters_guessed; False otherwise\n", - " '''\n", - " for letter in secret_word:\n", - " if letter not in letters_guessed:\n", - " return False\n", - " return True\n", - "\n", - "\n", - "def get_guessed_word(secret_word, letters_guessed):\n", - " '''\n", - " secret_word: string, the word the user is guessing\n", - "\n", - " letters_guessed: list (of letters), which letters have been guessed so far\n", - "\n", - " returns: string, comprised of letters, underscores (_), and spaces that represents \n", - " which letters in secret_word have been guessed so far.\n", - " '''\n", - " out = \"\"\n", - " for letter in secret_word:\n", - " if letter in letters_guessed:\n", - " out += letter\n", - " else:\n", - " out += \"_ \"\n", - "\n", - " return out\n", - "\n", - "\n", - "def get_available_letters(letters_guessed):\n", - " '''\n", - " letters_guessed: list (of letters), which letters have been guessed so far\n", - " returns: string (of letters), comprised of letters that represents which letters have not\n", - " yet been guessed.\n", - " '''\n", - " out = \"\"\n", - " a = string.ascii_lowercase\n", - " for letter in a:\n", - " if letter not in letters_guessed:\n", - " out += letter\n", - "\n", - " return out\n", - "\n", - "\n", - "vowels = \"aeiou\"\n", - "\n", - "\n", - "def hangman(secret_word):\n", - "\n", - " # Hangman Driver Code\n", - " '''\n", - " secret_word: string, the secret word to guess.\n", - "\n", - " Starts up an interactive game of Hangman.\n", - "\n", - " * At the start of the game, let the user know how many \n", - " letters the secret_word contains and how many guesses s/he starts with.\n", - "\n", - " * The user should start with 6 guesses\n", - "\n", - " * Before each round, you should display to the user how many guesses\n", - " s/he has left and the letters that the user has not yet guessed.\n", - "\n", - " * Ask the user to supply one guess per round. Make sure to check that the user guesses a letter\n", - "\n", - " * The user should receive feedback immediately after each guess \n", - " about whether their guess appears in the computer's word.\n", - "\n", - " * After each guess, you should display to the user the \n", - " partially guessed word so far.\n", - "\n", - " * If the guess is the symbol *, print out all words in wordlist that\n", - " matches the current guessed word. \n", - "\n", - " '''\n", - " print(\"Welcome to the game Hangman without Hints!\")\n", - " print(\"I am thinking of a word that is {} letters long.\".format(len(secret_word)))\n", - "\n", - " # warning left thoda mehnat kar lete hai\n", - "\n", - " warning_left = 2\n", - " letters_guessed = []\n", - " guessed_word = get_guessed_word(secret_word, letters_guessed)\n", - " i = -1\n", - "\n", - " # guesssing loop\n", - "\n", - " while i < 5 and not is_word_guessed(secret_word, letters_guessed):\n", - " i += 1\n", - " print(\"------------------\")\n", - "\n", - " # print number of guesses left\n", - " print(\"You have {} guess{} left.\".format(6-i, 'es' if i < 5 else ''))\n", - "\n", - " # letters available\n", - " available_letters = get_available_letters(letters_guessed)\n", - " print(\"Available letters: \" + available_letters)\n", - "\n", - " # ask for a input\n", - " letter = input(\"Please guess a letter : \")\n", - " letter = letter.lower()\n", - "\n", - " # if the letter is already been guessed\n", - " if letter in letters_guessed:\n", - " if warning_left == -1:\n", - " print(\n", - " \"Oops! You've already guessed that letter. You loose a guess as no warning left: \" + guessed_word)\n", - " else:\n", - " print(\"Oops! You've already guessed that letter. You now have {} warning{}: \".format(\n", - " warning_left, '' if warning_left == 1 else 's') + guessed_word)\n", - " warning_left -= 1\n", - " i -= 1\n", - " continue\n", - "\n", - " # if not the letter\n", - " if letter not in string.ascii_lowercase:\n", - " if warning_left == -1:\n", - " print(\n", - " \"Oops! That is not a valid letter. You loose a guess as no warning left: \" + guessed_word)\n", - " else:\n", - " print(\"Oops! That is not a valid letter. You now have {} warning{}: \".format(\n", - " warning_left, '' if warning_left == 1 else 's') + guessed_word)\n", - " warning_left -= 1\n", - " i -= 1\n", - " continue\n", - "\n", - " letters_guessed += letter\n", - " guessed_word = get_guessed_word(secret_word, letters_guessed)\n", - "\n", - " # if letter avialable or not available in it\n", - " if letter in secret_word:\n", - " print(\"Good guess: \" + guessed_word)\n", - " i -= 1\n", - " else:\n", - " print(\"Oops! That letter is not in my word: \" + guessed_word)\n", - " if letter in vowels:\n", - " i += 1\n", - "\n", - " # the final result so just end it already\n", - " if is_word_guessed(secret_word, letters_guessed):\n", - " print(\"Congratulations, you won!\")\n", - " res = 0\n", - " for x in letters_guessed:\n", - " if x in secret_word:\n", - " res += 1\n", - " i = 5-i if i < 6 else 0\n", - " res = res * i\n", - " print(\"Your total score for this game is : {}\".format(res))\n", - " else:\n", - " print(\"Sorry, you ran out of guesses. The word was {}.\".format(secret_word))\n", - "\n", - " return\n", - "\n", - "\n", - "def match_with_gaps(my_word, other_word):\n", - " '''\n", - " my_word: string with _ characters, current guess of secret word\n", - " other_word: string, regular English word\n", - " returns: boolean, True if all the actual letters of my_word match the \n", - " corresponding letters of other_word, or the letter is the special symbol\n", - " _ , and my_word and other_word are of the same length;\n", - " False otherwise: \n", - " '''\n", - " my_word = my_word.replace(\" \", \"\")\n", - " \n", - " if len(my_word) != len(other_word):\n", - " return False\n", - " \n", - " for i in range(len(my_word)):\n", - " if my_word[i] == '_':\n", - " continue\n", - " if my_word[i] != other_word[i]:\n", - " return False\n", - " \n", - " return True\n", - "\n", - "\n", - "def show_possible_matches(my_word):\n", - " '''\n", - " my_word: string with _ characters, current guess of secret word\n", - " returns: nothing, but should print out every word in wordlist that matches my_word\n", - " Keep in mind that in hangman when a letter is guessed, all the positions\n", - " at which that letter occurs in the secret word are revealed.\n", - " Therefore, the hidden letter(_ ) cannot be one of the letters in the word\n", - " that has already been revealed.\n", - " '''\n", - " reslt = []\n", - " for x in wordlist:\n", - " if match_with_gaps(my_word, x):\n", - " reslt.append(x)\n", - " \n", - " \n", - " print(\"Possible word matches are: \")\n", - " print(* reslt, sep=', ')\n", - " print(\"Guess for: \", my_word)\n", - "\n", - "\n", - "def hangman_with_hints(secret_word):\n", - "\n", - " # Hangman with hints Driver Code\n", - "\n", - " '''\n", - " secret_word: string, the secret word to guess.\n", - "\n", - " Starts up an interactive game of Hangman.\n", - "\n", - " * At the start of the game, let the user know how many \n", - " letters the secret_word contains and how many guesses s/he starts with.\n", - "\n", - " * The user should start with 6 guesses\n", - "\n", - " * Before each round, you should display to the user how many guesses\n", - " s/he has left and the letters that the user has not yet guessed.\n", - "\n", - " * Ask the user to supply one guess per round. Make sure to check that the user guesses a letter\n", - "\n", - " * The user should receive feedback immediately after each guess \n", - " about whether their guess appears in the computer's word.\n", - "\n", - " * After each guess, you should display to the user the \n", - " partially guessed word so far.\n", - "\n", - " * If the guess is the symbol *, print out all words in wordlist that\n", - " matches the current guessed word. \n", - "\n", - " '''\n", - " print(\"Welcome to the game Hangman with Hints!\")\n", - " print(\"I am thinking of a word that is {} letters long.\".format(len(secret_word)))\n", - " \n", - " # warning left thoda mehnat kar lete hai\n", - " \n", - " warning_left = 2\n", - " letters_guessed = []\n", - " guessed_word = get_guessed_word(secret_word, letters_guessed)\n", - " i = -1\n", - "\n", - " # guesssing loop\n", - "\n", - " while i < 5 and not is_word_guessed(secret_word, letters_guessed):\n", - " i += 1\n", - " print(\"------------------\")\n", - "\n", - " # print number of guesses left\n", - " print(\"You have {} guess{} left.\".format(6-i, 'es' if i < 5 else ''))\n", - "\n", - " # letters available\n", - " available_letters = get_available_letters(letters_guessed)\n", - " print(\"Available letters: \" + available_letters)\n", - "\n", - " # ask for a input\n", - " letter = input(\"Please guess a letter : \")\n", - " letter = letter.lower()\n", - "\n", - " # reply to hint\n", - " if letter == '*':\n", - " show_possible_matches(guessed_word)\n", - " i -= 1\n", - " continue\n", - " \n", - " # if the letter is already been guessed\n", - " if letter in letters_guessed:\n", - " if warning_left == -1:\n", - " print(\n", - " \"Oops! You've already guessed that letter. You loose a guess as no warning left: \" + guessed_word)\n", - " else:\n", - " print(\"Oops! You've already guessed that letter. You now have {} warning{}: \".format(\n", - " warning_left, '' if warning_left == 1 else 's') + guessed_word)\n", - " warning_left -= 1\n", - " i -= 1\n", - " continue\n", - "\n", - " # if not the letter\n", - " if letter not in string.ascii_lowercase:\n", - " if warning_left == -1:\n", - " print(\n", - " \"Oops! That is not a valid letter. You loose a guess as no warning left: \" + guessed_word)\n", - " else:\n", - " print(\"Oops! That is not a valid letter. You now have {} warning{}: \".format(\n", - " warning_left, '' if warning_left == 1 else 's') + guessed_word)\n", - " warning_left -= 1\n", - " i -= 1\n", - " continue\n", - "\n", - " letters_guessed += letter\n", - " guessed_word = get_guessed_word(secret_word, letters_guessed)\n", - "\n", - " # if letter avialable or not available in it\n", - " if letter in secret_word:\n", - " print(\"Good guess: \" + guessed_word)\n", - " i -= 1\n", - " else:\n", - " print(\"Oops! That letter is not in my word: \" + guessed_word)\n", - " if letter in vowels:\n", - " i += 1\n", - "\n", - " # the final result so just end it already\n", - " if is_word_guessed(secret_word, letters_guessed):\n", - " print(\"Congratulations, you won!\")\n", - " res = 0\n", - " for x in letters_guessed:\n", - " if x in secret_word:\n", - " res += 1\n", - " i = 5-i if i < 6 else 0\n", - " res = res * i\n", - " print(\"Your total score for this game is : {}\".format(res))\n", - " else:\n", - " print(\"Sorry, you ran out of guesses. The word was {}.\".format(secret_word))\n", - "\n", - " return\n", - "\n", - "\n", - "if __name__ == \"__main__\":\n", - "\n", - " secret_word = choose_word(wordlist)\n", - " \n", - " # print(secret_word) ## turn it on if u wanna cheat XD\n", - "\n", - " # ask if u want hint\n", - " hint = \"s\"\n", - " while hint not in ['y','n']:\n", - " hint = input(\"Would u like to have hints? [y/n]: \")\n", - " hint = hint.lower()\n", - " \n", - " # see what function to call\n", - " if hint == 'n':\n", - " hangman(secret_word)\n", - " else:\n", - " hangman_with_hints(secret_word)\n", - "\n", - "# Yaaayyy KHATAM !\n" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "text": [ - "Loading word list from file...\n", - " 55900 words loaded.\n", - "Would u like to have hints? [y/n]: y\n", - "Welcome to the game Hangman with Hints!\n", - "I am thinking of a word that is 8 letters long.\n", - "------------------\n", - "You have 6 guesses left.\n", - "Available letters: abcdefghijklmnopqrstuvwxyz\n", - "Please guess a letter : l\n", - "Good guess: _ _ _ _ _ _ l_ \n", - "------------------\n", - "You have 6 guesses left.\n", - "Available letters: abcdefghijkmnopqrstuvwxyz\n", - "Please guess a letter : p\n", - "Oops! That letter is not in my word: _ _ _ _ _ _ l_ \n", - "------------------\n", - "You have 5 guesses left.\n", - "Available letters: abcdefghijkmnoqrstuvwxyz\n", - "Please guess a letter : *\n", - "Possible word matches are: \n", - "abatable, abjectly, abruptly, absently, absurdly, accompli, accruals, actively, actually, admirals, adorably, adorable, adroitly, aerosols, airedale, airfield, airfoils, airmails, alcohols, amenably, amenable, amicably, amicable, amusedly, annually, anthills, apparels, ardently, arguably, arguable, arrivals, arsenals, artfully, assembly, assemble, astutely, atonally, avowedly, axolotls, bankroll, barbells, bargello, barnacle, baseball, bastille, beanpole, bearably, bearable, bedazzle, bedevils, bedrolls, befuddle, bejewels, belittle, bifocals, billfold, bimetals, binnacle, birdcall, bitingly, bitterly, biweekly, biyearly, blamably, blamable, blastula, blithely, blowhole, bluebell, bobtails, bordello, bouncily, brassily, brazenly, breezily, brightly, broccoli, brokenly, brothels, brussels, brutally, bunghole, caboodle, cakewalk, calomels, camisole, camomile, canaille, candidly, canticle, capitals, capitols, cappella, capriole, caracals, caracole, caramels, caravels, carryall, casually, catapult, catcalls, catchall, cattails, causally, chancels, channels, charnels, chasuble, chattily, chattels, cheekily, cheerily, chenille, chervils, chewable, chlorals, churchly, citadels, clavicle, cleverly, cloudily, clumsily, coarsely, codicils, coequals, cogently, colonels, commonly, conceals, congeals, controls, coquille, cordials, councils, counsels, covertly, cowardly, cowbells, cowgirls, crabbily, craftily, crankily, creakily, creamily, credibly, credible, creosols, crucible, crystals, culpably, culpable, curtails, curvedly, daintily, damnably, damnable, daringly, decently, decibels, decimals, demurely, deposals, despoils, devoutly, diastole, digitals, directly, disciple, dismally, distally, distills, divinely, docilely, doggedly, domicile, doorbell, dotingly, downfall, downhill, dreamily, drearily, dressily, droopily, drowsily, duckbill, dumbbell, dunghill, dutiable, easterly, educable, educible, eggshell, eligibly, eligible, embattle, embezzle, embroils, encircle, enfeeble, enkindle, ensemble, entangle, enthrall, entirely, entrails, enviably, enviable, erasable, escarole, ethanols, expertly, eyeballs, eyestalk, fallibly, fallible, famously, fantails, farewell, fascicle, fatherly, feasibly, feasible, federals, fiercely, filthily, fireball, fistfuls, fitfully, fivefold, flabbily, flagella, flagpole, flannels, flashily, flexibly, flexible, flimsily, flotilla, fluently, follicle, football, footfall, foothill, foothold, forcibly, forcible, foretell, foretold, forkfuls, formally, formerly, fourfold, freehold, freewill, friendly, friskily, frontals, frostily, frothily, frugally, frumpily, fulfills, funerals, gargoyle, gastrula, gatefold, generals, genially, genitals, gingerly, gladioli, glassily, globally, gloomily, glossily, godchild, goodwill, graduals, grapnels, greasily, greedily, groggily, groovily, grubbily, grumpily, guiltily, gullibly, gullible, gumboils, handball, handbill, handfuls, hardball, healable, heartily, heatedly, heavenly, hellhole, highball, hoarsely, hobnails, honestly, honolulu, hopefuls, hornball, horribly, horrible, horsefly, housefly, humanely, humerals, hungrily, imbecile, immobile, impanels, imperils, impishly, inedible, infidels, initials, inkwells, insanely, installs, instills, intently, inveigle, inwardly, jaggedly, jauntily, jezebels, jokingly, jonquils, journals, joyfully, joyously, juvenile, karakuls, kestrels, kickball, kingbolt, kinsfolk, kneehole, knightly, knothole, knowable, lacteals, laetrile, landfall, laterals, latterly, laudably, laudable, lavishly, lawfully, leasable, liberals, linearly, loblolly, logicals, loophole, lovingly, maidenly, mandible, mandrels, mandrill, manfully, manifold, mannerly, mantilla, manually, marigold, markedly, marshals, masterly, matronly, meatball, meltable, mentally, menthols, mightily, minerals, minutely, misapply, miscalls, miscible, misdeals, misdealt, misspell, mistrals, modestly, moldable, molecule, molehill, mongrels, monopoly, mooncalf, morosely, mortally, mothball, motherly, movingly, multiple, multiply, musicals, musicale, mutually, narrowly, narwhals, naturals, neutrals, normally, nostrils, nucleoli, numerals, numskull, nuptials, nutshell, oatmeals, obstacle, ocotillo, oddballs, operably, operable, ordinals, ornately, outfield, outsells, overalls, overcall, overkill, overrule, oversell, oversold, owlishly, palpably, palpable, panatela, parabola, parasols, parboils, particle, passably, passable, pastille, patently, payrolls, peephole, pentacle, perusals, phrasals, pigtails, pinballs, pinnacle, pinochle, pitfalls, pitiably, pitiable, placidly, playable, playbill, pluckily, politely, portably, portable, porthole, possibly, possible, potbelly, pratfall, preamble, prettily, pretzels, prevails, priestly, princely, probably, probable, promptly, properly, provably, provable, publicly, puffball, quarrels, quenelle, quintals, quotably, quotable, racially, radicals, rainfall, rakishly, randomly, readably, readable, recently, recitals, redouble, reflexly, refusals, rekindle, reliably, reliable, remodels, remotely, removals, renewals, reposals, resemble, respells, reticule, retrials, reusable, reveille, revivals, ridicule, roomfuls, roundels, ruefully, ruggedly, sailorly, salvable, satchels, satiable, savagely, sawmills, scaffold, scalpels, scandals, scarcely, schedule, scissile, scrabble, scraggly, scramble, scrapple, scribble, scrofula, seashell, secondly, secretly, securely, sedately, seizable, sensibly, sensible, serenely, severely, sextuple, sexually, shakable, shiftily, shoddily, shoptalk, shrewdly, shrivels, sidewalk, signally, silently, sinfully, sinkable, sinkhole, skewbald, skimpily, sleepily, slightly, sloppily, slovenly, smoothly, smudgily, smuttily, snappily, sneakily, snippily, snoopily, snootily, snorkels, snowball, snowfall, sociably, sociable, socially, soddenly, softball, solemnly, solvable, spaniels, sparsely, specials, speedily, spiffily, spiracle, spirilla, spookily, sportily, spousals, sprinkle, spunkily, squabble, squarely, squiggle, steadily, steamily, stencils, stodgily, stolidly, stormily, straddle, straggly, straggle, strangle, strictly, strongly, strudels, struggle, stuffily, stupidly, sturdily, subsoils, subtitle, suddenly, suitably, suitable, sullenly, sundials, superbly, supinely, syllable, tangibly, tangible, telltale, tenderly, tendrils, tentacle, terribly, terrible, testable, testicle, thermals, throttle, thurible, tillable, tinfoils, toenails, tomfools, toothily, topsails, topsoils, tortilla, trammels, trashily, travails, trefoils, triangle, trickily, trycycle, tubercle, tumbrels, turmoils, umbrella, unbuckle, uncouple, uneasily, unequals, unevenly, unfairly, ungainly, unicycle, uniquely, unjustly, unkindly, unlikely, unlovely, unravels, unsaddle, unseemly, unsettle, unsnarls, unstably, unstable, unsubtle, untangle, untidily, untimely, unusable, unwarily, unwisely, urgently, usefully, utensils, vacantly, valhalla, valuable, variably, variable, vendible, ventrals, verbally, vermeils, versicle, victrola, victuals, vincible, violably, violable, visually, vitriols, voidable, volatile, wantonly, washable, wassails, wastrels, waybills, wearable, werewolf, westerly, wheezily, wickedly, wilfully, windfall, windmill, withheld, withhold, woefully, woodpile, workable, wormhole, yourself\n", - "Guess for: _ _ _ _ _ _ l_ \n", - "------------------\n", - "You have 5 guesses left.\n", - "Available letters: abcdefghijkmnoqrstuvwxyz\n", - "Please guess a letter : a\n", - "Good guess: _ _ a_ _ _ l_ \n", - "------------------\n", - "You have 5 guesses left.\n", - "Available letters: bcdefghijkmnoqrstuvwxyz\n", - "Please guess a letter : *\n", - "Possible word matches are: \n", - "abatable, beanpole, bearably, bearable, blamably, blamable, blastula, brassily, brazenly, chancels, channels, charnels, chasuble, chattily, chattels, clavicle, coarsely, crabbily, craftily, crankily, diastole, erasable, feasibly, feasible, flabbily, flagella, flagpole, flannels, flashily, gladioli, glassily, graduals, grapnels, healable, heartily, heatedly, heavenly, hoarsely, leasable, meatball, placidly, playable, playbill, pratfall, quarrels, readably, readable, scaffold, scalpels, scandals, scarcely, seashell, shakable, snappily, spaniels, sparsely, trammels, trashily, travails, wearable\n", - "Guess for: _ _ a_ _ _ l_ \n", - "------------------\n", - "You have 5 guesses left.\n", - "Available letters: bcdefghijkmnoqrstuvwxyz\n", - "Please guess a letter : e\n", - "Good guess: _ _ a_ _ el_ \n", - "------------------\n", - "You have 5 guesses left.\n", - "Available letters: bcdfghijkmnoqrstuvwxyz\n", - "Please guess a letter : *\n", - "Possible word matches are: \n", - "chancels, channels, charnels, chattels, coarsely, flannels, grapnels, hoarsely, quarrels, scalpels, scarcely, seashell, spaniels, sparsely, trammels\n", - "Guess for: _ _ a_ _ el_ \n", - "------------------\n", - "You have 5 guesses left.\n", - "Available letters: bcdfghijkmnoqrstuvwxyz\n", - "Please guess a letter : s\n", - "Good guess: _ _ a_ _ els\n", - "------------------\n", - "You have 5 guesses left.\n", - "Available letters: bcdfghijkmnoqrtuvwxyz\n", - "Please guess a letter : *\n", - "Possible word matches are: \n", - "chancels, channels, charnels, chattels, flannels, grapnels, quarrels, scalpels, spaniels, trammels\n", - "Guess for: _ _ a_ _ els\n", - "------------------\n", - "You have 5 guesses left.\n", - "Available letters: bcdfghijkmnoqrtuvwxyz\n", - "Please guess a letter : c\n", - "Good guess: c_ a_ _ els\n", - "------------------\n", - "You have 5 guesses left.\n", - "Available letters: bdfghijkmnoqrtuvwxyz\n", - "Please guess a letter : *\n", - "Possible word matches are: \n", - "chancels, channels, charnels, chattels\n", - "Guess for: c_ a_ _ els\n", - "------------------\n", - "You have 5 guesses left.\n", - "Available letters: bdfghijkmnoqrtuvwxyz\n", - "Please guess a letter : h\n", - "Good guess: cha_ _ els\n", - "------------------\n", - "You have 5 guesses left.\n", - "Available letters: bdfgijkmnoqrtuvwxyz\n", - "Please guess a letter : n\n", - "Good guess: cha_ nels\n", - "------------------\n", - "You have 5 guesses left.\n", - "Available letters: bdfgijkmoqrtuvwxyz\n", - "Please guess a letter : r\n", - "Good guess: charnels\n", - "Congratulations, you won!\n", - "Your total score for this game is : 40\n" - ], - "name": "stdout" - } - ] - } - ] -} \ No newline at end of file diff --git a/Assignment_1_and_2/Team_1_Wikipedia_simplifier.ipynb b/Assignment_1_and_2/Team_1_Wikipedia_simplifier.ipynb deleted file mode 100644 index 1f3da54..0000000 --- a/Assignment_1_and_2/Team_1_Wikipedia_simplifier.ipynb +++ /dev/null @@ -1,454 +0,0 @@ -{ - "nbformat": 4, - "nbformat_minor": 0, - "metadata": { - "colab": { - "name": "Team-1_Wikipedia simplifier.ipynb", - "provenance": [], - "collapsed_sections": [], - "authorship_tag": "ABX9TyNli7k1h1gpmUcG/s+H3B2E", - "include_colab_link": true - }, - "kernelspec": { - "name": "python3", - "display_name": "Python 3" - }, - "language_info": { - "name": "python" - } - }, - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "id": "view-in-github", - "colab_type": "text" - }, - "source": [ - "\"Open" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "IxDlij8t1zqB" - }, - "source": [ - "# Wikipedia simplifier\n", - "\n", - "**ACA 2021 project**\n", - "\n", - "---\n", - "\n", - "**Team 1** \n", - "\n", - "1. Vaibhav goyal\n", - "2. Kajal deep\n", - "3. Alisha verma\n", - "\n", - "---\n", - "\n", - "**Mentors**\n", - "\n", - "1. Rishabh dugaye\n", - "2. Ananya gupta\n", - "\n", - "---\n", - "\n", - "\n", - "\n", - "# Assignment 1\n" - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "ecPi4elO32O2" - }, - "source": [ - "def add_word(trie, word):\n", - " \"\"\"\n", - " Add a word to the given trie.\n", - "\n", - " Args:\n", - " trie (dict): the dictionary representation of a trie\n", - " word (str): the word to be added\n", - "\n", - " Returns:\n", - " None\n", - "\n", - " Side effect:\n", - " trie is modified with word included\n", - " \"\"\"\n", - " curr = trie\n", - " for l in word:\n", - " if l not in curr:\n", - " curr[l] = dict()\n", - " curr = curr[l]\n", - "\n", - "\n", - "def create_trie(word_list):\n", - " \"\"\"\n", - " Creates a trie from the given word list.\n", - "\n", - " Hint: use your completed implementation of add_word()\n", - "\n", - " Args:\n", - " word_list (list): list of words (str)\n", - "\n", - " Returns:\n", - " dict: a dictionary representation of the trie\n", - " \"\"\"\n", - " trie = dict()\n", - " for word in word_list:\n", - " curr = trie\n", - " for l in word:\n", - " if l not in curr:\n", - " curr[l] = dict()\n", - " curr = curr[l]\n", - "\n", - " return trie\n", - "\n", - "def in_trie(trie, word):\n", - " \"\"\"\n", - " Check whether the given word is present within the trie.\n", - "\n", - " Args:\n", - " word (str): the word to check\n", - " trie (dict): the trie to check against\n", - "\n", - " Returns:\n", - " bool: True if the word is in the trie, False if it is not\n", - " \"\"\"\n", - " curr = trie\n", - " for l in word:\n", - " if l in curr:\n", - " curr = curr[l]\n", - " else:\n", - " return False\n", - " if(bool(curr)):\n", - " return False\n", - " return True \n", - "\n", - "def list_matches(trie, prefix):\n", - " \"\"\"\n", - " List all word with the given prefix in the trie.\n", - " If no words in the trie match the given prefix, return an empty list.\n", - "\n", - " Hint: you may want to write a recursive helper function to traverse the\n", - " trie.\n", - "\n", - " Args:\n", - " prefix (str): the prefix to match against\n", - " trie (dict): the trie to search over\n", - "\n", - " Returns:\n", - " list: all words in the trie that begin with prefix\n", - " \"\"\"\n", - " curr = trie\n", - " for l in prefix:\n", - " if l in curr:\n", - " curr = curr[l]\n", - " else: \n", - " return []\n", - " \n", - " words = []\n", - "\n", - "def main():\n", - " \"\"\"main function\"\"\"\n", - " word_list = ['bear']\n", - " my_trie = create_trie(word_list)\n", - " add_word(my_trie, 'beat')\n", - " print(my_trie)\n", - " print(in_trie(my_trie, 'b'))\n", - "\n", - "\n", - "if __name__ == '__main__':\n", - " \"\"\"\n", - " Feel free to test your implementation here by running python3 hw1.py in\n", - " your terminal\n", - " \"\"\"\n", - " main()" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "4GzX8GVc3ypy" - }, - "source": [ - "# Assignment 2" - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "RAXhglWKlvJW", - "outputId": "36f4ab81-8177-4f16-b011-3ba41300e03c" - }, - "source": [ - "# Problem Set 2, hangman.py\n", - "import random\n", - "import string\n", - "\n", - "WORDLIST_FILENAME = \"words.txt\"\n", - "\n", - "def load_words():\n", - " \n", - " print(\"Loading word list from file...\")\n", - " # inFile: file\n", - " inFile = open(WORDLIST_FILENAME, 'r')\n", - " # line: string\n", - " line = inFile.readline()\n", - " # wordlist: list of strings\n", - " wordlist = line.split()\n", - " print(\" \", len(wordlist), \"words loaded.\")\n", - " return wordlist\n", - "\n", - "\n", - "def choose_word(wordlist):\n", - " \n", - " return random.choice(wordlist)\n", - "\n", - "\n", - "wordlist = load_words()\n", - "\n", - "\n", - "def is_word_guessed(secret_word, letters_guessed):\n", - "\n", - " for l in secret_word:\n", - " if l not in letters_guessed:\n", - " return False\n", - " return True\n", - "\n", - "\n", - "def get_guessed_word(secret_word, letters_guessed):\n", - " \n", - " word = secret_word[:]\n", - " for l in secret_word:\n", - " if l not in letters_guessed:\n", - " word = word.replace(l, '_ ', 1)\n", - " return word\n", - "\n", - "\n", - "def get_available_letters(letters_guessed):\n", - " \n", - " available_letters = string.ascii_lowercase\n", - " for l in letters_guessed:\n", - " available_letters = available_letters.replace(l, '')\n", - " return available_letters\n", - "\n", - "\n", - "def hangman(secret_word):\n", - " \n", - " print('Welcome to the game Hangman!')\n", - " print('I am thinking of a word that is', len(secret_word), 'letters long.')\n", - " print('You have 3 warnings left.')\n", - "\n", - " guess = 6\n", - " warning = 3\n", - " letters_guessed = []\n", - " \n", - " while guess:\n", - " print('-----------------------------------')\n", - " if is_word_guessed(secret_word, letters_guessed):\n", - " print('Congratulations, you won!')\n", - " print('Your total score for this game is', guess*len(set(secret_word)))\n", - " return\n", - " print('You have', guess, 'guesses left.')\n", - " print('Availbale letters:', get_available_letters(letters_guessed))\n", - " letter = input('Please guess a letter: ').lower()\n", - " if letter.isalpha():\n", - " if letter in letters_guessed:\n", - " if warning:\n", - " warning -= 1\n", - " print('Oops! You\\'ve already guessed that letter. You now have', warning ,'warnings :', get_guessed_word(secret_word, letters_guessed))\n", - " else:\n", - " guess -= 1\n", - " print('Oops! You\\'ve already guessed that letter. You have no warnings left so you lose a guess:', get_guessed_word(secret_word, letters_guessed))\n", - " else:\n", - " letters_guessed.append(letter)\n", - " if letter in secret_word:\n", - " print('Good guess:', get_guessed_word(secret_word, letters_guessed))\n", - " else:\n", - " if letter in ['a', 'e', 'i', 'o', 'u']:\n", - " guess -= 2\n", - " else:\n", - " guess -= 1 \n", - " print('Oops! That letter is not in my word:', get_guessed_word(secret_word, letters_guessed))\n", - " else:\n", - " if warning:\n", - " warning -= 1\n", - " print('Oops! That is not a valid letter. You now have', warning ,'warnings left:', get_guessed_word(secret_word, letters_guessed))\n", - " else:\n", - " guess -= 1\n", - " print('Oops! That is not a valid letter. You have no warnings left so you lose one guess:', get_guessed_word(secret_word, letters_guessed))\n", - "\n", - " print('-----------------------------------')\n", - " print('Sorry, you ran out of guesses. The word was', secret_word,'.')\n", - " return\n", - "\n", - "\n", - "def match_with_gaps(my_word, other_word):\n", - " \n", - " word = my_word[:]\n", - " word = \"\".join(word.split())\n", - " if len(word) == len(other_word):\n", - " pos = 0\n", - " for l in word:\n", - " if l != '_' and other_word.find(l, pos) != word.find(l, pos):\n", - " return False\n", - " pos += 1\n", - " return True\n", - " else:\n", - " return False\n", - "\n", - "\n", - "def show_possible_matches(my_word):\n", - " \n", - " found_words = []\n", - " for word in wordlist:\n", - " if match_with_gaps(my_word, word):\n", - " found_words.append(word)\n", - " \n", - " if len(found_words):\n", - " for word in found_words:\n", - " print(word, end='\\t')\n", - " else:\n", - " print('No matches found')\n", - " \n", - " print('\\n')\n", - "\n", - "\n", - "def hangman_with_hints(secret_word):\n", - " \n", - " print('Welcome to the game Hangman!')\n", - " print('I am thinking of a word that is', len(secret_word), 'letters long.')\n", - " print('You have 3 warnings left.')\n", - "\n", - " guess = 6\n", - " warning = 3\n", - " letters_guessed = []\n", - " \n", - " while guess:\n", - " print('-----------------------------------')\n", - " if is_word_guessed(secret_word, letters_guessed):\n", - " print('Congratulations, you won!')\n", - " print('Your total score for this game is', guess*len(set(secret_word)))\n", - " return\n", - " print('You have', guess, 'guesses left.')\n", - " print('Availbale letters:', get_available_letters(letters_guessed))\n", - " letter = input('Please guess a letter: ').lower()\n", - " if letter.isalpha():\n", - " if letter in letters_guessed:\n", - " if warning:\n", - " warning -= 1\n", - " print('Oops! You\\'ve already guessed that letter. You now have', warning ,'warnings :', get_guessed_word(secret_word, letters_guessed))\n", - " else:\n", - " guess -= 1\n", - " print('Oops! You\\'ve already guessed that letter. You have no warnings left so you lose a guess:', get_guessed_word(secret_word, letters_guessed))\n", - " else:\n", - " letters_guessed.append(letter)\n", - " if letter in secret_word:\n", - " print('Good guess:', get_guessed_word(secret_word, letters_guessed))\n", - " else:\n", - " if letter in ['a', 'e', 'i', 'o', 'u']:\n", - " guess -= 2\n", - " else:\n", - " guess -= 1 \n", - " print('Oops! That letter is not in my word:', get_guessed_word(secret_word, letters_guessed))\n", - " elif letter == '*':\n", - " print('Possible word matches are:')\n", - " show_possible_matches(get_guessed_word(secret_word, letters_guessed))\n", - " else:\n", - " if warning:\n", - " warning -= 1\n", - " print('Oops! That is not a valid letter. You now have', warning ,'warnings left:', get_guessed_word(secret_word, letters_guessed))\n", - " else:\n", - " guess -= 1\n", - " print('Oops! That is not a valid letter. You have no warnings left so you lose one guess:', get_guessed_word(secret_word, letters_guessed))\n", - "\n", - " print('-----------------------------------')\n", - " print('Sorry, you ran out of guesses. The word was', secret_word,'.')\n", - " return\n", - "\n", - "\n", - "if __name__ == \"__main__\":\n", - " \n", - " secret_word = choose_word(wordlist)\n", - " # hangman(secret_word)\n", - " \n", - " hangman_with_hints(secret_word)\n" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "text": [ - "Loading word list from file...\n", - " 55900 words loaded.\n", - "Welcome to the game Hangman!\n", - "I am thinking of a word that is 7 letters long.\n", - "You have 3 warnings left.\n", - "-----------------------------------\n", - "You have 6 guesses left.\n", - "Availbale letters: abcdefghijklmnopqrstuvwxyz\n", - "Please guess a letter: b\n", - "Oops! That letter is not in my word: _ _ _ _ _ _ _ \n", - "-----------------------------------\n", - "You have 5 guesses left.\n", - "Availbale letters: acdefghijklmnopqrstuvwxyz\n", - "Please guess a letter: e\n", - "Good guess: _ _ _ _ _ e_ \n", - "-----------------------------------\n", - "You have 5 guesses left.\n", - "Availbale letters: acdfghijklmnopqrstuvwxyz\n", - "Please guess a letter: f\n", - "Oops! That letter is not in my word: _ _ _ _ _ e_ \n", - "-----------------------------------\n", - "You have 4 guesses left.\n", - "Availbale letters: acdghijklmnopqrstuvwxyz\n", - "Please guess a letter: d\n", - "Good guess: _ d_ _ _ ed\n", - "-----------------------------------\n", - "You have 4 guesses left.\n", - "Availbale letters: acghijklmnopqrstuvwxyz\n", - "Please guess a letter: p\n", - "Good guess: _ d_ p_ ed\n", - "-----------------------------------\n", - "You have 4 guesses left.\n", - "Availbale letters: acghijklmnoqrstuvwxyz\n", - "Please guess a letter: n\n", - "Oops! That letter is not in my word: _ d_ p_ ed\n", - "-----------------------------------\n", - "You have 3 guesses left.\n", - "Availbale letters: acghijklmoqrstuvwxyz\n", - "Please guess a letter: *\n", - "Possible word matches are:\n", - "adapted\tadopted\t\n", - "\n", - "-----------------------------------\n", - "You have 3 guesses left.\n", - "Availbale letters: acghijklmoqrstuvwxyz\n", - "Please guess a letter: a\n", - "Good guess: adap_ ed\n", - "-----------------------------------\n", - "You have 3 guesses left.\n", - "Availbale letters: cghijklmoqrstuvwxyz\n", - "Please guess a letter: t\n", - "Good guess: adapted\n", - "-----------------------------------\n", - "Congratulations, you won!\n", - "Your total score for this game is 15\n" - ], - "name": "stdout" - } - ] - } - ] -} \ No newline at end of file diff --git a/Assignment-3/README.md b/Assignment_3/README.md similarity index 100% rename from Assignment-3/README.md rename to Assignment_3/README.md diff --git a/Assignment-3/T4-Assignment_3.ipynb b/Assignment_3/T4-Assignment_3.ipynb similarity index 100% rename from Assignment-3/T4-Assignment_3.ipynb rename to Assignment_3/T4-Assignment_3.ipynb diff --git a/Assignment_4/Assignment-4_Team-5.ipynb b/Assignment_4/Assignment-4_Team-5.ipynb deleted file mode 100644 index 279ea71..0000000 --- a/Assignment_4/Assignment-4_Team-5.ipynb +++ /dev/null @@ -1,277 +0,0 @@ -{ - "nbformat": 4, - "nbformat_minor": 0, - "metadata": { - "colab": { - "name": "Untitled6.ipynb", - "provenance": [], - "collapsed_sections": [], - "include_colab_link": true - }, - "kernelspec": { - "display_name": "Python 3", - "name": "python3" - }, - "language_info": { - "name": "python" - } - }, - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "id": "view-in-github", - "colab_type": "text" - }, - "source": [ - "\"Open" - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "Uez4c4iOo3GS" - }, - "source": [ - "import tensorflow as tf\n", - "import numpy as np\n", - "import tensorflow_datasets as tfds" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "id": "nZTBxKU4pIus" - }, - "source": [ - "dataset=tfds.load('imdb_reviews',as_supervised=True)\n", - "train_dataset=dataset['train']\n", - "test_dataset=dataset['test']\n", - "#train_dataset=train_dataset.take(500)" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "id": "c2qy8eHspZSv" - }, - "source": [ - "BUFFER_SIZE=10000\n", - "BATCH_SIZE=50" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "id": "Pfn1qaYppnP4" - }, - "source": [ - "train_dataset=train_dataset.shuffle(BATCH_SIZE).batch(BATCH_SIZE).prefetch(tf.data.AUTOTUNE)\n", - "test_dataset=test_dataset.batch(BATCH_SIZE).prefetch(tf.data.AUTOTUNE)" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "id": "Owbj9oAqqBMp" - }, - "source": [ - "VOCAB_SIZE=1000\n", - "encoder=tf.keras.layers.experimental.preprocessing.TextVectorization(VOCAB_SIZE)\n", - "encoder.adapt(train_dataset.map(lambda text,label : text))" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "w62UYTF_qt0C", - "outputId": "4c7be2e3-ed49-4b12-cf12-7ba57a3b3c9a" - }, - "source": [ - "vocab=np.array(encoder.get_vocabulary())\n", - "print(vocab[199])" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "text": [ - "girl\n" - ], - "name": "stdout" - } - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "zNqZ2ZcjrZJC" - }, - "source": [ - "\n", - "model = tf.keras.Sequential([\n", - " encoder,\n", - " tf.keras.layers.Embedding(\n", - " input_dim=len(encoder.get_vocabulary()),\n", - " output_dim=64,\n", - " # Use masking to handle the variable sequence lengths\n", - " mask_zero=True),\n", - " tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(64,return_sequences=True,recurrent_dropout=0.1)),\n", - " tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(32,recurrent_dropout=0.1)),\n", - " tf.keras.layers.Dense(64, activation='relu'),\n", - " tf.keras.layers.Dense(64,activation='relu'), tf.keras.layers.Dense(64,activation='relu'),\n", - " tf.keras.layers.Dense(1)\n", - "])" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "id": "bYeR3SY9NTZ-" - }, - "source": [ - "model.compile(loss=tf.keras.losses.BinaryCrossentropy(from_logits=True),\n", - " optimizer=tf.keras.optimizers.Adam(),\n", - " metrics=['accuracy'])" - ], - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 471 - }, - "id": "HK8XqKolNa0t", - "outputId": "8da68a4b-60a5-4ace-9aab-3ab00c7dec7c" - }, - "source": [ - "history = model.fit(train_dataset, epochs=10,\n", - " validation_data=test_dataset,\n", - " validation_steps=30)" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "text": [ - "Epoch 1/10\n", - "10/10 [==============================] - 68s 6s/step - loss: 2.6994 - accuracy: 0.5196 - val_loss: 0.7069 - val_accuracy: 0.5000\n", - "Epoch 2/10\n", - "10/10 [==============================] - 57s 6s/step - loss: 0.7299 - accuracy: 0.4969 - val_loss: 0.8615 - val_accuracy: 0.4993\n", - "Epoch 3/10\n", - "10/10 [==============================] - 56s 6s/step - loss: 1.0709 - accuracy: 0.5026 - val_loss: 0.6973 - val_accuracy: 0.4980\n", - "Epoch 4/10\n", - " 1/10 [==>...........................] - ETA: 25s - loss: 0.7865 - accuracy: 0.5600" - ], - "name": "stdout" - }, - { - "output_type": "error", - "ename": "KeyboardInterrupt", - "evalue": "ignored", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m history = model.fit(train_dataset, epochs=10,\n\u001b[1;32m 2\u001b[0m \u001b[0mvalidation_data\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mtest_dataset\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m validation_steps=30)\n\u001b[0m", - "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/tensorflow/python/keras/engine/training.py\u001b[0m in \u001b[0;36mfit\u001b[0;34m(self, x, y, batch_size, epochs, verbose, callbacks, validation_split, validation_data, shuffle, class_weight, sample_weight, initial_epoch, steps_per_epoch, validation_steps, validation_batch_size, validation_freq, max_queue_size, workers, use_multiprocessing)\u001b[0m\n\u001b[1;32m 1098\u001b[0m _r=1):\n\u001b[1;32m 1099\u001b[0m \u001b[0mcallbacks\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mon_train_batch_begin\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mstep\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1100\u001b[0;31m \u001b[0mtmp_logs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtrain_function\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0miterator\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1101\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mdata_handler\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshould_sync\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1102\u001b[0m \u001b[0mcontext\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0masync_wait\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/tensorflow/python/eager/def_function.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(self, *args, **kwds)\u001b[0m\n\u001b[1;32m 826\u001b[0m \u001b[0mtracing_count\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mexperimental_get_tracing_count\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 827\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mtrace\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mTrace\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_name\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mtm\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 828\u001b[0;31m \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_call\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwds\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 829\u001b[0m \u001b[0mcompiler\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m\"xla\"\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_experimental_compile\u001b[0m \u001b[0;32melse\u001b[0m \u001b[0;34m\"nonXla\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 830\u001b[0m \u001b[0mnew_tracing_count\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mexperimental_get_tracing_count\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/tensorflow/python/eager/def_function.py\u001b[0m in \u001b[0;36m_call\u001b[0;34m(self, *args, **kwds)\u001b[0m\n\u001b[1;32m 853\u001b[0m \u001b[0;31m# In this case we have created variables on the first call, so we run the\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 854\u001b[0m \u001b[0;31m# defunned version which is guaranteed to never create variables.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 855\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_stateless_fn\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwds\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m# pylint: disable=not-callable\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 856\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_stateful_fn\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 857\u001b[0m \u001b[0;31m# Release the lock early so that multiple threads can perform the call\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/tensorflow/python/eager/function.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 2941\u001b[0m filtered_flat_args) = self._maybe_define_function(args, kwargs)\n\u001b[1;32m 2942\u001b[0m return graph_function._call_flat(\n\u001b[0;32m-> 2943\u001b[0;31m filtered_flat_args, captured_inputs=graph_function.captured_inputs) # pylint: disable=protected-access\n\u001b[0m\u001b[1;32m 2944\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2945\u001b[0m \u001b[0;34m@\u001b[0m\u001b[0mproperty\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/tensorflow/python/eager/function.py\u001b[0m in \u001b[0;36m_call_flat\u001b[0;34m(self, args, captured_inputs, cancellation_manager)\u001b[0m\n\u001b[1;32m 1917\u001b[0m \u001b[0;31m# No tape is watching; skip to running the function.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1918\u001b[0m return self._build_call_outputs(self._inference_function.call(\n\u001b[0;32m-> 1919\u001b[0;31m ctx, args, cancellation_manager=cancellation_manager))\n\u001b[0m\u001b[1;32m 1920\u001b[0m forward_backward = self._select_forward_and_backward_functions(\n\u001b[1;32m 1921\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/tensorflow/python/eager/function.py\u001b[0m in \u001b[0;36mcall\u001b[0;34m(self, ctx, args, cancellation_manager)\u001b[0m\n\u001b[1;32m 558\u001b[0m \u001b[0minputs\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 559\u001b[0m \u001b[0mattrs\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mattrs\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 560\u001b[0;31m ctx=ctx)\n\u001b[0m\u001b[1;32m 561\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 562\u001b[0m outputs = execute.execute_with_cancellation(\n", - "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/tensorflow/python/eager/execute.py\u001b[0m in \u001b[0;36mquick_execute\u001b[0;34m(op_name, num_outputs, inputs, attrs, ctx, name)\u001b[0m\n\u001b[1;32m 58\u001b[0m \u001b[0mctx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mensure_initialized\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 59\u001b[0m tensors = pywrap_tfe.TFE_Py_Execute(ctx._handle, device_name, op_name,\n\u001b[0;32m---> 60\u001b[0;31m inputs, attrs, num_outputs)\n\u001b[0m\u001b[1;32m 61\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mcore\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_NotOkStatusException\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 62\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mname\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mKeyboardInterrupt\u001b[0m: " - ] - } - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "Uheg2abgn4N3", - "outputId": "c7728b4c-e39e-48bb-ed8e-1065795d57f1" - }, - "source": [ - "sample_text = ('Not good Not good Not good Not good Not good Not good Not good Not good ')\n", - "predictions = model.predict(np.array([sample_text]))\n", - "print(predictions)" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "text": [ - "[[-0.14589255]]\n" - ], - "name": "stdout" - } - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 370 - }, - "id": "Qro_alGl5lTi", - "outputId": "50fd5293-6f44-41d7-d4d7-b28e30cfdeb5" - }, - "source": [ - "test_loss, test_acc = model.evaluate(test_dataset)\n", - "\n", - "print('Test Loss:', test_loss)\n", - "print('Test Accuracy:', test_acc)" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "text": [ - " 17/500 [>.............................] - ETA: 5:02 - loss: 0.7476 - accuracy: 0.5165" - ], - "name": "stdout" - }, - { - "output_type": "error", - "ename": "KeyboardInterrupt", - "evalue": "ignored", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mtest_loss\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtest_acc\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mmodel\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mevaluate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtest_dataset\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'Test Loss:'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtest_loss\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'Test Accuracy:'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtest_acc\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/tensorflow/python/keras/engine/training.py\u001b[0m in \u001b[0;36mevaluate\u001b[0;34m(self, x, y, batch_size, verbose, sample_weight, steps, callbacks, max_queue_size, workers, use_multiprocessing, return_dict)\u001b[0m\n\u001b[1;32m 1387\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mtrace\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mTrace\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'test'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstep_num\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mstep\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0m_r\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1388\u001b[0m \u001b[0mcallbacks\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mon_test_batch_begin\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mstep\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1389\u001b[0;31m \u001b[0mtmp_logs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtest_function\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0miterator\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1390\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mdata_handler\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshould_sync\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1391\u001b[0m \u001b[0mcontext\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0masync_wait\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/tensorflow/python/eager/def_function.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(self, *args, **kwds)\u001b[0m\n\u001b[1;32m 826\u001b[0m \u001b[0mtracing_count\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mexperimental_get_tracing_count\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 827\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mtrace\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mTrace\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_name\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mtm\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 828\u001b[0;31m \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_call\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwds\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 829\u001b[0m \u001b[0mcompiler\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m\"xla\"\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_experimental_compile\u001b[0m \u001b[0;32melse\u001b[0m \u001b[0;34m\"nonXla\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 830\u001b[0m \u001b[0mnew_tracing_count\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mexperimental_get_tracing_count\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/tensorflow/python/eager/def_function.py\u001b[0m in \u001b[0;36m_call\u001b[0;34m(self, *args, **kwds)\u001b[0m\n\u001b[1;32m 860\u001b[0m \u001b[0;31m# In this case we have not created variables on the first call. So we can\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 861\u001b[0m \u001b[0;31m# run the first trace but we should fail if variables are created.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 862\u001b[0;31m \u001b[0mresults\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_stateful_fn\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwds\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 863\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_created_variables\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 864\u001b[0m raise ValueError(\"Creating variables on a non-first call to a function\"\n", - "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/tensorflow/python/eager/function.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 2941\u001b[0m filtered_flat_args) = self._maybe_define_function(args, kwargs)\n\u001b[1;32m 2942\u001b[0m return graph_function._call_flat(\n\u001b[0;32m-> 2943\u001b[0;31m filtered_flat_args, captured_inputs=graph_function.captured_inputs) # pylint: disable=protected-access\n\u001b[0m\u001b[1;32m 2944\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2945\u001b[0m \u001b[0;34m@\u001b[0m\u001b[0mproperty\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/tensorflow/python/eager/function.py\u001b[0m in \u001b[0;36m_call_flat\u001b[0;34m(self, args, captured_inputs, cancellation_manager)\u001b[0m\n\u001b[1;32m 1917\u001b[0m \u001b[0;31m# No tape is watching; skip to running the function.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1918\u001b[0m return self._build_call_outputs(self._inference_function.call(\n\u001b[0;32m-> 1919\u001b[0;31m ctx, args, cancellation_manager=cancellation_manager))\n\u001b[0m\u001b[1;32m 1920\u001b[0m forward_backward = self._select_forward_and_backward_functions(\n\u001b[1;32m 1921\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/tensorflow/python/eager/function.py\u001b[0m in \u001b[0;36mcall\u001b[0;34m(self, ctx, args, cancellation_manager)\u001b[0m\n\u001b[1;32m 558\u001b[0m \u001b[0minputs\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 559\u001b[0m \u001b[0mattrs\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mattrs\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 560\u001b[0;31m ctx=ctx)\n\u001b[0m\u001b[1;32m 561\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 562\u001b[0m outputs = execute.execute_with_cancellation(\n", - "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/tensorflow/python/eager/execute.py\u001b[0m in \u001b[0;36mquick_execute\u001b[0;34m(op_name, num_outputs, inputs, attrs, ctx, name)\u001b[0m\n\u001b[1;32m 58\u001b[0m \u001b[0mctx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mensure_initialized\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 59\u001b[0m tensors = pywrap_tfe.TFE_Py_Execute(ctx._handle, device_name, op_name,\n\u001b[0;32m---> 60\u001b[0;31m inputs, attrs, num_outputs)\n\u001b[0m\u001b[1;32m 61\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mcore\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_NotOkStatusException\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 62\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mname\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mKeyboardInterrupt\u001b[0m: " - ] - } - ] - } - ] -} diff --git a/Assignment_4/Team_1_Assignment_4.ipynb b/Assignment_4/Team_1_Assignment_4.ipynb deleted file mode 100644 index 6654c3a..0000000 --- a/Assignment_4/Team_1_Assignment_4.ipynb +++ /dev/null @@ -1,2736 +0,0 @@ -{ - "nbformat": 4, - "nbformat_minor": 0, - "metadata": { - "colab": { - "name": "Team-1_Assignment-4.ipynb", - "provenance": [], - "authorship_tag": "ABX9TyNvcxph+b9rGUW18/FNda0B", - "include_colab_link": true - }, - "kernelspec": { - "name": "python3", - "display_name": "Python 3" - }, - "language_info": { - "name": "python" - }, - "accelerator": "GPU", - "widgets": { - "application/vnd.jupyter.widget-state+json": { - "4ad78aefbff84edebff75c2bf2c74d40": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "state": { - "_view_name": "HBoxView", - "_dom_classes": [], - "_model_name": "HBoxModel", - "_view_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_view_count": null, - "_view_module_version": "1.5.0", - "box_style": "", - "layout": "IPY_MODEL_2da75a9b724f4f28a46f8170bdc32531", - "_model_module": "@jupyter-widgets/controls", - "children": [ - "IPY_MODEL_884bf4a023e8484bbbeaa70c20b4ec42", - "IPY_MODEL_ae83be5c7169469b909990be9addcc57" - ] - } - }, - "2da75a9b724f4f28a46f8170bdc32531": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "state": { - "_view_name": "LayoutView", - "grid_template_rows": null, - "right": null, - "justify_content": null, - "_view_module": "@jupyter-widgets/base", - "overflow": null, - "_model_module_version": "1.2.0", - "_view_count": null, - "flex_flow": null, - "width": null, - "min_width": null, - "border": null, - "align_items": null, - "bottom": null, - "_model_module": "@jupyter-widgets/base", - "top": null, - "grid_column": null, - "overflow_y": null, - "overflow_x": null, - "grid_auto_flow": null, - "grid_area": null, - "grid_template_columns": null, - "flex": null, - "_model_name": "LayoutModel", - "justify_items": null, - "grid_row": null, - "max_height": null, - "align_content": null, - "visibility": null, - "align_self": null, - "height": null, - "min_height": null, - "padding": null, - "grid_auto_rows": null, - "grid_gap": null, - "max_width": null, - "order": null, - "_view_module_version": "1.2.0", - "grid_template_areas": null, - "object_position": null, - "object_fit": null, - "grid_auto_columns": null, - "margin": null, - "display": null, - "left": null - } - }, - "884bf4a023e8484bbbeaa70c20b4ec42": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "state": { - "_view_name": "ProgressView", - "style": "IPY_MODEL_5fb1868bcd8b443b988f998b196f1d66", - "_dom_classes": [], - "description": "Dl Completed...: 100%", - "_model_name": "FloatProgressModel", - "bar_style": "success", - "max": 1, - "_view_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "value": 1, - "_view_count": null, - "_view_module_version": "1.5.0", - "orientation": "horizontal", - "min": 0, - "description_tooltip": null, - "_model_module": "@jupyter-widgets/controls", - "layout": "IPY_MODEL_7c2e054365bb46cf92c9ddf08788f0ad" - } - }, - "ae83be5c7169469b909990be9addcc57": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "state": { - "_view_name": "HTMLView", - "style": "IPY_MODEL_22959b1ad40c4aa2b37bb88d2aa76d13", - "_dom_classes": [], - "description": "", - "_model_name": "HTMLModel", - "placeholder": "​", - "_view_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "value": " 1/1 [00:01<00:00, 1.59s/ url]", - "_view_count": null, - "_view_module_version": "1.5.0", - "description_tooltip": null, - "_model_module": "@jupyter-widgets/controls", - "layout": "IPY_MODEL_706074f3515b45bdb8a5f7cf0f70d3a8" - } - }, - "5fb1868bcd8b443b988f998b196f1d66": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "state": { - "_view_name": "StyleView", - "_model_name": "ProgressStyleModel", - "description_width": "initial", - "_view_module": "@jupyter-widgets/base", - "_model_module_version": "1.5.0", - "_view_count": null, - "_view_module_version": "1.2.0", - "bar_color": null, - "_model_module": "@jupyter-widgets/controls" - } - }, - "7c2e054365bb46cf92c9ddf08788f0ad": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "state": { - "_view_name": "LayoutView", - "grid_template_rows": null, - "right": null, - "justify_content": null, - "_view_module": "@jupyter-widgets/base", - "overflow": null, - "_model_module_version": "1.2.0", - "_view_count": null, - "flex_flow": null, - "width": null, - "min_width": null, - "border": null, - "align_items": null, - "bottom": null, - "_model_module": "@jupyter-widgets/base", - "top": null, - "grid_column": null, - "overflow_y": null, - "overflow_x": null, - "grid_auto_flow": null, - "grid_area": null, - "grid_template_columns": null, - "flex": null, - "_model_name": "LayoutModel", - "justify_items": null, - "grid_row": null, - "max_height": null, - "align_content": null, - "visibility": null, - "align_self": null, - "height": null, - "min_height": null, - "padding": null, - "grid_auto_rows": null, - "grid_gap": null, - "max_width": null, - "order": null, - "_view_module_version": "1.2.0", - "grid_template_areas": null, - "object_position": null, - "object_fit": null, - "grid_auto_columns": null, - "margin": null, - "display": null, - "left": null - } - }, - "22959b1ad40c4aa2b37bb88d2aa76d13": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "state": { - "_view_name": "StyleView", - "_model_name": "DescriptionStyleModel", - "description_width": "", - "_view_module": "@jupyter-widgets/base", - "_model_module_version": "1.5.0", - "_view_count": null, - "_view_module_version": "1.2.0", - "_model_module": "@jupyter-widgets/controls" - } - }, - "706074f3515b45bdb8a5f7cf0f70d3a8": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "state": { - "_view_name": "LayoutView", - "grid_template_rows": null, - "right": null, - "justify_content": null, - "_view_module": "@jupyter-widgets/base", - "overflow": null, - "_model_module_version": "1.2.0", - "_view_count": null, - "flex_flow": null, - "width": null, - "min_width": null, - "border": null, - "align_items": null, - "bottom": null, - "_model_module": "@jupyter-widgets/base", - "top": null, - "grid_column": null, - "overflow_y": null, - "overflow_x": null, - "grid_auto_flow": null, - "grid_area": null, - "grid_template_columns": null, - "flex": null, - "_model_name": "LayoutModel", - "justify_items": null, - "grid_row": null, - "max_height": null, - "align_content": null, - "visibility": null, - "align_self": null, - "height": null, - "min_height": null, - "padding": null, - "grid_auto_rows": null, - "grid_gap": null, - "max_width": null, - "order": null, - "_view_module_version": "1.2.0", - "grid_template_areas": null, - "object_position": null, - "object_fit": null, - "grid_auto_columns": null, - "margin": null, - "display": null, - "left": null - } - }, - "ada8db9b412641d3bd1687721f594b87": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "state": { - "_view_name": "HBoxView", - "_dom_classes": [], - "_model_name": "HBoxModel", - "_view_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_view_count": null, - "_view_module_version": "1.5.0", - "box_style": "", - "layout": "IPY_MODEL_af55377115fe4861b982cadddfffbe81", - "_model_module": "@jupyter-widgets/controls", - "children": [ - "IPY_MODEL_27fe16e87a674938b1201cfda3923287", - "IPY_MODEL_29f862ac257d4f28a959f6345dbfa3cd" - ] - } - }, - "af55377115fe4861b982cadddfffbe81": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "state": { - "_view_name": "LayoutView", - "grid_template_rows": null, - "right": null, - "justify_content": null, - "_view_module": "@jupyter-widgets/base", - "overflow": null, - "_model_module_version": "1.2.0", - "_view_count": null, - "flex_flow": null, - "width": null, - "min_width": null, - "border": null, - "align_items": null, - "bottom": null, - "_model_module": "@jupyter-widgets/base", - "top": null, - "grid_column": null, - "overflow_y": null, - "overflow_x": null, - "grid_auto_flow": null, - "grid_area": null, - "grid_template_columns": null, - "flex": null, - "_model_name": "LayoutModel", - "justify_items": null, - "grid_row": null, - "max_height": null, - "align_content": null, - "visibility": null, - "align_self": null, - "height": null, - "min_height": null, - "padding": null, - "grid_auto_rows": null, - "grid_gap": null, - "max_width": null, - "order": null, - "_view_module_version": "1.2.0", - "grid_template_areas": null, - "object_position": null, - "object_fit": null, - "grid_auto_columns": null, - "margin": null, - "display": null, - "left": null - } - }, - "27fe16e87a674938b1201cfda3923287": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "state": { - "_view_name": "ProgressView", - "style": "IPY_MODEL_d9e3d2ad1c4c425898332157a800dbb3", - "_dom_classes": [], - "description": "Dl Size...: 100%", - "_model_name": "FloatProgressModel", - "bar_style": "success", - "max": 1, - "_view_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "value": 1, - "_view_count": null, - "_view_module_version": "1.5.0", - "orientation": "horizontal", - "min": 0, - "description_tooltip": null, - "_model_module": "@jupyter-widgets/controls", - "layout": "IPY_MODEL_1de46342cae247908351d7dd4add92bd" - } - }, - "29f862ac257d4f28a959f6345dbfa3cd": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "state": { - "_view_name": "HTMLView", - "style": "IPY_MODEL_1d52bab99f23409f98630325d9efa14d", - "_dom_classes": [], - "description": "", - "_model_name": "HTMLModel", - "placeholder": "​", - "_view_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "value": " 80/80 [00:01<00:00, 51.18 MiB/s]", - "_view_count": null, - "_view_module_version": "1.5.0", - "description_tooltip": null, - "_model_module": "@jupyter-widgets/controls", - "layout": "IPY_MODEL_905b14471b3643b58ba3830fa174f86c" - } - }, - "d9e3d2ad1c4c425898332157a800dbb3": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "state": { - "_view_name": "StyleView", - "_model_name": "ProgressStyleModel", - "description_width": "initial", - "_view_module": "@jupyter-widgets/base", - "_model_module_version": "1.5.0", - "_view_count": null, - "_view_module_version": "1.2.0", - "bar_color": null, - "_model_module": "@jupyter-widgets/controls" - } - }, - "1de46342cae247908351d7dd4add92bd": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "state": { - "_view_name": "LayoutView", - "grid_template_rows": null, - "right": null, - "justify_content": null, - "_view_module": "@jupyter-widgets/base", - "overflow": null, - "_model_module_version": "1.2.0", - "_view_count": null, - "flex_flow": null, - "width": null, - "min_width": null, - "border": null, - "align_items": null, - "bottom": null, - "_model_module": "@jupyter-widgets/base", - "top": null, - "grid_column": null, - "overflow_y": null, - "overflow_x": null, - "grid_auto_flow": null, - "grid_area": null, - "grid_template_columns": null, - "flex": null, - "_model_name": "LayoutModel", - "justify_items": null, - "grid_row": null, - "max_height": null, - "align_content": null, - "visibility": null, - "align_self": null, - "height": null, - "min_height": null, - "padding": null, - "grid_auto_rows": null, - "grid_gap": null, - "max_width": null, - "order": null, - "_view_module_version": "1.2.0", - "grid_template_areas": null, - "object_position": null, - "object_fit": null, - "grid_auto_columns": null, - "margin": null, - "display": null, - "left": null - } - }, - "1d52bab99f23409f98630325d9efa14d": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "state": { - "_view_name": "StyleView", - "_model_name": "DescriptionStyleModel", - "description_width": "", - "_view_module": "@jupyter-widgets/base", - "_model_module_version": "1.5.0", - "_view_count": null, - "_view_module_version": "1.2.0", - "_model_module": "@jupyter-widgets/controls" - } - }, - "905b14471b3643b58ba3830fa174f86c": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "state": { - "_view_name": "LayoutView", - "grid_template_rows": null, - "right": null, - "justify_content": null, - "_view_module": "@jupyter-widgets/base", - "overflow": null, - "_model_module_version": "1.2.0", - "_view_count": null, - "flex_flow": null, - "width": null, - "min_width": null, - "border": null, - "align_items": null, - "bottom": null, - "_model_module": "@jupyter-widgets/base", - "top": null, - "grid_column": null, - "overflow_y": null, - "overflow_x": null, - "grid_auto_flow": null, - "grid_area": null, - "grid_template_columns": null, - "flex": null, - "_model_name": "LayoutModel", - "justify_items": null, - "grid_row": null, - "max_height": null, - "align_content": null, - "visibility": null, - "align_self": null, - "height": null, - "min_height": null, - "padding": null, - "grid_auto_rows": null, - "grid_gap": null, - "max_width": null, - "order": null, - "_view_module_version": "1.2.0", - "grid_template_areas": null, - "object_position": null, - "object_fit": null, - "grid_auto_columns": null, - "margin": null, - "display": null, - "left": null - } - }, - "09300165c1894bd3a7b78c87fb250511": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "state": { - "_view_name": "HBoxView", - "_dom_classes": [], - "_model_name": "HBoxModel", - "_view_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_view_count": null, - "_view_module_version": "1.5.0", - "box_style": "", - "layout": "IPY_MODEL_0149d8bb372343d283bb1829f96e28f4", - "_model_module": "@jupyter-widgets/controls", - "children": [ - "IPY_MODEL_4a26c23cc0824442ac0dcdd609992beb", - "IPY_MODEL_c007626f2c5e421abc2a4887a461e037" - ] - } - }, - "0149d8bb372343d283bb1829f96e28f4": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "state": { - "_view_name": "LayoutView", - "grid_template_rows": null, - "right": null, - "justify_content": null, - "_view_module": "@jupyter-widgets/base", - "overflow": null, - "_model_module_version": "1.2.0", - "_view_count": null, - "flex_flow": null, - "width": null, - "min_width": null, - "border": null, - "align_items": null, - "bottom": null, - "_model_module": "@jupyter-widgets/base", - "top": null, - "grid_column": null, - "overflow_y": null, - "overflow_x": null, - "grid_auto_flow": null, - "grid_area": null, - "grid_template_columns": null, - "flex": null, - "_model_name": "LayoutModel", - "justify_items": null, - "grid_row": null, - "max_height": null, - "align_content": null, - "visibility": null, - "align_self": null, - "height": null, - "min_height": null, - "padding": null, - "grid_auto_rows": null, - "grid_gap": null, - "max_width": null, - "order": null, - "_view_module_version": "1.2.0", - "grid_template_areas": null, - "object_position": null, - "object_fit": null, - "grid_auto_columns": null, - "margin": null, - "display": null, - "left": null - } - }, - "4a26c23cc0824442ac0dcdd609992beb": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "state": { - "_view_name": "ProgressView", - "style": "IPY_MODEL_0c816db6f8b34683b5aef0ac56f66072", - "_dom_classes": [], - "description": "", - "_model_name": "FloatProgressModel", - "bar_style": "info", - "max": 1, - "_view_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "value": 1, - "_view_count": null, - "_view_module_version": "1.5.0", - "orientation": "horizontal", - "min": 0, - "description_tooltip": null, - "_model_module": "@jupyter-widgets/controls", - "layout": "IPY_MODEL_e0cacdf1eb5a44b78a4f66335be30317" - } - }, - "c007626f2c5e421abc2a4887a461e037": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "state": { - "_view_name": "HTMLView", - "style": "IPY_MODEL_1d126277a2c44684a376962bbdfb56f6", - "_dom_classes": [], - "description": "", - "_model_name": "HTMLModel", - "placeholder": "​", - "_view_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "value": " 25000/0 [00:12<00:00, 3739.95 examples/s]", - "_view_count": null, - "_view_module_version": "1.5.0", - "description_tooltip": null, - "_model_module": "@jupyter-widgets/controls", - "layout": "IPY_MODEL_a02d50a7ae384886a967182e6981c44c" - } - }, - "0c816db6f8b34683b5aef0ac56f66072": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "state": { - "_view_name": "StyleView", - "_model_name": "ProgressStyleModel", - "description_width": "initial", - "_view_module": "@jupyter-widgets/base", - "_model_module_version": "1.5.0", - "_view_count": null, - "_view_module_version": "1.2.0", - "bar_color": null, - "_model_module": "@jupyter-widgets/controls" - } - }, - "e0cacdf1eb5a44b78a4f66335be30317": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "state": { - "_view_name": "LayoutView", - "grid_template_rows": null, - "right": null, - "justify_content": null, - "_view_module": "@jupyter-widgets/base", - "overflow": null, - "_model_module_version": "1.2.0", - "_view_count": null, - "flex_flow": null, - "width": null, - "min_width": null, - "border": null, - "align_items": null, - "bottom": null, - "_model_module": "@jupyter-widgets/base", - "top": null, - "grid_column": null, - "overflow_y": null, - "overflow_x": null, - "grid_auto_flow": null, - "grid_area": null, - "grid_template_columns": null, - "flex": null, - "_model_name": "LayoutModel", - "justify_items": null, - "grid_row": null, - "max_height": null, - "align_content": null, - "visibility": null, - "align_self": null, - "height": null, - "min_height": null, - "padding": null, - "grid_auto_rows": null, - "grid_gap": null, - "max_width": null, - "order": null, - "_view_module_version": "1.2.0", - "grid_template_areas": null, - "object_position": null, - "object_fit": null, - "grid_auto_columns": null, - "margin": null, - "display": null, - "left": null - } - }, - "1d126277a2c44684a376962bbdfb56f6": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "state": { - "_view_name": "StyleView", - "_model_name": "DescriptionStyleModel", - "description_width": "", - "_view_module": "@jupyter-widgets/base", - "_model_module_version": "1.5.0", - "_view_count": null, - "_view_module_version": "1.2.0", - "_model_module": "@jupyter-widgets/controls" - } - }, - "a02d50a7ae384886a967182e6981c44c": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "state": { - "_view_name": "LayoutView", - "grid_template_rows": null, - "right": null, - "justify_content": null, - "_view_module": "@jupyter-widgets/base", - "overflow": null, - "_model_module_version": "1.2.0", - "_view_count": null, - "flex_flow": null, - "width": null, - "min_width": null, - "border": null, - "align_items": null, - "bottom": null, - "_model_module": "@jupyter-widgets/base", - "top": null, - "grid_column": null, - "overflow_y": null, - "overflow_x": null, - "grid_auto_flow": null, - "grid_area": null, - "grid_template_columns": null, - "flex": null, - "_model_name": "LayoutModel", - "justify_items": null, - "grid_row": null, - "max_height": null, - "align_content": null, - "visibility": null, - "align_self": null, - "height": null, - "min_height": null, - "padding": null, - "grid_auto_rows": null, - "grid_gap": null, - "max_width": null, - "order": null, - "_view_module_version": "1.2.0", - "grid_template_areas": null, - "object_position": null, - "object_fit": null, - "grid_auto_columns": null, - "margin": null, - "display": null, - "left": null - } - }, - "1d361f1e76bc4c998b224c8416fc8a16": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "state": { - "_view_name": "HBoxView", - "_dom_classes": [], - "_model_name": "HBoxModel", - "_view_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_view_count": null, - "_view_module_version": "1.5.0", - "box_style": "", - "layout": "IPY_MODEL_5b1315b6fd254acb94b58f87982f24aa", - "_model_module": "@jupyter-widgets/controls", - "children": [ - "IPY_MODEL_6cdcb40c2f5c46b28729a3520acb20a1", - "IPY_MODEL_ee43cf31a9f345eca70cc73227c5a169" - ] - } - }, - "5b1315b6fd254acb94b58f87982f24aa": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "state": { - "_view_name": "LayoutView", - "grid_template_rows": null, - "right": null, - "justify_content": null, - "_view_module": "@jupyter-widgets/base", - "overflow": null, - "_model_module_version": "1.2.0", - "_view_count": null, - "flex_flow": null, - "width": null, - "min_width": null, - "border": null, - "align_items": null, - "bottom": null, - "_model_module": "@jupyter-widgets/base", - "top": null, - "grid_column": null, - "overflow_y": null, - "overflow_x": null, - "grid_auto_flow": null, - "grid_area": null, - "grid_template_columns": null, - "flex": null, - "_model_name": "LayoutModel", - "justify_items": null, - "grid_row": null, - "max_height": null, - "align_content": null, - "visibility": null, - "align_self": null, - "height": null, - "min_height": null, - "padding": null, - "grid_auto_rows": null, - "grid_gap": null, - "max_width": null, - "order": null, - "_view_module_version": "1.2.0", - "grid_template_areas": null, - "object_position": null, - "object_fit": null, - "grid_auto_columns": null, - "margin": null, - "display": null, - "left": null - } - }, - "6cdcb40c2f5c46b28729a3520acb20a1": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "state": { - "_view_name": "ProgressView", - "style": "IPY_MODEL_6badcfd59faa48a793e71e27098d8f3d", - "_dom_classes": [], - "description": " 56%", - "_model_name": "FloatProgressModel", - "bar_style": "danger", - "max": 25000, - "_view_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "value": 13935, - "_view_count": null, - "_view_module_version": "1.5.0", - "orientation": "horizontal", - "min": 0, - "description_tooltip": null, - "_model_module": "@jupyter-widgets/controls", - "layout": "IPY_MODEL_c2ceb26415204c9a852c94a0fcb53383" - } - }, - "ee43cf31a9f345eca70cc73227c5a169": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "state": { - "_view_name": "HTMLView", - "style": "IPY_MODEL_089001ea663c4789b2fe323feb01d247", - "_dom_classes": [], - "description": "", - "_model_name": "HTMLModel", - "placeholder": "​", - "_view_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "value": " 13935/25000 [00:00<00:00, 139348.14 examples/s]", - "_view_count": null, - "_view_module_version": "1.5.0", - "description_tooltip": null, - "_model_module": "@jupyter-widgets/controls", - "layout": "IPY_MODEL_b0a27c6b82694ff992e8e97bfa984478" - } - }, - "6badcfd59faa48a793e71e27098d8f3d": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "state": { - "_view_name": "StyleView", - "_model_name": "ProgressStyleModel", - "description_width": "initial", - "_view_module": "@jupyter-widgets/base", - "_model_module_version": "1.5.0", - "_view_count": null, - "_view_module_version": "1.2.0", - "bar_color": null, - "_model_module": "@jupyter-widgets/controls" - } - }, - "c2ceb26415204c9a852c94a0fcb53383": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "state": { - "_view_name": "LayoutView", - "grid_template_rows": null, - "right": null, - "justify_content": null, - "_view_module": "@jupyter-widgets/base", - "overflow": null, - "_model_module_version": "1.2.0", - "_view_count": null, - "flex_flow": null, - "width": null, - "min_width": null, - "border": null, - "align_items": null, - "bottom": null, - "_model_module": "@jupyter-widgets/base", - "top": null, - "grid_column": null, - "overflow_y": null, - "overflow_x": null, - "grid_auto_flow": null, - "grid_area": null, - "grid_template_columns": null, - "flex": null, - "_model_name": "LayoutModel", - "justify_items": null, - "grid_row": null, - "max_height": null, - "align_content": null, - "visibility": null, - "align_self": null, - "height": null, - "min_height": null, - "padding": null, - "grid_auto_rows": null, - "grid_gap": null, - "max_width": null, - "order": null, - "_view_module_version": "1.2.0", - "grid_template_areas": null, - "object_position": null, - "object_fit": null, - "grid_auto_columns": null, - "margin": null, - "display": null, - "left": null - } - }, - "089001ea663c4789b2fe323feb01d247": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "state": { - "_view_name": "StyleView", - "_model_name": "DescriptionStyleModel", - "description_width": "", - "_view_module": "@jupyter-widgets/base", - "_model_module_version": "1.5.0", - "_view_count": null, - "_view_module_version": "1.2.0", - "_model_module": "@jupyter-widgets/controls" - } - }, - "b0a27c6b82694ff992e8e97bfa984478": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "state": { - "_view_name": "LayoutView", - "grid_template_rows": null, - "right": null, - "justify_content": null, - "_view_module": "@jupyter-widgets/base", - "overflow": null, - "_model_module_version": "1.2.0", - "_view_count": null, - "flex_flow": null, - "width": null, - "min_width": null, - "border": null, - "align_items": null, - "bottom": null, - "_model_module": "@jupyter-widgets/base", - "top": null, - "grid_column": null, - "overflow_y": null, - "overflow_x": null, - "grid_auto_flow": null, - "grid_area": null, - "grid_template_columns": null, - "flex": null, - "_model_name": "LayoutModel", - "justify_items": null, - "grid_row": null, - "max_height": null, - "align_content": null, - "visibility": null, - "align_self": null, - "height": null, - "min_height": null, - "padding": null, - "grid_auto_rows": null, - "grid_gap": null, - "max_width": null, - "order": null, - "_view_module_version": "1.2.0", - "grid_template_areas": null, - "object_position": null, - "object_fit": null, - "grid_auto_columns": null, - "margin": null, - "display": null, - "left": null - } - }, - "a9c4cc19d9dc4d40a3b17631d7448daa": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "state": { - "_view_name": "HBoxView", - "_dom_classes": [], - "_model_name": "HBoxModel", - "_view_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_view_count": null, - "_view_module_version": "1.5.0", - "box_style": "", - "layout": "IPY_MODEL_f918a91dea72484e97e82e36d01932af", - "_model_module": "@jupyter-widgets/controls", - "children": [ - "IPY_MODEL_c6bd265dcadc4e9bb12b8c58a5db57ec", - "IPY_MODEL_305d41b438fb449b939b51cf6690c046" - ] - } - }, - "f918a91dea72484e97e82e36d01932af": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "state": { - "_view_name": "LayoutView", - "grid_template_rows": null, - "right": null, - "justify_content": null, - "_view_module": "@jupyter-widgets/base", - "overflow": null, - "_model_module_version": "1.2.0", - "_view_count": null, - "flex_flow": null, - "width": null, - "min_width": null, - "border": null, - "align_items": null, - "bottom": null, - "_model_module": "@jupyter-widgets/base", - "top": null, - "grid_column": null, - "overflow_y": null, - "overflow_x": null, - "grid_auto_flow": null, - "grid_area": null, - "grid_template_columns": null, - "flex": null, - "_model_name": "LayoutModel", - "justify_items": null, - "grid_row": null, - "max_height": null, - "align_content": null, - "visibility": null, - "align_self": null, - "height": null, - "min_height": null, - "padding": null, - "grid_auto_rows": null, - "grid_gap": null, - "max_width": null, - "order": null, - "_view_module_version": "1.2.0", - "grid_template_areas": null, - "object_position": null, - "object_fit": null, - "grid_auto_columns": null, - "margin": null, - "display": null, - "left": null - } - }, - "c6bd265dcadc4e9bb12b8c58a5db57ec": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "state": { - "_view_name": "ProgressView", - "style": "IPY_MODEL_f8d5981f5ea94bcc87dc57538e5bce29", - "_dom_classes": [], - "description": "", - "_model_name": "FloatProgressModel", - "bar_style": "info", - "max": 1, - "_view_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "value": 1, - "_view_count": null, - "_view_module_version": "1.5.0", - "orientation": "horizontal", - "min": 0, - "description_tooltip": null, - "_model_module": "@jupyter-widgets/controls", - "layout": "IPY_MODEL_df89b9803f144e3890eddf8e16c7db0e" - } - }, - "305d41b438fb449b939b51cf6690c046": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "state": { - "_view_name": "HTMLView", - "style": "IPY_MODEL_68387809e9794b8892a6db66d5371555", - "_dom_classes": [], - "description": "", - "_model_name": "HTMLModel", - "placeholder": "​", - "_view_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "value": " 25000/0 [00:12<00:00, 3879.71 examples/s]", - "_view_count": null, - "_view_module_version": "1.5.0", - "description_tooltip": null, - "_model_module": "@jupyter-widgets/controls", - "layout": "IPY_MODEL_72e10b7692aa4b39b6c620496ff7cefb" - } - }, - "f8d5981f5ea94bcc87dc57538e5bce29": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "state": { - "_view_name": "StyleView", - "_model_name": "ProgressStyleModel", - "description_width": "initial", - "_view_module": "@jupyter-widgets/base", - "_model_module_version": "1.5.0", - "_view_count": null, - "_view_module_version": "1.2.0", - "bar_color": null, - "_model_module": "@jupyter-widgets/controls" - } - }, - "df89b9803f144e3890eddf8e16c7db0e": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "state": { - "_view_name": "LayoutView", - "grid_template_rows": null, - "right": null, - "justify_content": null, - "_view_module": "@jupyter-widgets/base", - "overflow": null, - "_model_module_version": "1.2.0", - "_view_count": null, - "flex_flow": null, - "width": null, - "min_width": null, - "border": null, - "align_items": null, - "bottom": null, - "_model_module": "@jupyter-widgets/base", - "top": null, - "grid_column": null, - "overflow_y": null, - "overflow_x": null, - "grid_auto_flow": null, - "grid_area": null, - "grid_template_columns": null, - "flex": null, - "_model_name": "LayoutModel", - "justify_items": null, - "grid_row": null, - "max_height": null, - "align_content": null, - "visibility": null, - "align_self": null, - "height": null, - "min_height": null, - "padding": null, - "grid_auto_rows": null, - "grid_gap": null, - "max_width": null, - "order": null, - "_view_module_version": "1.2.0", - "grid_template_areas": null, - "object_position": null, - "object_fit": null, - "grid_auto_columns": null, - "margin": null, - "display": null, - "left": null - } - }, - "68387809e9794b8892a6db66d5371555": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "state": { - "_view_name": "StyleView", - "_model_name": "DescriptionStyleModel", - "description_width": "", - "_view_module": "@jupyter-widgets/base", - "_model_module_version": "1.5.0", - "_view_count": null, - "_view_module_version": "1.2.0", - "_model_module": "@jupyter-widgets/controls" - } - }, - "72e10b7692aa4b39b6c620496ff7cefb": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "state": { - "_view_name": "LayoutView", - "grid_template_rows": null, - "right": null, - "justify_content": null, - "_view_module": "@jupyter-widgets/base", - "overflow": null, - "_model_module_version": "1.2.0", - "_view_count": null, - "flex_flow": null, - "width": null, - "min_width": null, - "border": null, - "align_items": null, - "bottom": null, - "_model_module": "@jupyter-widgets/base", - "top": null, - "grid_column": null, - "overflow_y": null, - "overflow_x": null, - "grid_auto_flow": null, - "grid_area": null, - "grid_template_columns": null, - "flex": null, - "_model_name": "LayoutModel", - "justify_items": null, - "grid_row": null, - "max_height": null, - "align_content": null, - "visibility": null, - "align_self": null, - "height": null, - "min_height": null, - "padding": null, - "grid_auto_rows": null, - "grid_gap": null, - "max_width": null, - "order": null, - "_view_module_version": "1.2.0", - "grid_template_areas": null, - "object_position": null, - "object_fit": null, - "grid_auto_columns": null, - "margin": null, - "display": null, - "left": null - } - }, - "5b4f922e27d5488bafed266090322917": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "state": { - "_view_name": "HBoxView", - "_dom_classes": [], - "_model_name": "HBoxModel", - "_view_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_view_count": null, - "_view_module_version": "1.5.0", - "box_style": "", - "layout": "IPY_MODEL_84d2f5ac34444b40a4d7a2bb2a952078", - "_model_module": "@jupyter-widgets/controls", - "children": [ - "IPY_MODEL_5c8868e32d1a42269361c8e628870217", - "IPY_MODEL_9c8858a60d48487aab7c5b6a6ae61187" - ] - } - }, - "84d2f5ac34444b40a4d7a2bb2a952078": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "state": { - "_view_name": "LayoutView", - "grid_template_rows": null, - "right": null, - "justify_content": null, - "_view_module": "@jupyter-widgets/base", - "overflow": null, - "_model_module_version": "1.2.0", - "_view_count": null, - "flex_flow": null, - "width": null, - "min_width": null, - "border": null, - "align_items": null, - "bottom": null, - "_model_module": "@jupyter-widgets/base", - "top": null, - "grid_column": null, - "overflow_y": null, - "overflow_x": null, - "grid_auto_flow": null, - "grid_area": null, - "grid_template_columns": null, - "flex": null, - "_model_name": "LayoutModel", - "justify_items": null, - "grid_row": null, - "max_height": null, - "align_content": null, - "visibility": null, - "align_self": null, - "height": null, - "min_height": null, - "padding": null, - "grid_auto_rows": null, - "grid_gap": null, - "max_width": null, - "order": null, - "_view_module_version": "1.2.0", - "grid_template_areas": null, - "object_position": null, - "object_fit": null, - "grid_auto_columns": null, - "margin": null, - "display": null, - "left": null - } - }, - "5c8868e32d1a42269361c8e628870217": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "state": { - "_view_name": "ProgressView", - "style": "IPY_MODEL_11d33dcc576b4c2199d3f9b0cac7f73d", - "_dom_classes": [], - "description": " 49%", - "_model_name": "FloatProgressModel", - "bar_style": "danger", - "max": 25000, - "_view_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "value": 12220, - "_view_count": null, - "_view_module_version": "1.5.0", - "orientation": "horizontal", - "min": 0, - "description_tooltip": null, - "_model_module": "@jupyter-widgets/controls", - "layout": "IPY_MODEL_6afb891fccf24421bce1978a7fc244c1" - } - }, - "9c8858a60d48487aab7c5b6a6ae61187": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "state": { - "_view_name": "HTMLView", - "style": "IPY_MODEL_ff0c7ee1bdc2406797f806967f179b44", - "_dom_classes": [], - "description": "", - "_model_name": "HTMLModel", - "placeholder": "​", - "_view_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "value": " 12220/25000 [00:00<00:00, 122197.79 examples/s]", - "_view_count": null, - "_view_module_version": "1.5.0", - "description_tooltip": null, - "_model_module": "@jupyter-widgets/controls", - "layout": "IPY_MODEL_eee3640504d847a4b820e8008c02aa41" - } - }, - "11d33dcc576b4c2199d3f9b0cac7f73d": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "state": { - "_view_name": "StyleView", - "_model_name": "ProgressStyleModel", - "description_width": "initial", - "_view_module": "@jupyter-widgets/base", - "_model_module_version": "1.5.0", - "_view_count": null, - "_view_module_version": "1.2.0", - "bar_color": null, - "_model_module": "@jupyter-widgets/controls" - } - }, - "6afb891fccf24421bce1978a7fc244c1": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "state": { - "_view_name": "LayoutView", - "grid_template_rows": null, - "right": null, - "justify_content": null, - "_view_module": "@jupyter-widgets/base", - "overflow": null, - "_model_module_version": "1.2.0", - "_view_count": null, - "flex_flow": null, - "width": null, - "min_width": null, - "border": null, - "align_items": null, - "bottom": null, - "_model_module": "@jupyter-widgets/base", - "top": null, - "grid_column": null, - "overflow_y": null, - "overflow_x": null, - "grid_auto_flow": null, - "grid_area": null, - "grid_template_columns": null, - "flex": null, - "_model_name": "LayoutModel", - "justify_items": null, - "grid_row": null, - "max_height": null, - "align_content": null, - "visibility": null, - "align_self": null, - "height": null, - "min_height": null, - "padding": null, - "grid_auto_rows": null, - "grid_gap": null, - "max_width": null, - "order": null, - "_view_module_version": "1.2.0", - "grid_template_areas": null, - "object_position": null, - "object_fit": null, - "grid_auto_columns": null, - "margin": null, - "display": null, - "left": null - } - }, - "ff0c7ee1bdc2406797f806967f179b44": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "state": { - "_view_name": "StyleView", - "_model_name": "DescriptionStyleModel", - "description_width": "", - "_view_module": "@jupyter-widgets/base", - "_model_module_version": "1.5.0", - "_view_count": null, - "_view_module_version": "1.2.0", - "_model_module": "@jupyter-widgets/controls" - } - }, - "eee3640504d847a4b820e8008c02aa41": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "state": { - "_view_name": "LayoutView", - "grid_template_rows": null, - "right": null, - "justify_content": null, - "_view_module": "@jupyter-widgets/base", - "overflow": null, - "_model_module_version": "1.2.0", - "_view_count": null, - "flex_flow": null, - "width": null, - "min_width": null, - "border": null, - "align_items": null, - "bottom": null, - "_model_module": "@jupyter-widgets/base", - "top": null, - "grid_column": null, - "overflow_y": null, - "overflow_x": null, - "grid_auto_flow": null, - "grid_area": null, - "grid_template_columns": null, - "flex": null, - "_model_name": "LayoutModel", - "justify_items": null, - "grid_row": null, - "max_height": null, - "align_content": null, - "visibility": null, - "align_self": null, - "height": null, - "min_height": null, - "padding": null, - "grid_auto_rows": null, - "grid_gap": null, - "max_width": null, - "order": null, - "_view_module_version": "1.2.0", - "grid_template_areas": null, - "object_position": null, - "object_fit": null, - "grid_auto_columns": null, - "margin": null, - "display": null, - "left": null - } - }, - "c40037b21be849b1802af03736a9e284": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "state": { - "_view_name": "HBoxView", - "_dom_classes": [], - "_model_name": "HBoxModel", - "_view_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_view_count": null, - "_view_module_version": "1.5.0", - "box_style": "", - "layout": "IPY_MODEL_5c33ea7a8a0b4f749ce3d454c51ac1ed", - "_model_module": "@jupyter-widgets/controls", - "children": [ - "IPY_MODEL_ac68b1dacf324d7593e74366a0e7a67c", - "IPY_MODEL_c3970b6ca46e4a39b0916698e1f2047e" - ] - } - }, - "5c33ea7a8a0b4f749ce3d454c51ac1ed": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "state": { - "_view_name": "LayoutView", - "grid_template_rows": null, - "right": null, - "justify_content": null, - "_view_module": "@jupyter-widgets/base", - "overflow": null, - "_model_module_version": "1.2.0", - "_view_count": null, - "flex_flow": null, - "width": null, - "min_width": null, - "border": null, - "align_items": null, - "bottom": null, - "_model_module": "@jupyter-widgets/base", - "top": null, - "grid_column": null, - "overflow_y": null, - "overflow_x": null, - "grid_auto_flow": null, - "grid_area": null, - "grid_template_columns": null, - "flex": null, - "_model_name": "LayoutModel", - "justify_items": null, - "grid_row": null, - "max_height": null, - "align_content": null, - "visibility": null, - "align_self": null, - "height": null, - "min_height": null, - "padding": null, - "grid_auto_rows": null, - "grid_gap": null, - "max_width": null, - "order": null, - "_view_module_version": "1.2.0", - "grid_template_areas": null, - "object_position": null, - "object_fit": null, - "grid_auto_columns": null, - "margin": null, - "display": null, - "left": null - } - }, - "ac68b1dacf324d7593e74366a0e7a67c": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "state": { - "_view_name": "ProgressView", - "style": "IPY_MODEL_4fecb9db954b4e1682ac498bc1d86156", - "_dom_classes": [], - "description": "", - "_model_name": "FloatProgressModel", - "bar_style": "info", - "max": 1, - "_view_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "value": 1, - "_view_count": null, - "_view_module_version": "1.5.0", - "orientation": "horizontal", - "min": 0, - "description_tooltip": null, - "_model_module": "@jupyter-widgets/controls", - "layout": "IPY_MODEL_db67c3ee1b4540d4973df43d2aa3f5ab" - } - }, - "c3970b6ca46e4a39b0916698e1f2047e": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "state": { - "_view_name": "HTMLView", - "style": "IPY_MODEL_dcf12272a1ef4748b7e0da3913c64cb3", - "_dom_classes": [], - "description": "", - "_model_name": "HTMLModel", - "placeholder": "​", - "_view_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "value": " 50000/0 [00:17<00:00, 3904.65 examples/s]", - "_view_count": null, - "_view_module_version": "1.5.0", - "description_tooltip": null, - "_model_module": "@jupyter-widgets/controls", - "layout": "IPY_MODEL_f9096cc21ab840a08c2a2a381e2ff40b" - } - }, - "4fecb9db954b4e1682ac498bc1d86156": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "state": { - "_view_name": "StyleView", - "_model_name": "ProgressStyleModel", - "description_width": "initial", - "_view_module": "@jupyter-widgets/base", - "_model_module_version": "1.5.0", - "_view_count": null, - "_view_module_version": "1.2.0", - "bar_color": null, - "_model_module": "@jupyter-widgets/controls" - } - }, - "db67c3ee1b4540d4973df43d2aa3f5ab": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "state": { - "_view_name": "LayoutView", - "grid_template_rows": null, - "right": null, - "justify_content": null, - "_view_module": "@jupyter-widgets/base", - "overflow": null, - "_model_module_version": "1.2.0", - "_view_count": null, - "flex_flow": null, - "width": null, - "min_width": null, - "border": null, - "align_items": null, - "bottom": null, - "_model_module": "@jupyter-widgets/base", - "top": null, - "grid_column": null, - "overflow_y": null, - "overflow_x": null, - "grid_auto_flow": null, - "grid_area": null, - "grid_template_columns": null, - "flex": null, - "_model_name": "LayoutModel", - "justify_items": null, - "grid_row": null, - "max_height": null, - "align_content": null, - "visibility": null, - "align_self": null, - "height": null, - "min_height": null, - "padding": null, - "grid_auto_rows": null, - "grid_gap": null, - "max_width": null, - "order": null, - "_view_module_version": "1.2.0", - "grid_template_areas": null, - "object_position": null, - "object_fit": null, - "grid_auto_columns": null, - "margin": null, - "display": null, - "left": null - } - }, - "dcf12272a1ef4748b7e0da3913c64cb3": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "state": { - "_view_name": "StyleView", - "_model_name": "DescriptionStyleModel", - "description_width": "", - "_view_module": "@jupyter-widgets/base", - "_model_module_version": "1.5.0", - "_view_count": null, - "_view_module_version": "1.2.0", - "_model_module": "@jupyter-widgets/controls" - } - }, - "f9096cc21ab840a08c2a2a381e2ff40b": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "state": { - "_view_name": "LayoutView", - "grid_template_rows": null, - "right": null, - "justify_content": null, - "_view_module": "@jupyter-widgets/base", - "overflow": null, - "_model_module_version": "1.2.0", - "_view_count": null, - "flex_flow": null, - "width": null, - "min_width": null, - "border": null, - "align_items": null, - "bottom": null, - "_model_module": "@jupyter-widgets/base", - "top": null, - "grid_column": null, - "overflow_y": null, - "overflow_x": null, - "grid_auto_flow": null, - "grid_area": null, - "grid_template_columns": null, - "flex": null, - "_model_name": "LayoutModel", - "justify_items": null, - "grid_row": null, - "max_height": null, - "align_content": null, - "visibility": null, - "align_self": null, - "height": null, - "min_height": null, - "padding": null, - "grid_auto_rows": null, - "grid_gap": null, - "max_width": null, - "order": null, - "_view_module_version": "1.2.0", - "grid_template_areas": null, - "object_position": null, - "object_fit": null, - "grid_auto_columns": null, - "margin": null, - "display": null, - "left": null - } - }, - "dda52d9f72e4459daf5aa8ae0a591b2a": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "state": { - "_view_name": "HBoxView", - "_dom_classes": [], - "_model_name": "HBoxModel", - "_view_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_view_count": null, - "_view_module_version": "1.5.0", - "box_style": "", - "layout": "IPY_MODEL_613af5ad3b1743a0a6602ac6f24b72c1", - "_model_module": "@jupyter-widgets/controls", - "children": [ - "IPY_MODEL_1aba18bef74746fb8d1d0b10977a4407", - "IPY_MODEL_24a2bb51bebf4be191eb3705fd59a669" - ] - } - }, - "613af5ad3b1743a0a6602ac6f24b72c1": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "state": { - "_view_name": "LayoutView", - "grid_template_rows": null, - "right": null, - "justify_content": null, - "_view_module": "@jupyter-widgets/base", - "overflow": null, - "_model_module_version": "1.2.0", - "_view_count": null, - "flex_flow": null, - "width": null, - "min_width": null, - "border": null, - "align_items": null, - "bottom": null, - "_model_module": "@jupyter-widgets/base", - "top": null, - "grid_column": null, - "overflow_y": null, - "overflow_x": null, - "grid_auto_flow": null, - "grid_area": null, - "grid_template_columns": null, - "flex": null, - "_model_name": "LayoutModel", - "justify_items": null, - "grid_row": null, - "max_height": null, - "align_content": null, - "visibility": null, - "align_self": null, - "height": null, - "min_height": null, - "padding": null, - "grid_auto_rows": null, - "grid_gap": null, - "max_width": null, - "order": null, - "_view_module_version": "1.2.0", - "grid_template_areas": null, - "object_position": null, - "object_fit": null, - "grid_auto_columns": null, - "margin": null, - "display": null, - "left": null - } - }, - "1aba18bef74746fb8d1d0b10977a4407": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "state": { - "_view_name": "ProgressView", - "style": "IPY_MODEL_fe86ad0ecefd414da364b9b1155c0dd3", - "_dom_classes": [], - "description": " 64%", - "_model_name": "FloatProgressModel", - "bar_style": "danger", - "max": 50000, - "_view_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "value": 32213, - "_view_count": null, - "_view_module_version": "1.5.0", - "orientation": "horizontal", - "min": 0, - "description_tooltip": null, - "_model_module": "@jupyter-widgets/controls", - "layout": "IPY_MODEL_3f1a46aaa8cd471189b401814aedf104" - } - }, - "24a2bb51bebf4be191eb3705fd59a669": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "state": { - "_view_name": "HTMLView", - "style": "IPY_MODEL_7227ac721a2942cfbbc0282f0ac100da", - "_dom_classes": [], - "description": "", - "_model_name": "HTMLModel", - "placeholder": "​", - "_view_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "value": " 32213/50000 [00:00<00:00, 79302.13 examples/s]", - "_view_count": null, - "_view_module_version": "1.5.0", - "description_tooltip": null, - "_model_module": "@jupyter-widgets/controls", - "layout": "IPY_MODEL_f744483bfb4841a392b6255d8f48c763" - } - }, - "fe86ad0ecefd414da364b9b1155c0dd3": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "state": { - "_view_name": "StyleView", - "_model_name": "ProgressStyleModel", - "description_width": "initial", - "_view_module": "@jupyter-widgets/base", - "_model_module_version": "1.5.0", - "_view_count": null, - "_view_module_version": "1.2.0", - "bar_color": null, - "_model_module": "@jupyter-widgets/controls" - } - }, - "3f1a46aaa8cd471189b401814aedf104": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "state": { - "_view_name": "LayoutView", - "grid_template_rows": null, - "right": null, - "justify_content": null, - "_view_module": "@jupyter-widgets/base", - "overflow": null, - "_model_module_version": "1.2.0", - "_view_count": null, - "flex_flow": null, - "width": null, - "min_width": null, - "border": null, - "align_items": null, - "bottom": null, - "_model_module": "@jupyter-widgets/base", - "top": null, - "grid_column": null, - "overflow_y": null, - "overflow_x": null, - "grid_auto_flow": null, - "grid_area": null, - "grid_template_columns": null, - "flex": null, - "_model_name": "LayoutModel", - "justify_items": null, - "grid_row": null, - "max_height": null, - "align_content": null, - "visibility": null, - "align_self": null, - "height": null, - "min_height": null, - "padding": null, - "grid_auto_rows": null, - "grid_gap": null, - "max_width": null, - "order": null, - "_view_module_version": "1.2.0", - "grid_template_areas": null, - "object_position": null, - "object_fit": null, - "grid_auto_columns": null, - "margin": null, - "display": null, - "left": null - } - }, - "7227ac721a2942cfbbc0282f0ac100da": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "state": { - "_view_name": "StyleView", - "_model_name": "DescriptionStyleModel", - "description_width": "", - "_view_module": "@jupyter-widgets/base", - "_model_module_version": "1.5.0", - "_view_count": null, - "_view_module_version": "1.2.0", - "_model_module": "@jupyter-widgets/controls" - } - }, - "f744483bfb4841a392b6255d8f48c763": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "state": { - "_view_name": "LayoutView", - "grid_template_rows": null, - "right": null, - "justify_content": null, - "_view_module": "@jupyter-widgets/base", - "overflow": null, - "_model_module_version": "1.2.0", - "_view_count": null, - "flex_flow": null, - "width": null, - "min_width": null, - "border": null, - "align_items": null, - "bottom": null, - "_model_module": "@jupyter-widgets/base", - "top": null, - "grid_column": null, - "overflow_y": null, - "overflow_x": null, - "grid_auto_flow": null, - "grid_area": null, - "grid_template_columns": null, - "flex": null, - "_model_name": "LayoutModel", - "justify_items": null, - "grid_row": null, - "max_height": null, - "align_content": null, - "visibility": null, - "align_self": null, - "height": null, - "min_height": null, - "padding": null, - "grid_auto_rows": null, - "grid_gap": null, - "max_width": null, - "order": null, - "_view_module_version": "1.2.0", - "grid_template_areas": null, - "object_position": null, - "object_fit": null, - "grid_auto_columns": null, - "margin": null, - "display": null, - "left": null - } - } - } - } - }, - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "id": "view-in-github", - "colab_type": "text" - }, - "source": [ - "\"Open" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "zn5lhb2v_YZC" - }, - "source": [ - "#Wikipedia Simplifier Assignment 4 (Sentiment classification using tesorflow)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "FNiDkDht-Ulx" - }, - "source": [ - "\n", - "\n", - "---\n", - "\n", - "\n", - "**Team 1:
**\n", - "Vaibhav goyal
\n", - "Alisha
\n", - "kajal deep\n", - "\n", - "\n", - "---\n", - "\n", - "\n", - "\n", - "Mentors:
\n", - "Ananya Gupta
\n", - "Rishabh dugaye\n", - "\n", - "\n", - "---\n", - "\n" - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "Mep1UYlG0vme" - }, - "source": [ - "# importing neccesary libraries\n", - "import numpy as np\n", - "import matplotlib.pyplot as plt\n", - "import tensorflow as tf\n", - "import tensorflow_datasets as tfds\n" - ], - "execution_count": 1, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 405, - "referenced_widgets": [ - "4ad78aefbff84edebff75c2bf2c74d40", - "2da75a9b724f4f28a46f8170bdc32531", - "884bf4a023e8484bbbeaa70c20b4ec42", - "ae83be5c7169469b909990be9addcc57", - "5fb1868bcd8b443b988f998b196f1d66", - "7c2e054365bb46cf92c9ddf08788f0ad", - "22959b1ad40c4aa2b37bb88d2aa76d13", - "706074f3515b45bdb8a5f7cf0f70d3a8", - "ada8db9b412641d3bd1687721f594b87", - "af55377115fe4861b982cadddfffbe81", - "27fe16e87a674938b1201cfda3923287", - "29f862ac257d4f28a959f6345dbfa3cd", - "d9e3d2ad1c4c425898332157a800dbb3", - "1de46342cae247908351d7dd4add92bd", - "1d52bab99f23409f98630325d9efa14d", - "905b14471b3643b58ba3830fa174f86c", - "09300165c1894bd3a7b78c87fb250511", - "0149d8bb372343d283bb1829f96e28f4", - "4a26c23cc0824442ac0dcdd609992beb", - "c007626f2c5e421abc2a4887a461e037", - "0c816db6f8b34683b5aef0ac56f66072", - "e0cacdf1eb5a44b78a4f66335be30317", - "1d126277a2c44684a376962bbdfb56f6", - "a02d50a7ae384886a967182e6981c44c", - "1d361f1e76bc4c998b224c8416fc8a16", - "5b1315b6fd254acb94b58f87982f24aa", - "6cdcb40c2f5c46b28729a3520acb20a1", - "ee43cf31a9f345eca70cc73227c5a169", - "6badcfd59faa48a793e71e27098d8f3d", - "c2ceb26415204c9a852c94a0fcb53383", - "089001ea663c4789b2fe323feb01d247", - "b0a27c6b82694ff992e8e97bfa984478", - "a9c4cc19d9dc4d40a3b17631d7448daa", - "f918a91dea72484e97e82e36d01932af", - "c6bd265dcadc4e9bb12b8c58a5db57ec", - "305d41b438fb449b939b51cf6690c046", - "f8d5981f5ea94bcc87dc57538e5bce29", - "df89b9803f144e3890eddf8e16c7db0e", - "68387809e9794b8892a6db66d5371555", - "72e10b7692aa4b39b6c620496ff7cefb", - "5b4f922e27d5488bafed266090322917", - "84d2f5ac34444b40a4d7a2bb2a952078", - "5c8868e32d1a42269361c8e628870217", - "9c8858a60d48487aab7c5b6a6ae61187", - "11d33dcc576b4c2199d3f9b0cac7f73d", - "6afb891fccf24421bce1978a7fc244c1", - "ff0c7ee1bdc2406797f806967f179b44", - "eee3640504d847a4b820e8008c02aa41", - "c40037b21be849b1802af03736a9e284", - "5c33ea7a8a0b4f749ce3d454c51ac1ed", - "ac68b1dacf324d7593e74366a0e7a67c", - "c3970b6ca46e4a39b0916698e1f2047e", - "4fecb9db954b4e1682ac498bc1d86156", - "db67c3ee1b4540d4973df43d2aa3f5ab", - "dcf12272a1ef4748b7e0da3913c64cb3", - "f9096cc21ab840a08c2a2a381e2ff40b", - "dda52d9f72e4459daf5aa8ae0a591b2a", - "613af5ad3b1743a0a6602ac6f24b72c1", - "1aba18bef74746fb8d1d0b10977a4407", - "24a2bb51bebf4be191eb3705fd59a669", - "fe86ad0ecefd414da364b9b1155c0dd3", - "3f1a46aaa8cd471189b401814aedf104", - "7227ac721a2942cfbbc0282f0ac100da", - "f744483bfb4841a392b6255d8f48c763" - ] - }, - "id": "5_-UaYTr1Iwk", - "outputId": "721399c7-472f-4b52-a65c-d6d5ac21f43f" - }, - "source": [ - "dataset, info = tfds.load('imdb_reviews', with_info=True, as_supervised=True) # getting the dataset preprocessed using tfds\n", - "train_dataset, test_dataset = dataset['train'], dataset['test']\n", - "train_dataset.element_spec" - ], - "execution_count": 2, - "outputs": [ - { - "output_type": "stream", - "text": [ - "\u001b[1mDownloading and preparing dataset imdb_reviews/plain_text/1.0.0 (download: 80.23 MiB, generated: Unknown size, total: 80.23 MiB) to /root/tensorflow_datasets/imdb_reviews/plain_text/1.0.0...\u001b[0m\n" - ], - "name": "stdout" - }, - { - "output_type": "display_data", - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4ad78aefbff84edebff75c2bf2c74d40", - "version_minor": 0, - "version_major": 2 - }, - "text/plain": [ - "HBox(children=(FloatProgress(value=1.0, bar_style='info', description='Dl Completed...', max=1.0, style=Progre…" - ] - }, - "metadata": { - "tags": [] - } - }, - { - "output_type": "display_data", - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "ada8db9b412641d3bd1687721f594b87", - "version_minor": 0, - "version_major": 2 - }, - "text/plain": [ - "HBox(children=(FloatProgress(value=1.0, bar_style='info', description='Dl Size...', max=1.0, style=ProgressSty…" - ] - }, - "metadata": { - "tags": [] - } - }, - { - "output_type": "stream", - "text": [ - "\n", - "\n", - "\n", - "\n" - ], - "name": "stdout" - }, - { - "output_type": "display_data", - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "09300165c1894bd3a7b78c87fb250511", - "version_minor": 0, - "version_major": 2 - }, - "text/plain": [ - "HBox(children=(FloatProgress(value=1.0, bar_style='info', max=1.0), HTML(value='')))" - ] - }, - "metadata": { - "tags": [] - } - }, - { - "output_type": "stream", - "text": [ - "\rShuffling and writing examples to /root/tensorflow_datasets/imdb_reviews/plain_text/1.0.0.incompleteCBJG8M/imdb_reviews-train.tfrecord\n" - ], - "name": "stdout" - }, - { - "output_type": "display_data", - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "1d361f1e76bc4c998b224c8416fc8a16", - "version_minor": 0, - "version_major": 2 - }, - "text/plain": [ - "HBox(children=(FloatProgress(value=0.0, max=25000.0), HTML(value='')))" - ] - }, - "metadata": { - "tags": [] - } - }, - { - "output_type": "stream", - "text": [ - "\r" - ], - "name": "stdout" - }, - { - "output_type": "display_data", - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "a9c4cc19d9dc4d40a3b17631d7448daa", - "version_minor": 0, - "version_major": 2 - }, - "text/plain": [ - "HBox(children=(FloatProgress(value=1.0, bar_style='info', max=1.0), HTML(value='')))" - ] - }, - "metadata": { - "tags": [] - } - }, - { - "output_type": "stream", - "text": [ - "\rShuffling and writing examples to /root/tensorflow_datasets/imdb_reviews/plain_text/1.0.0.incompleteCBJG8M/imdb_reviews-test.tfrecord\n" - ], - "name": "stdout" - }, - { - "output_type": "display_data", - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "5b4f922e27d5488bafed266090322917", - "version_minor": 0, - "version_major": 2 - }, - "text/plain": [ - "HBox(children=(FloatProgress(value=0.0, max=25000.0), HTML(value='')))" - ] - }, - "metadata": { - "tags": [] - } - }, - { - "output_type": "stream", - "text": [ - "\r" - ], - "name": "stdout" - }, - { - "output_type": "display_data", - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "c40037b21be849b1802af03736a9e284", - "version_minor": 0, - "version_major": 2 - }, - "text/plain": [ - "HBox(children=(FloatProgress(value=1.0, bar_style='info', max=1.0), HTML(value='')))" - ] - }, - "metadata": { - "tags": [] - } - }, - { - "output_type": "stream", - "text": [ - "\rShuffling and writing examples to /root/tensorflow_datasets/imdb_reviews/plain_text/1.0.0.incompleteCBJG8M/imdb_reviews-unsupervised.tfrecord\n" - ], - "name": "stdout" - }, - { - "output_type": "display_data", - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "dda52d9f72e4459daf5aa8ae0a591b2a", - "version_minor": 0, - "version_major": 2 - }, - "text/plain": [ - "HBox(children=(FloatProgress(value=0.0, max=50000.0), HTML(value='')))" - ] - }, - "metadata": { - "tags": [] - } - }, - { - "output_type": "stream", - "text": [ - "WARNING:absl:Dataset is using deprecated text encoder API which will be removed soon. Please use the plain_text version of the dataset and migrate to `tensorflow_text`.\n" - ], - "name": "stderr" - }, - { - "output_type": "stream", - "text": [ - "\u001b[1mDataset imdb_reviews downloaded and prepared to /root/tensorflow_datasets/imdb_reviews/plain_text/1.0.0. Subsequent calls will reuse this data.\u001b[0m\n", - "\r" - ], - "name": "stdout" - }, - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "(TensorSpec(shape=(), dtype=tf.string, name=None),\n", - " TensorSpec(shape=(), dtype=tf.int64, name=None))" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 2 - } - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "6juiBOxe1Mpp", - "outputId": "a8c6ec18-5ee1-4483-8176-823ef376c944" - }, - "source": [ - "for example, label in train_dataset.take(1): # printing an example entry of dataset\n", - " print('Text: ', example.numpy())\n", - " print('Label: ', label.numpy())\n", - "\n", - "# shuffling the train dataset\n", - "\n", - "BUFFER_SIZE = 10000 \n", - "BATCH_SIZE = 64\n", - "\n", - "train_dataset = train_dataset.shuffle(BUFFER_SIZE).batch(BATCH_SIZE).prefetch(tf.data.AUTOTUNE)\n", - "test_dataset = test_dataset.batch(BATCH_SIZE).prefetch(tf.data.AUTOTUNE)\n", - "\n", - "for example, label in train_dataset.take(1): # dataset after shuffling and coverted into batches\n", - " print('Text: ', example.numpy()[0:3])\n", - " print()\n", - " print('Label: ', label.numpy()[0:3])" - ], - "execution_count": 3, - "outputs": [ - { - "output_type": "stream", - "text": [ - "Text: b\"This was an absolutely terrible movie. Don't be lured in by Christopher Walken or Michael Ironside. Both are great actors, but this must simply be their worst role in history. Even their great acting could not redeem this movie's ridiculous storyline. This movie is an early nineties US propaganda piece. The most pathetic scenes were those when the Columbian rebels were making their cases for revolutions. Maria Conchita Alonso appeared phony, and her pseudo-love affair with Walken was nothing but a pathetic emotional plug in a movie that was devoid of any real meaning. I am disappointed that there are movies like this, ruining actor's like Christopher Walken's good name. I could barely sit through it.\"\n", - "Label: 0\n", - "Text: [b'I am not going to spoil the contents to anyone, who has not yet watched this humble masterpiece by Kay Pollak.

A world famous conductor brilliantly played by Michael Nyqvist seeks peace from stress by moving back to his childhood village. The villagers, who has followed the genius in silence, are slowly tempting him to share of his greatness.

Each role in this movie, has a very specific purpose and shows a remarkable potential in each of the actors playing their own chord in short but precise words, a symphony of love.

Not love in the sense of relationship, but in the tone of the spirit deeply buried within each of the characters, each revealing their own present story, their needs, their skeletons, desires and much more.

I shall not forget to mention, the two main parts played by Frida Hallgren and Michael Nyqvist, whose dramas are played in unforgettable harmonies of emotional feedback. They touch each other with a pain connected in their own disability to love themselves.

Michael Nyqvist is really put to the test here in a very difficult setup, in one of those movies that either end up as catastrophic or fantastic. And fantastic it became from start to end, not one second less or more than enough, you are left with a feeling of change and a taste for more.

To this day, definitely one of the best movies I have had the pleasure of watching.'\n", - " b\"It seems that several of the people who have reviewed this movie only watched it in the first place because it was filmed near where they live. How's that for a ringing endorsement? If this movie was filmed near where I lived I wouldn't be mentioning it in my review. It is horrid! Several reviews state that this film is a spoof or tongue-in-cheek horror movie, it is neither. It is sad to see this film reviewed as a comedy as that makes it not only a bad attempt at a horror film but as a comedy as well. I did laugh though, at how unbelievably bad the film was.

This movie has 2 good things going for it, the mask and the weapon of choice, unfortunately it would have been more interesting watching an hour and a half of the mask and weapon laying on a table then watching this garbage. The social commentary behind the film is also laughable, juvenile and stupid. Don't bother with this movie, you've already wasted time reading this review don't waste anymore on this movie. Arrggghhh! It's infuriating that movies like this even get made. I was expecting the entire cast a crew to be credited to Alan Smithee, a name used when a person, usually a director, doesn't want to be credited with a movie because it's so bad.

There is nothing redeeming in this movie, I spent $1.19 on the rental and feel I was ripped off. Avoid. 1 out of 10\"\n", - " b\"When I first saw this show, I thought it looked interesting. I watched it, saw how it revolved around Sarah, like the character sees the world...revolving around her. I got it, but wasn't laughing very much.

Onstage and in her show, she's racist, crude, insensitive and hugely self-centered. I didn't get her at first, and took it all at face value. Then I got to see her movie, Jesus is Magic. I think that served as a Sarah Silverman primer for me, explaining to me just what 'language' she's speaking. She's like Marilyn Manson, working so hard to give us a faceful of horrible ideas and images, but you eventually realise it isn't an assault, it's a statement. And once you understand that, you find you're glad someone's finally giving it to you straight.

I don't mean to suggest only smart people will understand, or that to hate this show is to prove your idiocy. While I like a lot of 'smart' shows, I still to this day do not see the humor of Curb Your Enthusiasm. I get the impression that it's good, but I just don't get it. Many people will never get the Sarah Silverman Program, but I'm glad I eventually came around.

The creators of this show do work hard, every episode is loaded not just with dialogue and plot, but with songs, or dream sequences, production numbers. These people aren't putting together something to fill a time slot and please advertisers, they appear to be on a mission to make the best show they can put together. If I was to predict the future of this show, I'd say it will go the way of Arrested Development and Freaks & Geeks. It will get canceled before it's time and live on in fans' hearts and on DVD. But take heart, SSP creators, your audience IS out there, and we'll be watching for as long as they let you make the show.\"]\n", - "\n", - "Label: [1 0 1]\n" - ], - "name": "stdout" - } - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "dHbvi8Cq4y_j", - "outputId": "d0c4dc8b-e56c-475a-d9eb-67e4cd8165f5" - }, - "source": [ - "# making encoder to tokenize the data and add padding\n", - "\n", - "VOCAB_SIZE = 1000\n", - "encoder = tf.keras.layers.experimental.preprocessing.TextVectorization(max_tokens=VOCAB_SIZE)\n", - "encoder.adapt(train_dataset.map(lambda text, label:text))\n", - "vocab = np.array(encoder.get_vocabulary())\n", - "print(vocab[0:20])\n", - "\n", - "encoded_example = encoder(example)[0:3].numpy() #printing a sample encoding example\n", - "print(encoded_example)" - ], - "execution_count": 4, - "outputs": [ - { - "output_type": "stream", - "text": [ - "['' '[UNK]' 'the' 'and' 'a' 'of' 'to' 'is' 'in' 'it' 'i' 'this' 'that'\n", - " 'br' 'was' 'as' 'for' 'with' 'movie' 'but']\n", - "[[ 10 237 22 ... 0 0 0]\n", - " [ 9 181 12 ... 0 0 0]\n", - " [ 51 10 86 ... 0 0 0]]\n" - ], - "name": "stdout" - } - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "5rTgsZt28hRB", - "outputId": "5d4cf252-09d3-43a3-908f-cdb01ceff5ff" - }, - "source": [ - "# tokenization removes punctuation and some words that are not as frequent.\n", - "for n in range(3):\n", - " print(\"Original: \", example[n].numpy())\n", - " print(\"Round-trip: \", \" \".join(vocab[encoded_example[n]]))\n", - " print()" - ], - "execution_count": 5, - "outputs": [ - { - "output_type": "stream", - "text": [ - "Original: b'I am not going to spoil the contents to anyone, who has not yet watched this humble masterpiece by Kay Pollak.

A world famous conductor brilliantly played by Michael Nyqvist seeks peace from stress by moving back to his childhood village. The villagers, who has followed the genius in silence, are slowly tempting him to share of his greatness.

Each role in this movie, has a very specific purpose and shows a remarkable potential in each of the actors playing their own chord in short but precise words, a symphony of love.

Not love in the sense of relationship, but in the tone of the spirit deeply buried within each of the characters, each revealing their own present story, their needs, their skeletons, desires and much more.

I shall not forget to mention, the two main parts played by Frida Hallgren and Michael Nyqvist, whose dramas are played in unforgettable harmonies of emotional feedback. They touch each other with a pain connected in their own disability to love themselves.

Michael Nyqvist is really put to the test here in a very difficult setup, in one of those movies that either end up as catastrophic or fantastic. And fantastic it became from start to end, not one second less or more than enough, you are left with a feeling of change and a taste for more.

To this day, definitely one of the best movies I have had the pleasure of watching.'\n", - "Round-trip: i am not going to [UNK] the [UNK] to anyone who has not yet watched this [UNK] [UNK] by [UNK] [UNK] br a world famous [UNK] [UNK] played by michael [UNK] [UNK] [UNK] from [UNK] by moving back to his [UNK] [UNK] the [UNK] who has [UNK] the [UNK] in [UNK] are [UNK] [UNK] him to [UNK] of his [UNK] br each role in this movie has a very [UNK] [UNK] and shows a [UNK] potential in each of the actors playing their own [UNK] in short but [UNK] words a [UNK] of [UNK] br not love in the sense of relationship but in the [UNK] of the [UNK] [UNK] [UNK] within each of the characters each [UNK] their own present story their needs their [UNK] [UNK] and much [UNK] br i [UNK] not forget to mention the two main parts played by [UNK] [UNK] and michael [UNK] whose [UNK] are played in [UNK] [UNK] of emotional [UNK] they [UNK] each other with a [UNK] [UNK] in their own [UNK] to love [UNK] br michael [UNK] is really put to the [UNK] here in a very difficult [UNK] in one of those movies that either end up as [UNK] or fantastic and fantastic it became from start to end not one second less or more than enough you are left with a feeling of change and a [UNK] for [UNK] br to this day definitely one of the best movies i have had the [UNK] of watching \n", - "\n", - "Original: b\"It seems that several of the people who have reviewed this movie only watched it in the first place because it was filmed near where they live. How's that for a ringing endorsement? If this movie was filmed near where I lived I wouldn't be mentioning it in my review. It is horrid! Several reviews state that this film is a spoof or tongue-in-cheek horror movie, it is neither. It is sad to see this film reviewed as a comedy as that makes it not only a bad attempt at a horror film but as a comedy as well. I did laugh though, at how unbelievably bad the film was.

This movie has 2 good things going for it, the mask and the weapon of choice, unfortunately it would have been more interesting watching an hour and a half of the mask and weapon laying on a table then watching this garbage. The social commentary behind the film is also laughable, juvenile and stupid. Don't bother with this movie, you've already wasted time reading this review don't waste anymore on this movie. Arrggghhh! It's infuriating that movies like this even get made. I was expecting the entire cast a crew to be credited to Alan Smithee, a name used when a person, usually a director, doesn't want to be credited with a movie because it's so bad.

There is nothing redeeming in this movie, I spent $1.19 on the rental and feel I was ripped off. Avoid. 1 out of 10\"\n", - "Round-trip: it seems that several of the people who have [UNK] this movie only watched it in the first place because it was filmed near where they live [UNK] that for a [UNK] [UNK] if this movie was filmed near where i [UNK] i wouldnt be [UNK] it in my review it is [UNK] several reviews [UNK] that this film is a [UNK] or [UNK] horror movie it is [UNK] it is sad to see this film [UNK] as a comedy as that makes it not only a bad attempt at a horror film but as a comedy as well i did laugh though at how [UNK] bad the film [UNK] br this movie has 2 good things going for it the [UNK] and the [UNK] of [UNK] unfortunately it would have been more interesting watching an hour and a half of the [UNK] and [UNK] [UNK] on a [UNK] then watching this [UNK] the [UNK] [UNK] behind the film is also [UNK] [UNK] and stupid dont [UNK] with this movie youve already [UNK] time reading this review dont waste [UNK] on this movie [UNK] its [UNK] that movies like this even get made i was expecting the entire cast a [UNK] to be [UNK] to [UNK] [UNK] a name used when a person usually a director doesnt want to be [UNK] with a movie because its so [UNK] br there is nothing [UNK] in this movie i [UNK] [UNK] on the [UNK] and feel i was [UNK] off avoid 1 out of 10 \n", - "\n", - "Original: b\"When I first saw this show, I thought it looked interesting. I watched it, saw how it revolved around Sarah, like the character sees the world...revolving around her. I got it, but wasn't laughing very much.

Onstage and in her show, she's racist, crude, insensitive and hugely self-centered. I didn't get her at first, and took it all at face value. Then I got to see her movie, Jesus is Magic. I think that served as a Sarah Silverman primer for me, explaining to me just what 'language' she's speaking. She's like Marilyn Manson, working so hard to give us a faceful of horrible ideas and images, but you eventually realise it isn't an assault, it's a statement. And once you understand that, you find you're glad someone's finally giving it to you straight.

I don't mean to suggest only smart people will understand, or that to hate this show is to prove your idiocy. While I like a lot of 'smart' shows, I still to this day do not see the humor of Curb Your Enthusiasm. I get the impression that it's good, but I just don't get it. Many people will never get the Sarah Silverman Program, but I'm glad I eventually came around.

The creators of this show do work hard, every episode is loaded not just with dialogue and plot, but with songs, or dream sequences, production numbers. These people aren't putting together something to fill a time slot and please advertisers, they appear to be on a mission to make the best show they can put together. If I was to predict the future of this show, I'd say it will go the way of Arrested Development and Freaks & Geeks. It will get canceled before it's time and live on in fans' hearts and on DVD. But take heart, SSP creators, your audience IS out there, and we'll be watching for as long as they let you make the show.\"\n", - "Round-trip: when i first saw this show i thought it looked interesting i watched it saw how it [UNK] around [UNK] like the character [UNK] the [UNK] around her i got it but wasnt [UNK] very [UNK] br [UNK] and in her show shes [UNK] [UNK] [UNK] and [UNK] [UNK] i didnt get her at first and took it all at face [UNK] then i got to see her movie [UNK] is [UNK] i think that [UNK] as a [UNK] [UNK] [UNK] for me [UNK] to me just what [UNK] shes [UNK] shes like [UNK] [UNK] working so hard to give us a [UNK] of horrible ideas and [UNK] but you eventually [UNK] it isnt an [UNK] its a [UNK] and once you understand that you find youre [UNK] [UNK] finally giving it to you [UNK] br i dont mean to [UNK] only [UNK] people will understand or that to hate this show is to [UNK] your [UNK] while i like a lot of [UNK] shows i still to this day do not see the humor of [UNK] your [UNK] i get the [UNK] that its good but i just dont get it many people will never get the [UNK] [UNK] [UNK] but im [UNK] i eventually came [UNK] br the [UNK] of this show do work hard every episode is [UNK] not just with dialogue and plot but with songs or dream sequences production [UNK] these people arent [UNK] together something to [UNK] a time [UNK] and please [UNK] they appear to be on a [UNK] to make the best show they can put together if i was to [UNK] the future of this show id say it will go the way of [UNK] development and [UNK] [UNK] it will get [UNK] before its time and live on in fans [UNK] and on dvd but take heart [UNK] [UNK] your audience is out there and well be watching for as long as they let you make the show \n", - "\n" - ], - "name": "stdout" - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "mD1uVs1fDksV" - }, - "source": [ - "#Building the model\n" - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "G1gPfcBg9tWR", - "outputId": "31d74b19-1704-4129-dd34-b7f2805c8b1a" - }, - "source": [ - "# defining the RNN model using Sequential()\n", - "\n", - "model = tf.keras.Sequential([\n", - " encoder,\n", - " tf.keras.layers.Embedding(\n", - " input_dim=len(encoder.get_vocabulary()),\n", - " output_dim=64,\n", - " mask_zero=True \n", - " ),\n", - " tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(64)),\n", - " tf.keras.layers.Dense(64, activation='relu'),\n", - " tf.keras.layers.Dense(1)\n", - "])\n", - "\n", - "# passing an sample for checking the masking effect .\n", - "sample_text = ('This movie was cool. I really liked that movie. The animations and graphics are out of the world i definitely recommend that movie')\n", - "\n", - "predictions = model.predict(np.array([sample_text]))\n", - "print(predictions)\n", - "\n", - "padding = 'the'*2000\n", - "predictions = model.predict(np.array([sample_text, padding]))\n", - "print(predictions)" - ], - "execution_count": 6, - "outputs": [ - { - "output_type": "stream", - "text": [ - "[[-0.00897167]]\n", - "[[-0.00897167]\n", - " [ 0.00113963]]\n" - ], - "name": "stdout" - } - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "zTpc_jKq_t2-", - "outputId": "a57a35fd-bcc2-4e66-ffed-7b25b7be772f" - }, - "source": [ - "# comling model by defining loss function and optimier function\n", - "\n", - "model.compile(\n", - " loss=tf.keras.losses.BinaryCrossentropy(from_logits=True),\n", - " optimizer=tf.keras.optimizers.Adam(1e-4),\n", - " metrics=['accuracy']\n", - ")\n", - "\n", - "model.summary()" - ], - "execution_count": 7, - "outputs": [ - { - "output_type": "stream", - "text": [ - "Model: \"sequential\"\n", - "_________________________________________________________________\n", - "Layer (type) Output Shape Param # \n", - "=================================================================\n", - "text_vectorization (TextVect (None, None) 0 \n", - "_________________________________________________________________\n", - "embedding (Embedding) (None, None, 64) 64000 \n", - "_________________________________________________________________\n", - "bidirectional (Bidirectional (None, 128) 66048 \n", - "_________________________________________________________________\n", - "dense (Dense) (None, 64) 8256 \n", - "_________________________________________________________________\n", - "dense_1 (Dense) (None, 1) 65 \n", - "=================================================================\n", - "Total params: 138,369\n", - "Trainable params: 138,369\n", - "Non-trainable params: 0\n", - "_________________________________________________________________\n" - ], - "name": "stdout" - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "yKeMOUvjDZcs" - }, - "source": [ - "#87.2% accuracy on train data" - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "feTwn9LDA0eJ", - "outputId": "ab41785f-ef4a-4d90-a393-e7a5d570fdd8" - }, - "source": [ - "# training the model on training_dataset\n", - "\n", - "history = model.fit(train_dataset, epochs=10, validation_data=test_dataset, validation_steps=30)" - ], - "execution_count": 8, - "outputs": [ - { - "output_type": "stream", - "text": [ - "Epoch 1/10\n", - "391/391 [==============================] - 38s 82ms/step - loss: 0.6820 - accuracy: 0.5135 - val_loss: 0.4819 - val_accuracy: 0.7474\n", - "Epoch 2/10\n", - "391/391 [==============================] - 30s 77ms/step - loss: 0.4431 - accuracy: 0.7900 - val_loss: 0.4110 - val_accuracy: 0.8005\n", - "Epoch 3/10\n", - "391/391 [==============================] - 30s 76ms/step - loss: 0.3653 - accuracy: 0.8471 - val_loss: 0.3587 - val_accuracy: 0.8266\n", - "Epoch 4/10\n", - "391/391 [==============================] - 30s 77ms/step - loss: 0.3419 - accuracy: 0.8529 - val_loss: 0.3382 - val_accuracy: 0.8594\n", - "Epoch 5/10\n", - "391/391 [==============================] - 31s 77ms/step - loss: 0.3257 - accuracy: 0.8624 - val_loss: 0.3308 - val_accuracy: 0.8453\n", - "Epoch 6/10\n", - "391/391 [==============================] - 30s 77ms/step - loss: 0.3057 - accuracy: 0.8680 - val_loss: 0.3256 - val_accuracy: 0.8557\n", - "Epoch 7/10\n", - "391/391 [==============================] - 30s 77ms/step - loss: 0.3014 - accuracy: 0.8719 - val_loss: 0.3215 - val_accuracy: 0.8547\n", - "Epoch 8/10\n", - "391/391 [==============================] - 30s 77ms/step - loss: 0.3022 - accuracy: 0.8717 - val_loss: 0.3217 - val_accuracy: 0.8589\n", - "Epoch 9/10\n", - "391/391 [==============================] - 30s 77ms/step - loss: 0.3001 - accuracy: 0.8734 - val_loss: 0.3200 - val_accuracy: 0.8646\n", - "Epoch 10/10\n", - "391/391 [==============================] - 30s 77ms/step - loss: 0.2981 - accuracy: 0.8722 - val_loss: 0.3217 - val_accuracy: 0.8620\n" - ], - "name": "stdout" - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "VCkwrjYHDSyz" - }, - "source": [ - "#86.4% accuracy on test data" - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "uWZ_2b6wDovP", - "outputId": "619b319e-d413-4297-e876-0d3ba17d7be1" - }, - "source": [ - "# checking loss on test_dataset\n", - "\n", - "test_loss, test_acc = model.evaluate(test_dataset)\n", - "print(\"Test loss: \", test_loss)\n", - "print(\"Test accuracy: \", test_acc)" - ], - "execution_count": 9, - "outputs": [ - { - "output_type": "stream", - "text": [ - "391/391 [==============================] - 15s 38ms/step - loss: 0.3193 - accuracy: 0.8642\n", - "Test loss: 0.3192571699619293\n", - "Test accuracy: 0.8641600012779236\n" - ], - "name": "stdout" - } - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 515 - }, - "id": "G0QS7VxlCep3", - "outputId": "768a1357-4c25-474b-e110-2e468ba367bd" - }, - "source": [ - "# plotting the graphs \n", - "\n", - "def plot_graph(history, metric):\n", - " plt.plot(history.history[metric])\n", - " plt.plot(history.history['val_'+metric], '')\n", - " plt.xlabel(\"Epochs\")\n", - " plt.ylabel(metric)\n", - " plt.legend([metric, 'validation_'+metric])\n", - "\n", - "plt.figure(figsize=(16, 8))\n", - "plt.subplot(1, 2, 1)\n", - "plot_graph(history, 'accuracy')\n", - "plt.subplot(1, 2, 2)\n", - "plot_graph(history, 'loss')\n", - "plt.ylim(0, None)" - ], - "execution_count": 17, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "(0.0, 0.6578917190432548)" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 17 - }, - { - "output_type": "display_data", - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA7YAAAHgCAYAAACRsvFbAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdd3xV9f3H8dc3e5MNQiBh771UVOJeDBWVpYwKtlalttb+aKutq61Va22r1SJuBURcqAgqgjgQGRJk771CEgjZyc3398dJIMEAgdybe5O8n4/HfeTee875nk/QB5f3/Z7z/RhrLSIiIiIiIiJ1lZ+3CxARERERERGpCQVbERERERERqdMUbEVERERERKROU7AVERERERGROk3BVkREREREROo0BVsRERERERGp0wK8XYC7xMfH25SUFG+XISIi9cTy5csPWWsTvF1HXabPZhERcadTfTbXm2CbkpLCsmXLvF2GiIjUE8aYHd6uoa7TZ7OIiLjTqT6bdSmyiIiIiIiI1GkKtiIiIiIiIlKnKdiKiIiIiIhInVZv7rEVERERERGpSnFxMbt376agoMDbpUg1hISEkJSURGBgYLWPUbAVEREREZF6bffu3URGRpKSkoIxxtvlyClYa8nIyGD37t20bNmy2sfpUmQREREREanXCgoKiIuLU6itA4wxxMXFnfHsuoKtiIiIiIjUewq1dcfZ/LdSsBUREREREfGwiIgIb5dQrynYioiIiM8qLbW88d0OPl97wNuliIiID1OwFREREZ/l52d4+ZttvLp4u7dLERFxC2st9913H126dKFr16689dZbAOzbt4+LLrqIHj160KVLF7766itcLhfjxo07tu8///lPL1fvu7QqsoiIiPi01PaJvL54B3lFJYQF6Z8uIlIzD324hrV7s906ZqemUfx5cOdq7fvuu++ycuVK0tLSOHToEH379uWiiy5i2rRpXHnllfzxj3/E5XKRl5fHypUr2bNnD6tXrwbg8OHDbq27PtGMrYiIiPi01PYJFLlKWbwlw9uliIjU2Ndff83IkSPx9/encePGDBw4kKVLl9K3b19efvllHnzwQX788UciIyNp1aoVW7du5e6772bu3LlERUV5u3yfpa89RURExKf1axlLaKA/Czekc2nHxt4uR0TquOrOrNa2iy66iEWL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ZTiijKBpxJBsv0sBkCLbt29XQUGBxo4dKzPzuxykAeecampqtH37do0bN87vcgAAwFGiK3IXKsMRlRflKhjgP7/AQNHU1KSSkhJCLdqYmUpKSmjFBwCgnyPYdoE5bIGBiVCLjvidAACg/yPYdiE+hy1T/QAAAABAuiPYdqKusVm1kWam+gHQL0WjUb9LAAAA6FME2060TvVDsAWQapdffrmmT5+uk08+WYsWLZIkPfvsszrttNM0depUXXjhhZKkhoYGLViwQJMnT9aUKVP05JNPSpLy8/PbjrVs2TLNnz9fkjR//nzdfPPNmjlzpr7zne/ojTfe0Cc/+UlNmzZNZ511lt5//31JUktLi771rW/plFNO0ZQpU/SrX/1KL774oi6//PK24z7//PO64oor+uJ0AAAApASjIneCOWyBge/H/2+d1u/cl9JjTho5RD/8/MlH3Gfx4sUqLi5WY2OjTj/9dM2ZM0c33nijVq5cqXHjxikcDkuS7rnnHhUWFurdd9+VJO3du7fbz9++fbteffVVBYNB7du3Ty+//LJCoZBeeOEFffe739WTTz6pRYsWaevWrXr77bcVCoUUDodVVFSkr3/966qurlZZWZkeeughffWrXz32EwIAANBHCLadqKTFFoBH7r//fj311FOSpKqqKi1atEjnnXde21QzxcXFkqQXXnhBS5cubXtfUVFRt8eeO3eugsGgJKmurk7XXXedNm3aJDNTc3Nz23FvvvlmhUKhdp/3la98RX/4wx+0YMECrVq1SkuWLEnRTwwAAOA9gm0nKsMRFedlqiA7w+9SAHiku5ZVL7z00kt64YUXtGrVKuXm5mrWrFk69dRTtXHjxh4fI3kE345T1OTl5bW9/v73v68LLrhATz31lLZu3apZs2Yd8bgLFizQ5z//eWVnZ2vu3LltwRcAAKA/4B7bTlQy1Q8AD9TV1amoqEi5ubnauHGjXnvtNTU1NWnlypXasmWLJLV1Rb7ooov0wAMPtL23tSvy8OHDtWHDBsVisbaW364+a9SoUZKk3//+923rL7roIv36179uG2Cq9fNGjhypkSNH6t5779WCBQtS90MDAAD0AYJtJ+JT/RBsAaTW7NmzFY1GNXHiRC1cuFBnnnmmysrKtGjRIl155ZWaOnWq5s2bJ0m6++67tXfvXp1yyimaOnWqVqxYIUm67777dOmll+qss87Scccd1+Vnfec739Fdd92ladOmtRsl+YYbbtDo0aM1ZcoUTZ06VY8++mjbtmuuuUYVFRWaOHGiR2cAAADAG+ac87uGlJgxY4Zbs2bNMR8n2hLThO8/q787/3h9++IJKagMQLrYsGEDoe0Ibr31Vk2bNk3XX3+936X0uc5+N8xsrXNuhk8lDQipujYDACAd+drMTVQd7KprUjTmaLEFMKhMnz5deXl5+qd/+ie/SwEAAOg1gm0HTPUDYDBau3at3yUAAAAcNe6x7YCpfgAAAACgfyHYdlAZjigUMB1XmON3KQAAAACAHiDYdlAZjqi8KEfBgHW/MwAAAADAdwTbDqrCEY0uyfO7DAAAAABADzF4VAejinJ0wrACv8sAAAAAAPQQLbYd/J9rpuubF53odxkAoPz8fEnSzp07ddVVV3W6z6xZs9TdPKG/+MUvFIlE2pY/+9nPqra2NnWFAgAA+IxgCwBpbuTIkVq2bNlRv79jsH3mmWc0dOjQVJTWp6LRqN8lAACANEVXZACD058WSh+9m9pjjpgsXXJfl5sXLlyoiooK3XLLLZKkH/3oRwqFQlqxYoX27t2r5uZm3XvvvZozZ067923dulWXXnqp3nvvPTU2NmrBggX629/+pgkTJqixsbFtv6997WtavXq1GhsbddVVV+nHP/6x7r//fu3cuVMXXHCBSktLtWLFCo0dO1Zr1qxRaWmpfv7zn2vx4sWSpBtuuEF33HGHtm7dqksuuUTnnHOOXn31VY0aNUp//OMflZPT+Wjxv/nNb7Ro0SIdPHhQJ5xwgh5++GHl5uZq9+7duvnmm/Xhhx9Kkh588EGdddZZWrJkiX72s5/JzDRlyhQ9/PDDmj9/vi699NK2lun8/Hw1NDTopZde0ve//30VFRVp48aN+uCDD3T55ZerqqpKTU1Nuv3223XTTTdJkp599ll997vfVUtLi0pLS/X888/rpJNO0quvvqqysjLFYjGdeOKJWrVqlcrKyo7yDxkAAKQjgi0A9JF58+bpjjvuaAu2jz/+uJ577jnddtttGjJkiPbs2aMzzzxTl112mcw6H5n9wQcfVG5urjZs2KB33nlHp512Wtu2f/iHf1BxcbFaWlp04YUX6p133tFtt92mn//851qxYoVKS0vbHWvt2rV66KGH9Prrr8s5p5kzZ+r8889XUVGRNm3apMcee0y/+c1v9MUvflFPPvmkrr322k5ruvLKK3XjjTdKku6++2797ne/0ze+8Q3ddtttOv/88/XUU0+ppaVFDQ0NWrdune699169+uqrKi0tVTgc7va8vfnmm3rvvfc0btw4SdLixYtVXFysxsZGnX766frCF76gWCymG2+8UStXrtS4ceMUDocVCAR07bXX6pFHHtEdd9yhF154QVOnTiXUAgAwABFsAQxOR2hZ9cq0adP08ccfa+fOnaqurlZRUZFGjBihO++8UytXrlQgENCOHTu0e/dujRgxotNjrFy5UrfddpskacqUKZoyZUrbtscff1yLFi1SNBrVrl27tH79+nbbO3rllVd0xRVXKC8vPhL8lVdeqZdfflmXXXaZxo0bp1NPPVWSNH36dG3durXL47z33nu6++67VVtbq4aGBl188cWSpBdffFFLliyRJAWDQRUWFmrJkiWaO3duW8guLi7u9rydccYZbaFWku6//3499dRTkqSqqipt2rRJ1dXVOu+889r2az3uV7/6Vc2ZM0d33HGHFi9erAULFnT7eQAAoP8h2AJAH5o7d66WLVumjz76SPPmzdMjjzyi6upqrV27VhkZGRo7dqyampp6fdwtW7boZz/7mVavXq2ioiLNnz//qI7TKisrq+11MBhs1+W5o/nz5+vpp5/W1KlT9fvf/14vvfRSrz8vFAopFotJkmKxmA4ePNi2rTV4S9JLL72kF154QatWrVJubq5mzZp1xJ+zoqJCw4cP14svvqg33nhDjzzySK9rAwAA6Y/BowCgD82bN09Lly7VsmXLNHfuXNXV1WnYsGHKyMjQihUrtG3btiO+/7zzztOjjz4qKd5S+s4770iS9u3bp7y8PBUWFmr37t3605/+1PaegoIC1dfXH3asc889V08//bQikYj279+vp556Sueee26vf6b6+nodd9xxam5ubhccL7zwQj344IOSpJaWFtXV1elTn/qUnnjiCdXU1EhSW1fksWPHau3atZKk5cuXq7m5udPPqqurU1FRkXJzc7Vx40a99tprkqQzzzxTK1eu1JYtW9odV4rfO3zttddq7ty5CgaDvf75AABA+iPYAkAfOvnkk1VfX69Ro0bpuOOO0zXXXKM1a9Zo8uTJWrJkiSZMmHDE93/ta19TQ0ODJk6cqB/84AeaPn26JGnq1KmaNm2aJkyYoC9/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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "tags": [], - "needs_background": "light" - } - } - ] - }, - { - "cell_type": "code", - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "phcNBAzlE4FR", - "outputId": "3ad688d9-e08f-41bb-b295-47449334cd91" - }, - "source": [ - "# making predictions on real sentences\n", - "\n", - "sample_text = (\"The movie was a waste of time. But some things are fine\")\n", - "predictions = model.predict(np.array([sample_text]))\n", - "print(predictions)" - ], - "execution_count": 20, - "outputs": [ - { - "output_type": "stream", - "text": [ - "[[-1.9860197]]\n" - ], - "name": "stdout" - } - ] - } - ] -} \ No newline at end of file diff --git a/Final model/Team_4/T4-Project_Report.pdf b/T4-Project_Report.pdf similarity index 100% rename from Final model/Team_4/T4-Project_Report.pdf rename to T4-Project_Report.pdf From 8b21bf9ac7aced5bac06fdb9fa0d4e9f2455594c Mon Sep 17 00:00:00 2001 From: Rishav Bikarwar Date: Fri, 31 May 2024 23:03:07 +0530 Subject: [PATCH 10/11] Created using Colab --- DevRev_Training.ipynb | 23931 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 23931 insertions(+) create mode 100644 DevRev_Training.ipynb diff --git a/DevRev_Training.ipynb b/DevRev_Training.ipynb new file mode 100644 index 0000000..65ac7c1 --- /dev/null +++ b/DevRev_Training.ipynb @@ -0,0 +1,23931 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "provenance": [], + "collapsed_sections": [ + "W9qOU8RAHS3q", + "M4Upkgp7dRmS", + "rW1PX48Ekl8J", + "MkXgi9-zHakY", + "joMpxm1jAHfK", + "Y2IkKEv5k0yG", + "Vq2kimzxiOYS", + "-1PSyNND4a4Q", + "Av0r8paULkIC", + "mNrvZPOZ6Bqn", + "hbQemcukMPZz", + "X7ZX77CuxDxr", + "Da_ikmbr_ExC", + "8A6-NBrAfn8W", + "HH-5KMkZ-QR6", + "My-SD3nf-88t", + "42-Rf1Yy-QSA", + "m6IBOXj2-QSA", + "t95zHpoG-QSB", + "0qb7iw0j-QSB", + "7iZibHeb-QSB", + "FYK2El6D-QSB", + "x1h4R5vR-QSC", + "HfIIvUXJ-QSC", + "L-rJUMYpsWPE", + "YofzVk1sCbGd", + "Tw6c4uDvCg5h", + "DJKVpXSdDtGm", + "UXP0N2FxCjgv", + "fZyyBbcgDWmG", + "fvVbZKvmDwmu", + "Nc8etJuAwB2s", + "w-ETDXir9ues", + "W597h23gXlG5", + "Gd1RGk1u7fpo", + "gK6mYiOGJums", + "6scOL0-NJums", + "m--Fa5KRJumu", + "gTJHEIhdBC2A", + "wnG45ws_K-U_", + "BP9zL3QqK-U_", + "vna4EOM2K-VA" + ], + "include_colab_link": true + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "554f751b8ff0416e809602ac66615ed8": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_dede7caf3da240c7b2af4a141a756daf", + "IPY_MODEL_da5a0e71855648568c51e9db0668f6ed", + "IPY_MODEL_3b997150790849ab909538413619eeaf" + ], + "layout": "IPY_MODEL_9123dde4f5d9484283a83609c89e6c2e" + } + }, + "dede7caf3da240c7b2af4a141a756daf": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_8a6e3c80dbb94a209c07998a62c6424b", + "placeholder": "​", + "style": "IPY_MODEL_4952fe1eb12a457282cbd051015c0f03", + "value": "Downloading (…)a8e1d/.gitattributes: 100%" + } + }, + "da5a0e71855648568c51e9db0668f6ed": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_790ca395bcb04e129dfac303dd7f5980", + "max": 1175, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_cd873d375db74670a2d04057805997c8", + "value": 1175 + } + }, + "3b997150790849ab909538413619eeaf": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_ddacf97f240a447cbc099934940c2d1d", + "placeholder": "​", + "style": "IPY_MODEL_db386f546e3648f5aef6cf6f6b7a6290", + "value": " 1.18k/1.18k [00:00<00:00, 39.7kB/s]" + } + }, + "9123dde4f5d9484283a83609c89e6c2e": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "8a6e3c80dbb94a209c07998a62c6424b": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "4952fe1eb12a457282cbd051015c0f03": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "790ca395bcb04e129dfac303dd7f5980": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "cd873d375db74670a2d04057805997c8": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "ddacf97f240a447cbc099934940c2d1d": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "db386f546e3648f5aef6cf6f6b7a6290": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "09c8feb67fb84803b5cca7faea69eaae": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_ded5c38db5184a9293627478a55d3047", + "IPY_MODEL_d25b36bbddc54cc4af0a4adbf101b5c9", + "IPY_MODEL_2335bff7077442969bcc90df9bfbdef1" + ], + "layout": "IPY_MODEL_1fa191e9d3f14ffbb75cb85e483986fd" + } + }, + "ded5c38db5184a9293627478a55d3047": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_b80531b31123448fa86bff0edd6ff723", + "placeholder": "​", + "style": "IPY_MODEL_72be47de22a4455abd173fe25feb1c80", + "value": "Downloading (…)_Pooling/config.json: 100%" + } + }, + "d25b36bbddc54cc4af0a4adbf101b5c9": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_88f776a99ff14395984db84b27e4a307", + "max": 190, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_7cc9e76eae3746c79a9c2d83f4850c43", + "value": 190 + } + }, + "2335bff7077442969bcc90df9bfbdef1": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_6265a76b869f4eb1aa6ca13a6900e7b1", + "placeholder": "​", + "style": "IPY_MODEL_d4e7c76601b44b3ab34f968165f465f3", + "value": " 190/190 [00:00<00:00, 7.47kB/s]" + } + }, + "1fa191e9d3f14ffbb75cb85e483986fd": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "b80531b31123448fa86bff0edd6ff723": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "72be47de22a4455abd173fe25feb1c80": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "88f776a99ff14395984db84b27e4a307": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "7cc9e76eae3746c79a9c2d83f4850c43": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "6265a76b869f4eb1aa6ca13a6900e7b1": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "d4e7c76601b44b3ab34f968165f465f3": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "9e6665522e694fd2b53100dae136c454": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_9ca58304673f466ab6cb16936871443f", + "IPY_MODEL_97af9180432e451cbaec77e67fb91ff5", + "IPY_MODEL_d5387f63b562430581aa4678ceeb2d4f" + ], + "layout": "IPY_MODEL_9113c79a6788460789cf0691cfdc1294" + } + }, + "9ca58304673f466ab6cb16936871443f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_be244da2ab744f2b99889d7a5ba5d71d", + "placeholder": "​", + "style": "IPY_MODEL_940c4b568b2e4c259e4a8ddbb9b58f2b", + "value": "Downloading (…)b20bca8e1d/README.md: 100%" + } + }, + "97af9180432e451cbaec77e67fb91ff5": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_fc141e0a0d194d4096beb99c2bc48a8d", + "max": 10571, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_8141a848dfc84a6a86d77bdc4db80606", + "value": 10571 + } + }, + "d5387f63b562430581aa4678ceeb2d4f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_37681c9d9dc440b987e14110f401679e", + "placeholder": "​", + "style": "IPY_MODEL_f5c6b4411fd3491ca59dd700dee25db0", + "value": " 10.6k/10.6k [00:00<00:00, 497kB/s]" + } + }, + "9113c79a6788460789cf0691cfdc1294": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "be244da2ab744f2b99889d7a5ba5d71d": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "940c4b568b2e4c259e4a8ddbb9b58f2b": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "fc141e0a0d194d4096beb99c2bc48a8d": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "8141a848dfc84a6a86d77bdc4db80606": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "37681c9d9dc440b987e14110f401679e": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "f5c6b4411fd3491ca59dd700dee25db0": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "dc4932dac5fc4cc0952919974e9785c8": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_e29e83d5dd5648ec854d79b873153709", + "IPY_MODEL_bc0f9445d806467e8aecea40c810e421", + "IPY_MODEL_b3d6a9cbfdcd4ee4af73175fff255bd2" + ], + "layout": "IPY_MODEL_900aac83a71b4db88611e3ef0dc5f28d" + } + }, + "e29e83d5dd5648ec854d79b873153709": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_7fd38e429c634221afdb2133e7219e4b", + "placeholder": "​", + "style": "IPY_MODEL_0254340b0b7c43acb40cdc0f353d96da", + "value": "Downloading (…)0bca8e1d/config.json: 100%" + } + }, + "bc0f9445d806467e8aecea40c810e421": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_434633248ef74025b9a52104396cade3", + "max": 571, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_217c550442f449fa9218818bf88367ea", + "value": 571 + } + }, + "b3d6a9cbfdcd4ee4af73175fff255bd2": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_4fff0fa185254860a42170d2aae5e61f", + "placeholder": "​", + "style": "IPY_MODEL_17581e32619e4bf28cd0e5c6a9dcfb33", + "value": " 571/571 [00:00<00:00, 25.1kB/s]" + } + }, + "900aac83a71b4db88611e3ef0dc5f28d": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "7fd38e429c634221afdb2133e7219e4b": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "0254340b0b7c43acb40cdc0f353d96da": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "434633248ef74025b9a52104396cade3": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "217c550442f449fa9218818bf88367ea": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "4fff0fa185254860a42170d2aae5e61f": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "17581e32619e4bf28cd0e5c6a9dcfb33": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "c7556a28d9734c58943797d1b8a08d5f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_5d01acbcc2164131a1238da70b5ff07c", + "IPY_MODEL_c5fd8d13c2364146bd88a8748c717758", + "IPY_MODEL_99943b8f2a1447ca9561f6d6161c5f4d" + ], + "layout": "IPY_MODEL_6025ace7bb0c44aaac1e48a82ba0501b" + } + }, + "5d01acbcc2164131a1238da70b5ff07c": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_e4bdaf9ddcb74b35b00e8669593b3da9", + "placeholder": "​", + "style": "IPY_MODEL_8bbcd0a287754783a907013dd0a38f84", + "value": "Downloading (…)ce_transformers.json: 100%" + } + }, + "c5fd8d13c2364146bd88a8748c717758": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_d82ffe7434d6472989afc21d8b458c0c", + "max": 116, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_a213284196d54a10ad891cbf4b918495", + "value": 116 + } + }, + "99943b8f2a1447ca9561f6d6161c5f4d": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_12f23949347a4f80938e1e5f95fc0941", + "placeholder": "​", + "style": "IPY_MODEL_ba0552fb4a1a4ababc6ddffe7ab6d924", + "value": " 116/116 [00:00<00:00, 1.82kB/s]" + } + }, + "6025ace7bb0c44aaac1e48a82ba0501b": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "e4bdaf9ddcb74b35b00e8669593b3da9": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "8bbcd0a287754783a907013dd0a38f84": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "d82ffe7434d6472989afc21d8b458c0c": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "a213284196d54a10ad891cbf4b918495": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "12f23949347a4f80938e1e5f95fc0941": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "ba0552fb4a1a4ababc6ddffe7ab6d924": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "04044ce9e4ee4780b8905b68eaca1d52": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_a4451bf8009a48a18d8239cf86b824a1", + "IPY_MODEL_3d30b30763fe402d843128420425c5db", + "IPY_MODEL_bda95c5f68894cdb90d0eaec3f74e0fc" + ], + "layout": "IPY_MODEL_acc78125a9ea44fe9e2b7fa4da275e73" + } + }, + "a4451bf8009a48a18d8239cf86b824a1": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_04548febb66248e58d1763b9dcce792e", + "placeholder": "​", + "style": "IPY_MODEL_4cee068c213a43dd80f1c5ae55b45d72", + "value": "Downloading (…)e1d/data_config.json: 100%" + } + }, + "3d30b30763fe402d843128420425c5db": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_ffffdc63166a478c85a8b49f407571bb", + "max": 39265, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_bc547a732251480a9d694af49753a825", + "value": 39265 + } + }, + "bda95c5f68894cdb90d0eaec3f74e0fc": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_1464808e564f42df8d5f3f3cbcf8e100", + "placeholder": "​", + "style": "IPY_MODEL_28ddfda379994f5cae51c18fa105a432", + "value": " 39.3k/39.3k [00:00<00:00, 456kB/s]" + } + }, + "acc78125a9ea44fe9e2b7fa4da275e73": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "04548febb66248e58d1763b9dcce792e": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "4cee068c213a43dd80f1c5ae55b45d72": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "ffffdc63166a478c85a8b49f407571bb": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "bc547a732251480a9d694af49753a825": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "1464808e564f42df8d5f3f3cbcf8e100": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "28ddfda379994f5cae51c18fa105a432": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "f93fc289f5b343c2b82eb948e646f4cd": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_551373c16fdc4e4c9dd6ad3be59bf789", + "IPY_MODEL_ace4b7ed42904e938f693a18b5836958", + "IPY_MODEL_47cf4f01a9a54590a9824bb878d85935" + ], + "layout": "IPY_MODEL_9e2e5cd8aff049a6b4a6b43c9212452e" + } + }, + "551373c16fdc4e4c9dd6ad3be59bf789": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_32ee63859fe7461c8bbcffada86f3baf", + "placeholder": "​", + "style": "IPY_MODEL_2925784ceb6a43019acd142d1dc8d8bd", + "value": "Downloading (…)"pytorch_model.bin";: 100%" + } + }, + "ace4b7ed42904e938f693a18b5836958": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_efd338c7a25c4685843f05dafd2c539e", + "max": 438011953, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_e00638c7c7db47968b8e25ebc45e863a", + "value": 438011953 + } + }, + "47cf4f01a9a54590a9824bb878d85935": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_2a033cf9e93749b6a3cd6a89f99a26f3", + "placeholder": "​", + "style": "IPY_MODEL_5b70f4f70277496f85475dba8e1b6897", + "value": " 438M/438M [00:07<00:00, 21.4MB/s]" + } + }, + "9e2e5cd8aff049a6b4a6b43c9212452e": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "32ee63859fe7461c8bbcffada86f3baf": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "2925784ceb6a43019acd142d1dc8d8bd": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "efd338c7a25c4685843f05dafd2c539e": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "e00638c7c7db47968b8e25ebc45e863a": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "2a033cf9e93749b6a3cd6a89f99a26f3": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "5b70f4f70277496f85475dba8e1b6897": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "ffaf9b40feae489d960fb819ef3549f6": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_954602f84a3f4cdf8f447e944e7b2776", + "IPY_MODEL_1949dfdeda5c44848fee8984fea4bbb6", + "IPY_MODEL_a1fc49270d684f31b7148615d42086a2" + ], + "layout": "IPY_MODEL_4c74c39cbf114aa9a414aff3143d86ff" + } + }, + "954602f84a3f4cdf8f447e944e7b2776": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_e0434647bd544cbaad40287211c50735", + "placeholder": "​", + "style": "IPY_MODEL_0ba082705a424b99b9bba69722f5d0cb", + "value": "Downloading (…)nce_bert_config.json: 100%" + } + }, + "1949dfdeda5c44848fee8984fea4bbb6": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_fb178827efa647cc81f65be593990d82", + "max": 53, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_747907457ca745e49563f3473979cdd4", + "value": 53 + } + }, + "a1fc49270d684f31b7148615d42086a2": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_de6ca80f55154894afdfe282a663b3c4", + "placeholder": "​", + "style": "IPY_MODEL_11883abab80e4e8d825bd6887beb2c09", + "value": " 53.0/53.0 [00:00<00:00, 862B/s]" + } + }, + "4c74c39cbf114aa9a414aff3143d86ff": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "e0434647bd544cbaad40287211c50735": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "0ba082705a424b99b9bba69722f5d0cb": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "fb178827efa647cc81f65be593990d82": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "747907457ca745e49563f3473979cdd4": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "de6ca80f55154894afdfe282a663b3c4": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "11883abab80e4e8d825bd6887beb2c09": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "330ce7bec1af4967af7a0a55bd2d3dca": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_1a4f2fcde3a5400285883371f6dca329", + "IPY_MODEL_36b6d74732834535a3ccdae1a8de8151", + "IPY_MODEL_7fd267a6b06944c189ec524f801c1d98" + ], + "layout": "IPY_MODEL_475615e9501b4ec9a46fdffab75eaf1c" + } + }, + "1a4f2fcde3a5400285883371f6dca329": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_82031bbb91a9401294ed5533a0068165", + "placeholder": "​", + "style": "IPY_MODEL_a85557e74b5e49ab8e515081ef86a560", + "value": "Downloading (…)cial_tokens_map.json: 100%" + } + }, + "36b6d74732834535a3ccdae1a8de8151": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_e38ca107f5f94b8fbb61be8126e6b38c", + "max": 239, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_2afd4ae6e6b54ed3b4cc334e96602fd9", + "value": 239 + } + }, + "7fd267a6b06944c189ec524f801c1d98": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_a81e4fb49e60401eab79f4e3761ab306", + "placeholder": "​", + "style": "IPY_MODEL_ead7b89bc6bb442682424e44ab1295bb", + "value": " 239/239 [00:00<00:00, 7.65kB/s]" + } + }, + "475615e9501b4ec9a46fdffab75eaf1c": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "82031bbb91a9401294ed5533a0068165": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "a85557e74b5e49ab8e515081ef86a560": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "e38ca107f5f94b8fbb61be8126e6b38c": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "2afd4ae6e6b54ed3b4cc334e96602fd9": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "a81e4fb49e60401eab79f4e3761ab306": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "ead7b89bc6bb442682424e44ab1295bb": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "9a4ea61b822d402f86d64fd38eab793e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_429130db6e7448f2a8722aa81dd146e0", + "IPY_MODEL_d45475a0ac0843e7b1e6fb46a814f38a", + "IPY_MODEL_a133e353ea4c4b1ba01d480ebe019718" + ], + "layout": "IPY_MODEL_4d31c82cb41c4950987b94bf04452b4e" + } + }, + "429130db6e7448f2a8722aa81dd146e0": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_62d3345b8edd4333be4edb3574ff25c8", + "placeholder": "​", + "style": "IPY_MODEL_f621c577fa8445e497bbfa23eaa0799c", + "value": "Downloading (…)a8e1d/tokenizer.json: 100%" + } + }, + "d45475a0ac0843e7b1e6fb46a814f38a": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_e45f220255754ac49964f3cf9d920378", + "max": 466021, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_f0706984071246a990fd520506a9de01", + "value": 466021 + } + }, + "a133e353ea4c4b1ba01d480ebe019718": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_a5dbccbe5f62496e9dc8fa52ca45372f", + "placeholder": "​", + "style": "IPY_MODEL_8fa2df8de1dc4be9be80d7954b48f733", + "value": " 466k/466k [00:00<00:00, 1.36MB/s]" + } + }, + "4d31c82cb41c4950987b94bf04452b4e": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "62d3345b8edd4333be4edb3574ff25c8": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "f621c577fa8445e497bbfa23eaa0799c": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "e45f220255754ac49964f3cf9d920378": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "f0706984071246a990fd520506a9de01": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "a5dbccbe5f62496e9dc8fa52ca45372f": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "8fa2df8de1dc4be9be80d7954b48f733": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "be611c0c9a93464e9ab15bd2fc0bcfaf": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_dc75e9229daf4cbfa8ce4c2810c66225", + "IPY_MODEL_e1603a0acd2747d58faf8b3be00036cc", + "IPY_MODEL_57374ecd652d4f19b506cb2823007f06" + ], + "layout": "IPY_MODEL_c23d91bc9af74a00b05e19f896dd1d5c" + } + }, + "dc75e9229daf4cbfa8ce4c2810c66225": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_f8058b6ff1f947e7bccf7f3e67d8f64c", + "placeholder": "​", + "style": "IPY_MODEL_9170abbea31a4041977f078d2ef35b93", + "value": "Downloading (…)okenizer_config.json: 100%" + } + }, + "e1603a0acd2747d58faf8b3be00036cc": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_7d7368d36e424da8af1ce3f76d0ad452", + "max": 363, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_96a8964214524dc1a6c3ebbf8e64083d", + "value": 363 + } + }, + "57374ecd652d4f19b506cb2823007f06": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_47120b1c06dd43ba915c71e94b3eb4bd", + "placeholder": "​", + "style": "IPY_MODEL_5adc6ac114744809a9aa82b5062e69f9", + "value": " 363/363 [00:00<00:00, 6.38kB/s]" + } + }, + "c23d91bc9af74a00b05e19f896dd1d5c": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "f8058b6ff1f947e7bccf7f3e67d8f64c": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "9170abbea31a4041977f078d2ef35b93": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "7d7368d36e424da8af1ce3f76d0ad452": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "96a8964214524dc1a6c3ebbf8e64083d": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "47120b1c06dd43ba915c71e94b3eb4bd": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "5adc6ac114744809a9aa82b5062e69f9": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "f6a49b8efdb34aa79b9fb86f9c344d8f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_870bf9edfd77416995f414adacce18d8", + "IPY_MODEL_c16b028441d547f4a28af3d525115f75", + "IPY_MODEL_ae5e57fd98ef4d0da5052482686cf682" + ], + "layout": "IPY_MODEL_ce13508fd18a4cf083f690b85c87d86f" + } + }, + "870bf9edfd77416995f414adacce18d8": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_0b779cef3aa0408ea4e42ffc96d667c0", + "placeholder": "​", + "style": "IPY_MODEL_5510334f685346c59a3e0505c75b16f7", + "value": "Downloading (…)8e1d/train_script.py: 100%" + } + }, + "c16b028441d547f4a28af3d525115f75": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_0586119f450849bb976b032d4e1be4e7", + "max": 13123, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_939a74a7562a4f6fa36d5d4b6953b3f3", + "value": 13123 + } + }, + "ae5e57fd98ef4d0da5052482686cf682": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_3809185f89a84e9d80cbf52ddb4ceba5", + "placeholder": "​", + "style": "IPY_MODEL_38b53b47b3b44873981934cb25355f34", + "value": " 13.1k/13.1k [00:00<00:00, 215kB/s]" + } + }, + "ce13508fd18a4cf083f690b85c87d86f": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "0b779cef3aa0408ea4e42ffc96d667c0": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "5510334f685346c59a3e0505c75b16f7": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "0586119f450849bb976b032d4e1be4e7": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "939a74a7562a4f6fa36d5d4b6953b3f3": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "3809185f89a84e9d80cbf52ddb4ceba5": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "38b53b47b3b44873981934cb25355f34": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "a95f175763694bc88dab702583cdcfb2": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_4d4f60c9d53a48e0b59e83996852d020", + "IPY_MODEL_9bd48266d6af4eaf874bd83418ffcfde", + "IPY_MODEL_0f48441e94094032986a0f8b1e8a83f6" + ], + "layout": "IPY_MODEL_5b52364e02644d2493a4151feb44c8e4" + } + }, + "4d4f60c9d53a48e0b59e83996852d020": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_f391ce0c3efb44ef9ec2f29fdfc7c3ac", + "placeholder": "​", + "style": "IPY_MODEL_f93fa7f62d6a4856be5ebdbf67255ceb", + "value": "Downloading (…)b20bca8e1d/vocab.txt: 100%" + } + }, + "9bd48266d6af4eaf874bd83418ffcfde": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_c352199812564c918730dd1f21804a6e", + "max": 231536, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_294410dabf574325b2c917f0403552f8", + "value": 231536 + } + }, + "0f48441e94094032986a0f8b1e8a83f6": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_e9e3cde5aa2b477086f06088b4311dbf", + "placeholder": "​", + "style": "IPY_MODEL_0116e5fe60df4786994674ca18f2419b", + "value": " 232k/232k [00:00<00:00, 898kB/s]" + } + }, + "5b52364e02644d2493a4151feb44c8e4": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "f391ce0c3efb44ef9ec2f29fdfc7c3ac": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "f93fa7f62d6a4856be5ebdbf67255ceb": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "c352199812564c918730dd1f21804a6e": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "294410dabf574325b2c917f0403552f8": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "e9e3cde5aa2b477086f06088b4311dbf": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "0116e5fe60df4786994674ca18f2419b": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "2298451522a8489ebdfde3e2f094e2a9": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_451ae7bf10dd4ade90d6de235d49206b", + "IPY_MODEL_6fd4e0412e1c42168af489b822c801bd", + "IPY_MODEL_5bb03492ddf74a66a96acad54a1e7400" + ], + "layout": "IPY_MODEL_3be8d43893e64992b88af0cf9565b50a" + } + }, + "451ae7bf10dd4ade90d6de235d49206b": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_122f2a85c70a47b69fb7d4edc6291083", + "placeholder": "​", + "style": "IPY_MODEL_e4892c81eb014480bf48c4ee31b32aa9", + "value": "Downloading (…)bca8e1d/modules.json: 100%" + } + }, + "6fd4e0412e1c42168af489b822c801bd": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_4873ade6343c42c98a5cf61cec784641", + "max": 349, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_c2b17653f2a74476af1e061bd5f41c46", + "value": 349 + } + }, + "5bb03492ddf74a66a96acad54a1e7400": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_95fba4a2255641958831bd0a8b90375a", + "placeholder": "​", + "style": "IPY_MODEL_c83bcc1a36bc47d8bac05e3d78439f14", + "value": " 349/349 [00:00<00:00, 6.15kB/s]" + } + }, + "3be8d43893e64992b88af0cf9565b50a": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "122f2a85c70a47b69fb7d4edc6291083": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "e4892c81eb014480bf48c4ee31b32aa9": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "4873ade6343c42c98a5cf61cec784641": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "c2b17653f2a74476af1e061bd5f41c46": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "95fba4a2255641958831bd0a8b90375a": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "c83bcc1a36bc47d8bac05e3d78439f14": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "f4c53a0f298242ef94529842098c91b8": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_c612999b883440acabf6511c6196b4e4", + "IPY_MODEL_0e512ae328b3493ba9f323a5d63c0a92", + "IPY_MODEL_459ac2cfbc994436b7a7b774540365af" + ], + "layout": "IPY_MODEL_f3a5cf91b0a8443c99e9de5edd32c219" + } + }, + "c612999b883440acabf6511c6196b4e4": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_2257eaf6330941ff85c8ce774a43644a", + "placeholder": "​", + "style": "IPY_MODEL_2c6799fae7b64ee79201b4a2cef1b7bb", + "value": "Downloading (…)e9125/.gitattributes: 100%" + } + }, + "0e512ae328b3493ba9f323a5d63c0a92": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_5ff313f69c61401a9bfcbaf747847fa6", + "max": 1175, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_c8382a3c925e4655901932e67a873221", + "value": 1175 + } + }, + "459ac2cfbc994436b7a7b774540365af": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_e755a8d1c5144d1c8ee9f41ba0684510", + "placeholder": "​", + "style": "IPY_MODEL_71eb4a5664004d21aaecf1fe257ebdcd", + "value": " 1.18k/1.18k [00:00<00:00, 39.1kB/s]" + } + }, + "f3a5cf91b0a8443c99e9de5edd32c219": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "2257eaf6330941ff85c8ce774a43644a": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "2c6799fae7b64ee79201b4a2cef1b7bb": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "5ff313f69c61401a9bfcbaf747847fa6": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "c8382a3c925e4655901932e67a873221": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "e755a8d1c5144d1c8ee9f41ba0684510": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "71eb4a5664004d21aaecf1fe257ebdcd": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "58b6ae35c57149d4acb74eb38bed046e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_0975d05ef17b4a018e5266cab2bb32d3", + "IPY_MODEL_1dbac1fbf6164e63aa345cd7a3ed7006", + "IPY_MODEL_5252e2a069a04cc2a96d6276728f3135" + ], + "layout": "IPY_MODEL_1e1f4f179dfd48f59b09856f00150b2d" + } + }, + "0975d05ef17b4a018e5266cab2bb32d3": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_2b93a5d27d6c4c4d9a11848291831d53", + "placeholder": "​", + "style": "IPY_MODEL_769d16edcb924464ae5ee40e8751a56d", + "value": "Downloading (…)_Pooling/config.json: 100%" + } + }, + "1dbac1fbf6164e63aa345cd7a3ed7006": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_a427c92b69f84ee4a110f8dff977edae", + "max": 190, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_b19072f3b0304b66a47a9bed572d301b", + "value": 190 + } + }, + "5252e2a069a04cc2a96d6276728f3135": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_29895716b4a24db7aedd8491db50f28e", + "placeholder": "​", + "style": "IPY_MODEL_1049a76c561d4dd6ad59bd430542bfe3", + "value": " 190/190 [00:00<00:00, 9.75kB/s]" + } + }, + "1e1f4f179dfd48f59b09856f00150b2d": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "2b93a5d27d6c4c4d9a11848291831d53": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "769d16edcb924464ae5ee40e8751a56d": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "a427c92b69f84ee4a110f8dff977edae": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "b19072f3b0304b66a47a9bed572d301b": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "29895716b4a24db7aedd8491db50f28e": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "1049a76c561d4dd6ad59bd430542bfe3": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "416bc5a589ed45f6bb62b015ec6e4288": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_d4b5f0bfbdc44c9abf7223a201bc694f", + "IPY_MODEL_2e90842e75ca4b5ca24de8da4bd5bb2f", + "IPY_MODEL_e3bfe4c74cf94c069f36546750ee5fca" + ], + "layout": "IPY_MODEL_6f7f7fbbd12a4376a24e9b6cdcb79c1a" + } + }, + "d4b5f0bfbdc44c9abf7223a201bc694f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_58cdb1676a514c87b8ae4f98d4edf090", + "placeholder": "​", + "style": "IPY_MODEL_70c118904b6c4e97bcf68ca8e061b788", + "value": "Downloading (…)7e55de9125/README.md: 100%" + } + }, + "2e90842e75ca4b5ca24de8da4bd5bb2f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_5335049c2dc5476b951e88d53a314f5c", + "max": 10610, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_cdf4eb99a76841319f635be11a3edd7d", + "value": 10610 + } + }, + "e3bfe4c74cf94c069f36546750ee5fca": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_e5efc4ba1d4c44bab650c3df62fa81e1", + "placeholder": "​", + "style": "IPY_MODEL_3534a5cc550c46baabd736f5173ccb74", + "value": " 10.6k/10.6k [00:00<00:00, 526kB/s]" + } + }, + "6f7f7fbbd12a4376a24e9b6cdcb79c1a": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "58cdb1676a514c87b8ae4f98d4edf090": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "70c118904b6c4e97bcf68ca8e061b788": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "5335049c2dc5476b951e88d53a314f5c": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "cdf4eb99a76841319f635be11a3edd7d": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "e5efc4ba1d4c44bab650c3df62fa81e1": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "3534a5cc550c46baabd736f5173ccb74": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "d36059e943f6447f823603c3c26671fd": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_035e1e1e77834a7fb867a963f5d99386", + "IPY_MODEL_f22de385f59e497a9cb47d3f87475d2a", + "IPY_MODEL_4e6e1fe741694d07a48440a618ce36ce" + ], + "layout": "IPY_MODEL_531407ec69d14786aae4fe91e7bc841d" + } + }, + "035e1e1e77834a7fb867a963f5d99386": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_67d7251325264a73b283d576cd469223", + "placeholder": "​", + "style": "IPY_MODEL_c551f8ec597540ceb2fee9adcbbe35f2", + "value": "Downloading (…)55de9125/config.json: 100%" + } + }, + "f22de385f59e497a9cb47d3f87475d2a": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_5c05e966f98e487681371d8a7afb7eed", + "max": 612, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_7c500be6e2be4e61beeabd3a158bd362", + "value": 612 + } + }, + "4e6e1fe741694d07a48440a618ce36ce": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_68816b339c964f178280e4e0e582b3e6", + "placeholder": "​", + "style": "IPY_MODEL_ec65c4173f594d01b0c95c8c99405983", + "value": " 612/612 [00:00<00:00, 32.6kB/s]" + } + }, + "531407ec69d14786aae4fe91e7bc841d": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "67d7251325264a73b283d576cd469223": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "c551f8ec597540ceb2fee9adcbbe35f2": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "5c05e966f98e487681371d8a7afb7eed": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "7c500be6e2be4e61beeabd3a158bd362": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "68816b339c964f178280e4e0e582b3e6": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "ec65c4173f594d01b0c95c8c99405983": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "6722f43ff37a40e4810ed739a7a467ed": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_59b7c5a0459e4f638381a59e6cecb590", + "IPY_MODEL_cb6c027da3f04e86b9994c0b1f011c7d", + "IPY_MODEL_e7894a0c26514ec793924390fc5dc72f" + ], + "layout": "IPY_MODEL_1f223c84466b4f5186450c267124cbc7" + } + }, + "59b7c5a0459e4f638381a59e6cecb590": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_5c29bdd5bb4144fdae42b73925d70293", + "placeholder": "​", + "style": "IPY_MODEL_b3ab4f2645924b54869c00f75f7be9f0", + "value": "Downloading (…)ce_transformers.json: 100%" + } + }, + "cb6c027da3f04e86b9994c0b1f011c7d": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_396d04b7101a4daa943ceaeb14b4d43f", + "max": 116, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_e1a3418d9d2b4666917407a0ac39ab56", + "value": 116 + } + }, + "e7894a0c26514ec793924390fc5dc72f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_3d17c90990074d68ab4b417acbe96589", + "placeholder": "​", + "style": "IPY_MODEL_423a2b1c83d349c4acbd051cd3f400fa", + "value": " 116/116 [00:00<00:00, 1.77kB/s]" + } + }, + "1f223c84466b4f5186450c267124cbc7": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "5c29bdd5bb4144fdae42b73925d70293": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "b3ab4f2645924b54869c00f75f7be9f0": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "396d04b7101a4daa943ceaeb14b4d43f": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "e1a3418d9d2b4666917407a0ac39ab56": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "3d17c90990074d68ab4b417acbe96589": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "423a2b1c83d349c4acbd051cd3f400fa": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "7ba0d04f85864598ae5924bccc91b5ae": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_c1e0c41650744d5bb342e18785eb8b33", + "IPY_MODEL_47a1f912b382461c8c038c5d5790c742", + "IPY_MODEL_ceba1e0399d14ed8a85d043750697619" + ], + "layout": "IPY_MODEL_4a1fd672778b43bf88a1108413e14464" + } + }, + "c1e0c41650744d5bb342e18785eb8b33": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_81a19a7b9f274be8ad5d25bbe3932336", + "placeholder": "​", + "style": "IPY_MODEL_76757c22809647229451b4adb4a3f4ed", + "value": "Downloading (…)125/data_config.json: 100%" + } + }, + "47a1f912b382461c8c038c5d5790c742": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_ab3c4408e73045299febbbd7e34769dd", + "max": 39265, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_a1a8a624984c454f92097eb14c26928b", + "value": 39265 + } + }, + "ceba1e0399d14ed8a85d043750697619": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_f60715763140436aba25d5347f046a74", + "placeholder": "​", + "style": "IPY_MODEL_48bde9bee9ca4204a9172cc2119b2eab", + "value": " 39.3k/39.3k [00:00<00:00, 176kB/s]" + } + }, + "4a1fd672778b43bf88a1108413e14464": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "81a19a7b9f274be8ad5d25bbe3932336": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "76757c22809647229451b4adb4a3f4ed": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "ab3c4408e73045299febbbd7e34769dd": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "a1a8a624984c454f92097eb14c26928b": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "f60715763140436aba25d5347f046a74": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "48bde9bee9ca4204a9172cc2119b2eab": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "f1a29de1fa424d96bd012276e14e0c64": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_9fcbcfe37e734f37aa750ebc0e685a28", + "IPY_MODEL_72db8cd085954912b7c092c2f2f9efa1", + "IPY_MODEL_c3888c8d6c86437586b0dd00a4d66ea7" + ], + "layout": "IPY_MODEL_753a3e1b65db48338c0ccd0a3e55321b" + } + }, + "9fcbcfe37e734f37aa750ebc0e685a28": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_77d912f8885e4117a540b9e6cd04ceab", + "placeholder": "​", + "style": "IPY_MODEL_9d8fa8fdcd834dcaaf287b3107bbac98", + "value": "Downloading (…)"pytorch_model.bin";: 100%" + } + }, + "72db8cd085954912b7c092c2f2f9efa1": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_7b07be9848ec4a0c812cfbd8e99ce7ed", + "max": 90888945, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_e0760e323fc84392b399fa5ef09964cf", + "value": 90888945 + } + }, + "c3888c8d6c86437586b0dd00a4d66ea7": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_6fc6ea2d6f464af69989bec9d6479242", + "placeholder": "​", + "style": "IPY_MODEL_f09c7cccd90e4d9198c8479c1e823217", + "value": " 90.9M/90.9M [00:00<00:00, 252MB/s]" + } + }, + "753a3e1b65db48338c0ccd0a3e55321b": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "77d912f8885e4117a540b9e6cd04ceab": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "9d8fa8fdcd834dcaaf287b3107bbac98": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "7b07be9848ec4a0c812cfbd8e99ce7ed": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "e0760e323fc84392b399fa5ef09964cf": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "6fc6ea2d6f464af69989bec9d6479242": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "f09c7cccd90e4d9198c8479c1e823217": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "8f30ad3287a2427ca6b6033aa03add3f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_ff792f071d144d69ba397c002c40856b", + "IPY_MODEL_81c8486a80e14b0e93ade5e227907bda", + "IPY_MODEL_158c142e2c19479ebbfd0cd29d4c83e9" + ], + "layout": "IPY_MODEL_9c9bad9029994456927408d6918b500e" + } + }, + "ff792f071d144d69ba397c002c40856b": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_51f71a69dd0d4e5f9d5d498e20485002", + "placeholder": "​", + "style": "IPY_MODEL_f6fb712d6f3b44b89f03597a654791c6", + "value": "Downloading (…)nce_bert_config.json: 100%" + } + }, + "81c8486a80e14b0e93ade5e227907bda": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_c8ce88790b704e598d09ca5568c9fa41", + "max": 53, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_666b55a5619a4085a8ac607059f80f76", + "value": 53 + } + }, + "158c142e2c19479ebbfd0cd29d4c83e9": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_6758207d392d47aa97ede45f9c564821", + "placeholder": "​", + "style": "IPY_MODEL_3c44c920740a47f5aef4fe25599f556b", + "value": " 53.0/53.0 [00:00<00:00, 729B/s]" + } + }, + "9c9bad9029994456927408d6918b500e": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "51f71a69dd0d4e5f9d5d498e20485002": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "f6fb712d6f3b44b89f03597a654791c6": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "c8ce88790b704e598d09ca5568c9fa41": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "666b55a5619a4085a8ac607059f80f76": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "6758207d392d47aa97ede45f9c564821": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "3c44c920740a47f5aef4fe25599f556b": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "f8f4f54f6c0f42e49ac78f27bdd1c094": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_9f60e16e704047a0989cf5df719775b0", + "IPY_MODEL_d43401e08394417ca8bdae3fe1a337ae", + "IPY_MODEL_62400773046845d1b3361f4cbb548d3f" + ], + "layout": "IPY_MODEL_ca064c96051d4ed290cecb67c2233fd5" + } + }, + "9f60e16e704047a0989cf5df719775b0": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_4f67f17b46da4956b607ab22dbc75fc3", + "placeholder": "​", + "style": "IPY_MODEL_abb7db54524448dc8c9ff2dce38988f4", + "value": "Downloading (…)cial_tokens_map.json: 100%" + } + }, + "d43401e08394417ca8bdae3fe1a337ae": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_2899a639465d4617ac4ed12a4299f5bb", + "max": 112, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_dc91ad497fc3469d9b223a6616b11d5c", + "value": 112 + } + }, + "62400773046845d1b3361f4cbb548d3f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_4ddd144a8a644d87913c450c387863fa", + "placeholder": "​", + "style": "IPY_MODEL_f3dcd1cfe8924e8bb2446782c17285a9", + "value": " 112/112 [00:00<00:00, 1.93kB/s]" + } + }, + "ca064c96051d4ed290cecb67c2233fd5": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "4f67f17b46da4956b607ab22dbc75fc3": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "abb7db54524448dc8c9ff2dce38988f4": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "2899a639465d4617ac4ed12a4299f5bb": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "dc91ad497fc3469d9b223a6616b11d5c": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "4ddd144a8a644d87913c450c387863fa": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "f3dcd1cfe8924e8bb2446782c17285a9": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "091a687dc828465e81c2bd141ea1878b": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_a705421ef9c94f2496e29867eb23e2fa", + "IPY_MODEL_d9844c36ffb14a34a41094c968004f5d", + "IPY_MODEL_d3b1fb6debd6478b86c130f5222c17ef" + ], + "layout": "IPY_MODEL_c2092d84df5d45b08c00068cc1cecbfd" + } + }, + "a705421ef9c94f2496e29867eb23e2fa": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_69bdd894ca2c4f569b5bf417e354800e", + "placeholder": "​", + "style": "IPY_MODEL_f02ce6d91a36490a9f5e678b12972917", + "value": "Downloading (…)e9125/tokenizer.json: 100%" + } + }, + "d9844c36ffb14a34a41094c968004f5d": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_e09e3f2189c74fc5ad9e41b7e2b5426e", + "max": 466247, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_fe4e6c9bdc8646b09db0acacdb0763b4", + "value": 466247 + } + }, + "d3b1fb6debd6478b86c130f5222c17ef": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_a5065670314f4161ba179879cb6f86f1", + "placeholder": "​", + "style": "IPY_MODEL_79ba228b90e04f1ea4280e5dc73fa046", + "value": " 466k/466k [00:01<00:00, 423kB/s]" + } + }, + "c2092d84df5d45b08c00068cc1cecbfd": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "69bdd894ca2c4f569b5bf417e354800e": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "f02ce6d91a36490a9f5e678b12972917": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "e09e3f2189c74fc5ad9e41b7e2b5426e": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "fe4e6c9bdc8646b09db0acacdb0763b4": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "a5065670314f4161ba179879cb6f86f1": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "79ba228b90e04f1ea4280e5dc73fa046": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "b93eb4746c464efe924e2c873b527dd4": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_244141fc966743919b252c6fd38ac113", + "IPY_MODEL_378f2be57e4a402c9eab086851f2e588", + "IPY_MODEL_a234dd67ca294d53bea14b2047279d5d" + ], + "layout": "IPY_MODEL_82af6c19ca164d3690ad566f388496bb" + } + }, + "244141fc966743919b252c6fd38ac113": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_fa104392266b409eb4b149d40b3f63e0", + "placeholder": "​", + "style": "IPY_MODEL_5d9791e37ae047c4a0b8256a2cd3f11f", + "value": "Downloading (…)okenizer_config.json: 100%" + } + }, + "378f2be57e4a402c9eab086851f2e588": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_9954c192c730456db9370c5f7b4ff1e2", + "max": 350, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_2a747ee11e674ad79e657b40c43e273d", + "value": 350 + } + }, + "a234dd67ca294d53bea14b2047279d5d": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_a6b29ddb1c87465fb391fd72cdd46724", + "placeholder": "​", + "style": "IPY_MODEL_9c92ca391cd64a68ab5093acd4c81b79", + "value": " 350/350 [00:00<00:00, 12.1kB/s]" + } + }, + "82af6c19ca164d3690ad566f388496bb": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "fa104392266b409eb4b149d40b3f63e0": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "5d9791e37ae047c4a0b8256a2cd3f11f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "9954c192c730456db9370c5f7b4ff1e2": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "2a747ee11e674ad79e657b40c43e273d": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "a6b29ddb1c87465fb391fd72cdd46724": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "9c92ca391cd64a68ab5093acd4c81b79": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "f267c042987c4b3cb3150ddf75157555": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_c8aa0f8b58654ed0a840e90e34d5005e", + "IPY_MODEL_a080e0c1b7ff4516b814b3fbe2a2dfc2", + "IPY_MODEL_d425b9261ede48e9a8244103d88ba019" + ], + "layout": "IPY_MODEL_55d35c3456974dfca4f7d040070bd75e" + } + }, + "c8aa0f8b58654ed0a840e90e34d5005e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_7f10de3bae624b51b463ddaa002b0481", + "placeholder": "​", + "style": "IPY_MODEL_3c2ecfd91223473f8a25992eea749e78", + "value": "Downloading (…)9125/train_script.py: 100%" + } + }, + "a080e0c1b7ff4516b814b3fbe2a2dfc2": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_c04d48469bba4e45a676f02741e38d6e", + "max": 13156, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_d757de8e597c4b4eb1f908ba911578c4", + "value": 13156 + } + }, + "d425b9261ede48e9a8244103d88ba019": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_2348a979cdfb4a278361ddb8df9afb68", + "placeholder": "​", + "style": "IPY_MODEL_4ccd896252ef427d816fc3b4d3df420d", + "value": " 13.2k/13.2k [00:00<00:00, 170kB/s]" + } + }, + "55d35c3456974dfca4f7d040070bd75e": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "7f10de3bae624b51b463ddaa002b0481": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "3c2ecfd91223473f8a25992eea749e78": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "c04d48469bba4e45a676f02741e38d6e": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "d757de8e597c4b4eb1f908ba911578c4": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "2348a979cdfb4a278361ddb8df9afb68": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "4ccd896252ef427d816fc3b4d3df420d": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "fd80b692836f41c89ccd018ccc604180": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_273393f708a242d9abc1b906152219f3", + "IPY_MODEL_0c02b9c33dfd47a4815ba45766bb1fb2", + "IPY_MODEL_5e1d0261564944fca9198f304accda62" + ], + "layout": "IPY_MODEL_e60b341e4af04ab1bdcd2a8a7311bea6" + } + }, + "273393f708a242d9abc1b906152219f3": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_7a0030b0f58e4fdcbadec017a0b3409c", + "placeholder": "​", + "style": "IPY_MODEL_12476643822c4b09a2d6fd4d981fada0", + "value": "Downloading (…)7e55de9125/vocab.txt: 100%" + } + }, + "0c02b9c33dfd47a4815ba45766bb1fb2": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_48567107db734caaaa74ecec7337148e", + "max": 231508, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_f46b4f5300f44aa28a8cc44468053c15", + "value": 231508 + } + }, + "5e1d0261564944fca9198f304accda62": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_ea0c07f59f3d4798bb22ab7954b1854f", + "placeholder": "​", + "style": "IPY_MODEL_7d26ed2bf05a4d3293c5668d81a6b33f", + "value": " 232k/232k [00:00<00:00, 262kB/s]" + } + }, + "e60b341e4af04ab1bdcd2a8a7311bea6": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "7a0030b0f58e4fdcbadec017a0b3409c": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "12476643822c4b09a2d6fd4d981fada0": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "48567107db734caaaa74ecec7337148e": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "f46b4f5300f44aa28a8cc44468053c15": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "ea0c07f59f3d4798bb22ab7954b1854f": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "7d26ed2bf05a4d3293c5668d81a6b33f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "3e2c3a1cc5254a8fb61712eadc580503": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_350ee7fe8da84634ad17cf5e5c77e6ed", + "IPY_MODEL_3d57bb07e348405db980b6558715e498", + "IPY_MODEL_195d4fd3d7384230a90812a73225ed9f" + ], + "layout": "IPY_MODEL_344a3c024ac443acb487a3b1af61c24b" + } + }, + "350ee7fe8da84634ad17cf5e5c77e6ed": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_57ab3a85fec5481dbaaec5e50ccd962c", + "placeholder": "​", + "style": "IPY_MODEL_66b799217d314097b08ceb22be97e4c7", + "value": "Downloading (…)5de9125/modules.json: 100%" + } + }, + "3d57bb07e348405db980b6558715e498": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_6ad2f27a57054787ba9b2ec77d3346c7", + "max": 349, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_ef85f3146c994b76b9c54f115fa4549d", + "value": 349 + } + }, + "195d4fd3d7384230a90812a73225ed9f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_f8887b3234784548a939f47943cd95ac", + "placeholder": "​", + "style": "IPY_MODEL_7262343c69764ce6ba29e60ccd98134c", + "value": " 349/349 [00:00<00:00, 12.4kB/s]" + } + }, + "344a3c024ac443acb487a3b1af61c24b": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "57ab3a85fec5481dbaaec5e50ccd962c": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "66b799217d314097b08ceb22be97e4c7": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "6ad2f27a57054787ba9b2ec77d3346c7": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "ef85f3146c994b76b9c54f115fa4549d": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "f8887b3234784548a939f47943cd95ac": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "7262343c69764ce6ba29e60ccd98134c": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "7e7e38f10aa94fe98287fdc3b28312ce": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_5dbd640038a749e49e48a78eb55cf63e", + "IPY_MODEL_20e85aec6768457a887fcba9655ea231", + "IPY_MODEL_e98b5b07efdf404180c00793fdec702f" + ], + "layout": "IPY_MODEL_97850805bbec4179a813d34c5c4d6666" + } + }, + "5dbd640038a749e49e48a78eb55cf63e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_7a83ce729ba84b8a8ef4336c01d90375", + "placeholder": "​", + "style": "IPY_MODEL_1750499a72d844afa913dc3be2a7f98a", + "value": "Downloading (…)okenizer_config.json: 100%" + } + }, + "20e85aec6768457a887fcba9655ea231": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_826c2371fac043c1887d0d9c87d3c29b", + "max": 90, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_119c64acb1684921be0b4408e4c3faa6", + "value": 90 + } + }, + "e98b5b07efdf404180c00793fdec702f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_0684d35cc9404c25914e02aedd940a2e", + "placeholder": "​", + "style": "IPY_MODEL_3fcc9b142b2a44f3b9548eac92d5faa2", + "value": " 90.0/90.0 [00:00<00:00, 4.49kB/s]" + } + }, + "97850805bbec4179a813d34c5c4d6666": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "7a83ce729ba84b8a8ef4336c01d90375": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "1750499a72d844afa913dc3be2a7f98a": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "826c2371fac043c1887d0d9c87d3c29b": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "119c64acb1684921be0b4408e4c3faa6": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "0684d35cc9404c25914e02aedd940a2e": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "3fcc9b142b2a44f3b9548eac92d5faa2": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "038bc306d8724b819db47a316bfdd6e1": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_a3543d96d8a545f89afb98d76a1181c7", + "IPY_MODEL_eeaa4857fc974ee3b9b46941c754342b", + "IPY_MODEL_1049029c16114bc086cf4484f6f45468" + ], + "layout": "IPY_MODEL_42618b87f90a453c93aa4dc856f28630" + } + }, + "a3543d96d8a545f89afb98d76a1181c7": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_5bd670ec62424fd0b84046b6ddeedec1", + "placeholder": "​", + "style": "IPY_MODEL_e624983aa54d439a900cf81de2ccf499", + "value": "Downloading (…)lve/main/config.json: 100%" + } + }, + "eeaa4857fc974ee3b9b46941c754342b": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_4a67ea3dedd94023aecf6450800341d3", + "max": 1016, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_0938d2ea9bd44a6ba2731db87f3bcc1d", + "value": 1016 + } + }, + "1049029c16114bc086cf4484f6f45468": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_db57ea17fe814f26a9f03af638a2df7f", + "placeholder": "​", + "style": "IPY_MODEL_dcb7522e31594b8192989c360a88381a", + "value": " 1.02k/1.02k [00:00<00:00, 50.5kB/s]" + } + }, + "42618b87f90a453c93aa4dc856f28630": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "5bd670ec62424fd0b84046b6ddeedec1": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "e624983aa54d439a900cf81de2ccf499": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "4a67ea3dedd94023aecf6450800341d3": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "0938d2ea9bd44a6ba2731db87f3bcc1d": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "db57ea17fe814f26a9f03af638a2df7f": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "dcb7522e31594b8192989c360a88381a": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "86f8f138760c46f6aee850a6c35886fe": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_f657e5d88eb243ed9073d2556b18f99e", + "IPY_MODEL_cd456e3407a34c07b3958a139bd72029", + "IPY_MODEL_d85a06fc6d6a415ab68f18091c383751" + ], + "layout": "IPY_MODEL_89af788b799145da9203d0ff8a6b317a" + } + }, + "f657e5d88eb243ed9073d2556b18f99e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_877b17b9a3e941b882881fbb1c6f3011", + "placeholder": "​", + "style": "IPY_MODEL_084aef287cba4ff09d86037f5be92b83", + "value": "Downloading (…)ve/main/spiece.model: 100%" + } + }, + "cd456e3407a34c07b3958a139bd72029": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_a3f594af952d4d309078aec2cfdadf9c", + "max": 791656, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_4c7d76b649924e189b9943eb3c418ae6", + "value": 791656 + } + }, + "d85a06fc6d6a415ab68f18091c383751": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_73d2fa425c07444995921484801fb61a", + "placeholder": "​", + "style": "IPY_MODEL_8ae83fee6ab34f3f9f8a7ac9df924b99", + "value": " 792k/792k [00:00<00:00, 876kB/s]" + } + }, + "89af788b799145da9203d0ff8a6b317a": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "877b17b9a3e941b882881fbb1c6f3011": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "084aef287cba4ff09d86037f5be92b83": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "a3f594af952d4d309078aec2cfdadf9c": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "4c7d76b649924e189b9943eb3c418ae6": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "73d2fa425c07444995921484801fb61a": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "8ae83fee6ab34f3f9f8a7ac9df924b99": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "0705c058cf9d4b659a7ad8f7561b435d": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_e3cee51ab6d144c0ac261ef042d60cc1", + "IPY_MODEL_2cbddff099374748ac780bdef7385554", + "IPY_MODEL_c15b320d28a440c2b9ae2e2b0ee28dce" + ], + "layout": "IPY_MODEL_869a40f46cb44006a946bd505cb6fcf9" + } + }, + "e3cee51ab6d144c0ac261ef042d60cc1": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_ace02805323a4340a7bc665d774a5af6", + "placeholder": "​", + "style": "IPY_MODEL_4d6d8c76910e48f0b41be8cba213b0d5", + "value": "Downloading (…)in/added_tokens.json: 100%" + } + }, + "2cbddff099374748ac780bdef7385554": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_cd763505148b46faa0c468fae438a4fc", + "max": 31, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_d402eb965c104f8d9fe85b71247d285d", + "value": 31 + } + }, + "c15b320d28a440c2b9ae2e2b0ee28dce": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_685a398dd23a4b3e90afdaa3c52ea228", + "placeholder": "​", + "style": "IPY_MODEL_3957cc8d70384c5cb8d71d856b6ff55f", + "value": " 31.0/31.0 [00:00<00:00, 645B/s]" + } + }, + "869a40f46cb44006a946bd505cb6fcf9": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "ace02805323a4340a7bc665d774a5af6": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "4d6d8c76910e48f0b41be8cba213b0d5": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "cd763505148b46faa0c468fae438a4fc": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "d402eb965c104f8d9fe85b71247d285d": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "685a398dd23a4b3e90afdaa3c52ea228": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "3957cc8d70384c5cb8d71d856b6ff55f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "389bbd8aa9454c458a47d210c49388b4": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_cedbbbf348b340c8994a9c9f28ca3712", + "IPY_MODEL_7abf1bf2ba6c4678adf806d642db9447", + "IPY_MODEL_62586c7f4fec480d8817b5838d471292" + ], + "layout": "IPY_MODEL_02f0d07f1ddf461b9e46c754f41f9e8f" + } + }, + "cedbbbf348b340c8994a9c9f28ca3712": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_e982dbb2751f4b138da521cb5aad859a", + "placeholder": "​", + "style": "IPY_MODEL_6e786b66c62142eaa1a4e4f307d967f7", + "value": "Downloading (…)cial_tokens_map.json: 100%" + } + }, + "7abf1bf2ba6c4678adf806d642db9447": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_ff16a1b598c04b11af3b8226772ed93a", + "max": 65, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_130ca14d7b5b48dba8a1c7f9778be403", + "value": 65 + } + }, + "62586c7f4fec480d8817b5838d471292": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_814b42c13a11426f8845545c76364243", + "placeholder": "​", + "style": "IPY_MODEL_e05e42b190f64e1b90d4ddb10fac8e3e", + "value": " 65.0/65.0 [00:00<00:00, 1.92kB/s]" + } + }, + "02f0d07f1ddf461b9e46c754f41f9e8f": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "e982dbb2751f4b138da521cb5aad859a": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "6e786b66c62142eaa1a4e4f307d967f7": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "ff16a1b598c04b11af3b8226772ed93a": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "130ca14d7b5b48dba8a1c7f9778be403": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "814b42c13a11426f8845545c76364243": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "e05e42b190f64e1b90d4ddb10fac8e3e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "79e82e893a1b450ca92d253598e98d8a": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_77fec345d20847a3b64ecb3f2e815f29", + "IPY_MODEL_babe5ebf81234a33805b9ba24a6f9674", + "IPY_MODEL_8cce81f4d37c455097e4c8e05aabac91" + ], + "layout": "IPY_MODEL_e0cd9f25d9844aeb8427c6f9951bcb9c" + } + }, + "77fec345d20847a3b64ecb3f2e815f29": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_55e80af70c1e4eacbd7f2832c8a7e54f", + "placeholder": "​", + "style": "IPY_MODEL_3e5d9eef4e624d699179cd9581511fdb", + "value": "Downloading (…)"pytorch_model.bin";: 100%" + } + }, + "babe5ebf81234a33805b9ba24a6f9674": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_6e215160abf14d2c983e394070a3e4cd", + "max": 242013444, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_170402145a27405db96320ad7f2e3123", + "value": 242013444 + } + }, + "8cce81f4d37c455097e4c8e05aabac91": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_5e23840c4a724648ae3fd0473e6721e1", + "placeholder": "​", + "style": "IPY_MODEL_f5e04127de9e4b34941907e5828bbc7e", + "value": " 242M/242M [00:14<00:00, 18.4MB/s]" + } + }, + "e0cd9f25d9844aeb8427c6f9951bcb9c": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "55e80af70c1e4eacbd7f2832c8a7e54f": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "3e5d9eef4e624d699179cd9581511fdb": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "6e215160abf14d2c983e394070a3e4cd": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "170402145a27405db96320ad7f2e3123": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "5e23840c4a724648ae3fd0473e6721e1": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "f5e04127de9e4b34941907e5828bbc7e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "a201cb89320745ebb9978118c9249c6d": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_afbf9212553e4f75acaad0b8663e9aa4", + "IPY_MODEL_30e70c78f6274714b0525407f0181883", + "IPY_MODEL_345bd1436cb54e0faf647be0e52f4272" + ], + "layout": "IPY_MODEL_bc1d1492ca2d4551ac55add2c55f4706" + } + }, + "afbf9212553e4f75acaad0b8663e9aa4": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_e7127b0c73d24eb19accb78684f6541e", + "placeholder": "​", + "style": "IPY_MODEL_eaf5fa1c744e49ec9753d5de2040e007", + "value": "Downloading (…)okenizer_config.json: 100%" + } + }, + "30e70c78f6274714b0525407f0181883": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_1de2224a85094dfab088532901d072a6", + "max": 90, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_a9508eb88ffc4171aff3c3bcfa06e4bb", + "value": 90 + } + }, + "345bd1436cb54e0faf647be0e52f4272": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_203cb33a4b934b339dd2e6b7c988706e", + "placeholder": "​", + "style": "IPY_MODEL_ed123811f1934957929ef5cb41a6dd46", + "value": " 90.0/90.0 [00:00<00:00, 5.83kB/s]" + } + }, + "bc1d1492ca2d4551ac55add2c55f4706": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "e7127b0c73d24eb19accb78684f6541e": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "eaf5fa1c744e49ec9753d5de2040e007": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "1de2224a85094dfab088532901d072a6": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "a9508eb88ffc4171aff3c3bcfa06e4bb": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "203cb33a4b934b339dd2e6b7c988706e": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "ed123811f1934957929ef5cb41a6dd46": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "a6b8ce325ae74a219365d19ed19273a9": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_2e20c81fce5b4ee0a587f8c0e801fbdc", + "IPY_MODEL_921019803b7746b493c6c4b5c5383999", + "IPY_MODEL_3d6149799670461b9a196bfa109f6b10" + ], + "layout": "IPY_MODEL_3860fb266cd249fc83c7e066c4d200db" + } + }, + "2e20c81fce5b4ee0a587f8c0e801fbdc": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_139516f851734832ac685bfb8bab203c", + "placeholder": "​", + "style": "IPY_MODEL_c39f2be309a54a4ba1d1b6998bb8461f", + "value": "Downloading (…)lve/main/config.json: 100%" + } + }, + "921019803b7746b493c6c4b5c5383999": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_afcc251cf1ba42f0a0ce4dc2bc820318", + "max": 656, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_8af00812cef64c61a2dad0c1f816a258", + "value": 656 + } + }, + "3d6149799670461b9a196bfa109f6b10": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_b7fc6d319f334f409bddcb0c11c7931e", + "placeholder": "​", + "style": "IPY_MODEL_8970818f144645aa925859d7ed0117b1", + "value": " 656/656 [00:00<00:00, 37.7kB/s]" + } + }, + "3860fb266cd249fc83c7e066c4d200db": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "139516f851734832ac685bfb8bab203c": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "c39f2be309a54a4ba1d1b6998bb8461f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "afcc251cf1ba42f0a0ce4dc2bc820318": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "8af00812cef64c61a2dad0c1f816a258": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "b7fc6d319f334f409bddcb0c11c7931e": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "8970818f144645aa925859d7ed0117b1": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "508256a0faa744a2ada73490936457cb": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_a538077c611d4c83babef437dd4d8e37", + "IPY_MODEL_2474fe56f3e14655aa408cd55e3399af", + "IPY_MODEL_ea95800cf34a4747b2e7ae28f0f7f714" + ], + "layout": "IPY_MODEL_c2df070863b44dbea451cc4846b6d518" + } + }, + "a538077c611d4c83babef437dd4d8e37": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_223a8ea2a0064e2ca43c8991f304b9ec", + "placeholder": "​", + "style": "IPY_MODEL_7b6485ae773f4b078176a47787b1e9a0", + "value": "Downloading (…)ve/main/spiece.model: 100%" + } + }, + "2474fe56f3e14655aa408cd55e3399af": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_42382568fad34605870930c177c4083a", + "max": 791656, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_79abb633f893488293a79aac83c393b3", + "value": 791656 + } + }, + "ea95800cf34a4747b2e7ae28f0f7f714": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_8f5b9374e841480a88aef33d002352b9", + "placeholder": "​", + "style": "IPY_MODEL_2996260887e546958e77a5d8a3752548", + "value": " 792k/792k [00:01<00:00, 707kB/s]" + } + }, + "c2df070863b44dbea451cc4846b6d518": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "223a8ea2a0064e2ca43c8991f304b9ec": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "7b6485ae773f4b078176a47787b1e9a0": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "42382568fad34605870930c177c4083a": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "79abb633f893488293a79aac83c393b3": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "8f5b9374e841480a88aef33d002352b9": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "2996260887e546958e77a5d8a3752548": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "811e32888d4c4c3f83c7114cae008635": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_4a40053ddecc403eb34518781f340412", + "IPY_MODEL_0293bd85ae24433d997c3d17a6fd34c7", + "IPY_MODEL_324e2dce7da64ca0a9e7316f69011eb9" + ], + "layout": "IPY_MODEL_9b839ef650d34c998f79cce95f3c163c" + } + }, + "4a40053ddecc403eb34518781f340412": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_3e885927cd2345308f0066af888bed29", + "placeholder": "​", + "style": "IPY_MODEL_b5faffa173e04a86a52749f6237e5df1", + "value": "Downloading (…)in/added_tokens.json: 100%" + } + }, + "0293bd85ae24433d997c3d17a6fd34c7": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_2d053b5d1e2f434aa78dca1c38eff8ce", + "max": 31, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_2710f9ca5992473084f0deae2d7fae27", + "value": 31 + } + }, + "324e2dce7da64ca0a9e7316f69011eb9": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_7ccb839bf9e54214b79a9877d98043f4", + "placeholder": "​", + "style": "IPY_MODEL_37e15e1c19874f83a5e2bf88115813f7", + "value": " 31.0/31.0 [00:00<00:00, 1.67kB/s]" + } + }, + "9b839ef650d34c998f79cce95f3c163c": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "3e885927cd2345308f0066af888bed29": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "b5faffa173e04a86a52749f6237e5df1": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "2d053b5d1e2f434aa78dca1c38eff8ce": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "2710f9ca5992473084f0deae2d7fae27": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "7ccb839bf9e54214b79a9877d98043f4": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "37e15e1c19874f83a5e2bf88115813f7": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "2b6c9ada8e814ae29e2693c302c5d51e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_a0802f067a8f47f7bf7358dd5e5c028d", + "IPY_MODEL_e0f201f43829442c85a0cf1a2b9b0f1d", + "IPY_MODEL_844e3c0b5fa041829e9f596943609e99" + ], + "layout": "IPY_MODEL_c1ff358d1878418db0d61735c156e198" + } + }, + "a0802f067a8f47f7bf7358dd5e5c028d": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_42fbdabd4f9a44568830cb0d7f3ec236", + "placeholder": "​", + "style": "IPY_MODEL_0c2a4dfe8a7f416dacb8d2a382cc8a2e", + "value": "Downloading (…)cial_tokens_map.json: 100%" + } + }, + "e0f201f43829442c85a0cf1a2b9b0f1d": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_649f77b65bb744b1b7c8ead20b0a7f40", + "max": 65, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_5b80e90d75a64fdca4d72428d06cc2e0", + "value": 65 + } + }, + "844e3c0b5fa041829e9f596943609e99": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_2350da77d45c4d74ad4712cbef575ae2", + "placeholder": "​", + "style": "IPY_MODEL_162f4eb2e00349b0ab7020a39f83cce9", + "value": " 65.0/65.0 [00:00<00:00, 3.39kB/s]" + } + }, + "c1ff358d1878418db0d61735c156e198": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "42fbdabd4f9a44568830cb0d7f3ec236": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "0c2a4dfe8a7f416dacb8d2a382cc8a2e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "649f77b65bb744b1b7c8ead20b0a7f40": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "5b80e90d75a64fdca4d72428d06cc2e0": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "2350da77d45c4d74ad4712cbef575ae2": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "162f4eb2e00349b0ab7020a39f83cce9": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "6e98579562fa467daffabe1e8b20e250": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_678df1aa0221426ea93033e9d331118a", + "IPY_MODEL_89f47931ca294279a3cf9009e0e8fcfb", + "IPY_MODEL_f60f7a16dc484590adb80bd0f11e82db" + ], + "layout": "IPY_MODEL_92d70794ea174a70ab5cf09873a5f4e4" + } + }, + "678df1aa0221426ea93033e9d331118a": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_04f96e3455024a27b9739998a07b779a", + "placeholder": "​", + "style": "IPY_MODEL_6234b01ab4fd4387a98fe55152cdf7b1", + "value": "Downloading (…)"pytorch_model.bin";: 100%" + } + }, + "89f47931ca294279a3cf9009e0e8fcfb": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_e1063f93970344bea56c25fbcf91985b", + "max": 242013376, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_60b24a7a6e7848c1b9dd7644177e1061", + "value": 242013376 + } + }, + "f60f7a16dc484590adb80bd0f11e82db": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_d49a5df75df0476093fef03b80dd3559", + "placeholder": "​", + "style": "IPY_MODEL_2fe9a19eed874204b85a6233c333d818", + "value": " 242M/242M [00:02<00:00, 127MB/s]" + } + }, + "92d70794ea174a70ab5cf09873a5f4e4": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "04f96e3455024a27b9739998a07b779a": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "6234b01ab4fd4387a98fe55152cdf7b1": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "e1063f93970344bea56c25fbcf91985b": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "60b24a7a6e7848c1b9dd7644177e1061": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "d49a5df75df0476093fef03b80dd3559": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "2fe9a19eed874204b85a6233c333d818": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "d3773a7e74224e48891f9308e177e9d7": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_7d48a0bfa50847529dd478d5ea121298", + "IPY_MODEL_34953ac98cdf4c189d0cbc9546f40da3", + "IPY_MODEL_9621d144941540d7b1dfc4dfdcd49e49" + ], + "layout": "IPY_MODEL_e7a82f8e15c342a883296d93284bd1ea" + } + }, + "7d48a0bfa50847529dd478d5ea121298": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_c10c94daeb914f54afba35a383c79cba", + "placeholder": "​", + "style": "IPY_MODEL_63ab639c624e443faa9328e5c1db950c", + "value": "Downloading data files: 100%" + } + }, + "34953ac98cdf4c189d0cbc9546f40da3": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_8a60430c7b9347729bded0521988b41a", + "max": 2, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_3a69f3fe8ebd46c6aa9ed4c4c9a787ff", + "value": 2 + } + }, + "9621d144941540d7b1dfc4dfdcd49e49": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_7bdd3b8e2f674b8b9762aa5c3bce43c7", + "placeholder": "​", + "style": "IPY_MODEL_7cac04f67ad94682bfe0ebec28b09724", + "value": " 2/2 [00:00<00:00, 61.93it/s]" + } + }, + "e7a82f8e15c342a883296d93284bd1ea": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "c10c94daeb914f54afba35a383c79cba": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "63ab639c624e443faa9328e5c1db950c": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "8a60430c7b9347729bded0521988b41a": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "3a69f3fe8ebd46c6aa9ed4c4c9a787ff": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "7bdd3b8e2f674b8b9762aa5c3bce43c7": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "7cac04f67ad94682bfe0ebec28b09724": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "bfbfa2b6b7924b58bb2662d01ef3aa2a": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_14e052da4fc34abfa6588f235c5e0693", + "IPY_MODEL_f6f9f6660d2b42629da4a99090dd0591", + "IPY_MODEL_8ab259dd59124e01a91a7aeb0f9dd90f" + ], + "layout": "IPY_MODEL_debeeedef4674ae4b66d1bbc7a1f7f7a" + } + }, + "14e052da4fc34abfa6588f235c5e0693": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_a5a65a328dba4946a597717314c295bc", + "placeholder": "​", + "style": "IPY_MODEL_777a695b711a459896cccb6068579ee2", + "value": "Extracting data files: 100%" + } + }, + "f6f9f6660d2b42629da4a99090dd0591": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_9ff42f2a16c1401786051504985b960e", + "max": 2, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_6d9700aa23154c59bdb37104284638a9", + "value": 2 + } + }, + "8ab259dd59124e01a91a7aeb0f9dd90f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_a6f0992ad8b74900a0e7b47829ff1ba9", + "placeholder": "​", + "style": "IPY_MODEL_0f6b49abc7fe47eab324b66a59f5f73f", + "value": " 2/2 [00:00<00:00, 59.02it/s]" + } + }, + "debeeedef4674ae4b66d1bbc7a1f7f7a": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "a5a65a328dba4946a597717314c295bc": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "777a695b711a459896cccb6068579ee2": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "9ff42f2a16c1401786051504985b960e": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "6d9700aa23154c59bdb37104284638a9": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "a6f0992ad8b74900a0e7b47829ff1ba9": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "0f6b49abc7fe47eab324b66a59f5f73f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "e1b528e0e2634912a848c382cef7d446": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_73da950916b0448a8f9d26257f6dfdc9", + "IPY_MODEL_3e5b193ab66a44c2a3f437779380d190", + "IPY_MODEL_97f5dca7a1124c93a371af54247ddafe" + ], + "layout": "IPY_MODEL_74780bf716de4e9ab4dd557b8e0ba369" + } + }, + "73da950916b0448a8f9d26257f6dfdc9": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_dd5a03574ed5406586e76260e43526da", + "placeholder": "​", + "style": "IPY_MODEL_9228be25539b4038a85e885afee25ba8", + "value": "Generating train split: " + } + }, + "3e5b193ab66a44c2a3f437779380d190": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "info", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_6c1ad43f31a04c60875ab261bb788696", + "max": 1, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_2a804f2ca96e4a5cb8c6dfe2dc5504b7", + "value": 1 + } + }, + "97f5dca7a1124c93a371af54247ddafe": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_2400e2f72ce94e0ab5f9c8da7150a59b", + "placeholder": "​", + "style": "IPY_MODEL_958f9f56cb0542dc8e0711ccd1631b39", + "value": " 0/0 [00:00<?, ? examples/s]" + } + }, + "74780bf716de4e9ab4dd557b8e0ba369": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": "hidden", + "width": null + } + }, + "dd5a03574ed5406586e76260e43526da": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "9228be25539b4038a85e885afee25ba8": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "6c1ad43f31a04c60875ab261bb788696": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": "20px" + } + }, + "2a804f2ca96e4a5cb8c6dfe2dc5504b7": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "2400e2f72ce94e0ab5f9c8da7150a59b": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "958f9f56cb0542dc8e0711ccd1631b39": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "54120104915344638c71f433d78717bf": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_ecaf7b13dbde4a4582e30b1ddbb48de3", + "IPY_MODEL_33fc36ee0c2e48db8911a418d1f097d5", + "IPY_MODEL_93926979e4ab4af98cf6e55fbce13e0c" + ], + "layout": "IPY_MODEL_e09dd5ca52e44a1e880a86d99e6e5661" + } + }, + "ecaf7b13dbde4a4582e30b1ddbb48de3": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_c913a5bdb86a4d0bb56dabca50a2464d", + "placeholder": "​", + "style": "IPY_MODEL_e183390684cd4e539b8af9723aa0d87d", + "value": "Generating test split: " + } + }, + "33fc36ee0c2e48db8911a418d1f097d5": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "info", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_ac6db5f390134b28890c747aaa9d2997", + "max": 1, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_ca7bc519044e46fcabc7b8a5df61cc4a", + "value": 1 + } + }, + "93926979e4ab4af98cf6e55fbce13e0c": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_d77393d4af3f4c40b5f4e2b96ee098b3", + "placeholder": "​", + "style": "IPY_MODEL_06253d68a1d9419387403e7091e45b00", + "value": " 0/0 [00:00<?, ? examples/s]" + } + }, + "e09dd5ca52e44a1e880a86d99e6e5661": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": "hidden", + "width": null + } + }, + "c913a5bdb86a4d0bb56dabca50a2464d": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "e183390684cd4e539b8af9723aa0d87d": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "ac6db5f390134b28890c747aaa9d2997": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": "20px" + } + }, + "ca7bc519044e46fcabc7b8a5df61cc4a": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "d77393d4af3f4c40b5f4e2b96ee098b3": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "06253d68a1d9419387403e7091e45b00": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "94d6da6b9d8e481f94dd9c997fa8a8aa": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_895d37502e8c4e5abae22a02818fa4d4", + "IPY_MODEL_2ba42c8510f2495faa830b6c865c0f71", + "IPY_MODEL_c311b1118a1c41cf99716dfce72e1484" + ], + "layout": "IPY_MODEL_2619f81a06d84ad2bed53c3ba6de45f1" + } + }, + "895d37502e8c4e5abae22a02818fa4d4": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_ba87ec97784b45318d132a5de128e9e2", + "placeholder": "​", + "style": "IPY_MODEL_2cf7ab309070425e82ccbc19dd32cf5d", + "value": "100%" + } + }, + "2ba42c8510f2495faa830b6c865c0f71": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_b569f02afc7e45c68b4d85f119b3ac0c", + "max": 2, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_94831ae081324b418157d75d6257bccd", + "value": 2 + } + }, + "c311b1118a1c41cf99716dfce72e1484": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_57504cf16cad42f0bfb0865164b8e2de", + "placeholder": "​", + "style": "IPY_MODEL_a589d15010314b7f805a13c6f11545f6", + "value": " 2/2 [00:00<00:00, 44.00it/s]" + } + }, + "2619f81a06d84ad2bed53c3ba6de45f1": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "ba87ec97784b45318d132a5de128e9e2": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "2cf7ab309070425e82ccbc19dd32cf5d": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "b569f02afc7e45c68b4d85f119b3ac0c": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "94831ae081324b418157d75d6257bccd": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "57504cf16cad42f0bfb0865164b8e2de": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "a589d15010314b7f805a13c6f11545f6": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "6f2ce04309ed4641a7eddbe1f56459bc": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_30dde65cebdc474ebdd0b0b02653f1de", + "IPY_MODEL_769bacb626c94efe8eff1065dd48d168", + "IPY_MODEL_acf7bf3d3afa4d5893fd043b12be4fff" + ], + "layout": "IPY_MODEL_cc02494ae7944b989dbd65443d63e003" + } + }, + "30dde65cebdc474ebdd0b0b02653f1de": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_2f612cb1006947b999708fd0409fa34e", + "placeholder": "​", + "style": "IPY_MODEL_7c4f793b01cc462d88bdeb2dc347a6af", + "value": "100%" + } + }, + "769bacb626c94efe8eff1065dd48d168": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_15ba34e91ec04453934e57e194877210", + "max": 1, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_f5c632a336f14554afc5bff54535cb8d", + "value": 1 + } + }, + "acf7bf3d3afa4d5893fd043b12be4fff": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_4fc7773178d848268023f8a508b5d652", + "placeholder": "​", + "style": "IPY_MODEL_8a8f44db920c4232a6142cdf45b84d67", + "value": " 1/1 [00:00<00:00, 4.00ba/s]" + } + }, + "cc02494ae7944b989dbd65443d63e003": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "2f612cb1006947b999708fd0409fa34e": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "7c4f793b01cc462d88bdeb2dc347a6af": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "15ba34e91ec04453934e57e194877210": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "f5c632a336f14554afc5bff54535cb8d": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "4fc7773178d848268023f8a508b5d652": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "8a8f44db920c4232a6142cdf45b84d67": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "edd15e8996f84cac87ada11501cb44b9": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_ec44dffc1d5e42d9a260fb752358c67e", + "IPY_MODEL_f6fb07afd7e04e0bacef997c088bf3c9", + "IPY_MODEL_4e229e7be3bf44c5a820088253946e2a" + ], + "layout": "IPY_MODEL_90fb27e38fa746b8bf3da2161ee94fb5" + } + }, + "ec44dffc1d5e42d9a260fb752358c67e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_bc1c5890244c4918a6d923132cbe4abd", + "placeholder": "​", + "style": "IPY_MODEL_fc1409287d904c5b840a66ea58df4b7f", + "value": "100%" + } + }, + "f6fb07afd7e04e0bacef997c088bf3c9": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_77bcc49e0ef74d09814e6a8c540083f7", + "max": 1, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_e14dbdfe59834647845b5bd30af40953", + "value": 1 + } + }, + "4e229e7be3bf44c5a820088253946e2a": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_b528dbefd64a4908bf7b8a5206d3eb16", + "placeholder": "​", + "style": "IPY_MODEL_d0373a8397084cd28ca8a0cc09512b50", + "value": " 1/1 [00:00<00:00, 11.36ba/s]" + } + }, + "90fb27e38fa746b8bf3da2161ee94fb5": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "bc1c5890244c4918a6d923132cbe4abd": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "fc1409287d904c5b840a66ea58df4b7f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "77bcc49e0ef74d09814e6a8c540083f7": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "e14dbdfe59834647845b5bd30af40953": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "b528dbefd64a4908bf7b8a5206d3eb16": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "d0373a8397084cd28ca8a0cc09512b50": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + } + } + }, + "accelerator": "GPU", + "gpuClass": "standard" + }, + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "markdown", + "source": [ + "#Instructions\n", + "\n", + "####This notebook is divided into two sections --- >\n", + "\n", + "\n", + "1. Fine-Tuning Scripts\\\n", + " This section is implemenation of our fine-tuning methodology discussed in the report.\n", + " Briefly, we first cluster the train data, and fine-tune the pre-trained Question-Answer Models on the clusters. Also, we have generated dataset of sentence triplets and fine-tuned our embedding generating model on it. \n", + "\n", + " **Note : Since, there was no clarification on 12 hour training time limit i.e. if 12 hrs is the time limit for fine-tuning single model or the total fine-tuning time. We raised a query regarding this on 1st Feb 2023 but have recieved no response yet. We fine-tuned and saved models for each cluster but use only the base-model for prediction and had to abandon the fine-tuned models to avoid any unwanted penalty.**\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "2. Evaluation Day Fine-Tuning\\\n", + " On evaluation day we classified the given themes into old clusters. Since our base model - \"electra-base\" is pre-trained on SQuAD v2 dataset, we decided to generate questions on the non - SQuAD theme and fine-tuned the clusters in which those themes lies.\n", + "\n", + " **Time Alloted** : 6 Hours\n", + "\n", + "\n", + "\n", + "### Running The Notebook\n", + "\n", + "To fit within the 12 hour training time limit we are only fine-tuning our embedding generating model - Mpnet for submission. Follow the following steps to run the fine-tuning script\n", + "\n", + "\n", + "\n", + "1. Run Dataset Gen Section. The dataset will be saved into the drive.\n", + "2. Delete, Disconnect and restart the runtime to clear the RAM\n", + "3. Run the embedding model fine-tune section. The fine-tuned model will be saved to the drive.\n", + "\n", + "\n", + "\n" + ], + "metadata": { + "id": "S9BFvFw6DuqS" + } + }, + { + "cell_type": "markdown", + "source": [ + "# Fine-tuning Script" + ], + "metadata": { + "id": "Re6Q2ErFPbLG" + } + }, + { + "cell_type": "markdown", + "source": [ + "## MPNet Finetuning" + ], + "metadata": { + "id": "z-RkMOR-YHt-" + } + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Wof0Ix6nHVCS" + }, + "source": [ + "### Dataset Gen" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "YfseoiG3IxNR", + "outputId": "86e778d0-1f90-4d2d-96ba-8205166ce19c" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Drive already mounted at /content/gdrive; to attempt to forcibly remount, call drive.mount(\"/content/gdrive\", force_remount=True).\n" + ] + } + ], + "source": [ + "from google.colab import drive\n", + "drive.mount('/content/gdrive')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "shtwYAUtHgC_", + "outputId": "a380fd21-cb30-4efc-9222-18dfad2082eb" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", + "Requirement already satisfied: sentence-transformers in /usr/local/lib/python3.8/dist-packages (2.2.2)\n", + "Requirement already satisfied: transformers<5.0.0,>=4.6.0 in /usr/local/lib/python3.8/dist-packages (from sentence-transformers) (4.26.0)\n", + "Requirement already satisfied: torch>=1.6.0 in /usr/local/lib/python3.8/dist-packages (from sentence-transformers) (1.13.1+cu116)\n", + "Requirement already satisfied: scikit-learn in /usr/local/lib/python3.8/dist-packages (from sentence-transformers) (1.0.2)\n", + "Requirement already satisfied: numpy in /usr/local/lib/python3.8/dist-packages (from sentence-transformers) (1.21.6)\n", + "Requirement already satisfied: scipy in /usr/local/lib/python3.8/dist-packages (from sentence-transformers) (1.7.3)\n", + "Requirement already satisfied: torchvision in /usr/local/lib/python3.8/dist-packages (from sentence-transformers) (0.14.1+cu116)\n", + "Requirement already satisfied: huggingface-hub>=0.4.0 in /usr/local/lib/python3.8/dist-packages (from sentence-transformers) (0.12.0)\n", + "Requirement already satisfied: nltk in /usr/local/lib/python3.8/dist-packages (from sentence-transformers) (3.7)\n", + "Requirement already satisfied: sentencepiece in /usr/local/lib/python3.8/dist-packages (from sentence-transformers) (0.1.97)\n", + "Requirement already satisfied: tqdm in /usr/local/lib/python3.8/dist-packages (from sentence-transformers) (4.64.1)\n", + "Requirement already satisfied: requests in /usr/local/lib/python3.8/dist-packages (from huggingface-hub>=0.4.0->sentence-transformers) (2.25.1)\n", + "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.8/dist-packages (from huggingface-hub>=0.4.0->sentence-transformers) (5.4.1)\n", + "Requirement already satisfied: typing-extensions>=3.7.4.3 in /usr/local/lib/python3.8/dist-packages (from huggingface-hub>=0.4.0->sentence-transformers) (4.4.0)\n", + "Requirement already satisfied: packaging>=20.9 in /usr/local/lib/python3.8/dist-packages (from huggingface-hub>=0.4.0->sentence-transformers) (23.0)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.8/dist-packages (from huggingface-hub>=0.4.0->sentence-transformers) (3.9.0)\n", + "Requirement already satisfied: regex!=2019.12.17 in /usr/local/lib/python3.8/dist-packages (from transformers<5.0.0,>=4.6.0->sentence-transformers) (2022.6.2)\n", + "Requirement already satisfied: tokenizers!=0.11.3,<0.14,>=0.11.1 in /usr/local/lib/python3.8/dist-packages (from transformers<5.0.0,>=4.6.0->sentence-transformers) (0.13.2)\n", + "Requirement already satisfied: click in /usr/local/lib/python3.8/dist-packages (from nltk->sentence-transformers) (7.1.2)\n", + "Requirement already satisfied: joblib in /usr/local/lib/python3.8/dist-packages (from nltk->sentence-transformers) (1.2.0)\n", + "Requirement already satisfied: threadpoolctl>=2.0.0 in /usr/local/lib/python3.8/dist-packages (from scikit-learn->sentence-transformers) (3.1.0)\n", + "Requirement already satisfied: pillow!=8.3.*,>=5.3.0 in /usr/local/lib/python3.8/dist-packages (from torchvision->sentence-transformers) (7.1.2)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.8/dist-packages (from requests->huggingface-hub>=0.4.0->sentence-transformers) (2022.12.7)\n", + "Requirement already satisfied: chardet<5,>=3.0.2 in /usr/local/lib/python3.8/dist-packages (from requests->huggingface-hub>=0.4.0->sentence-transformers) (4.0.0)\n", + "Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.8/dist-packages (from requests->huggingface-hub>=0.4.0->sentence-transformers) (1.26.14)\n", + "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.8/dist-packages (from requests->huggingface-hub>=0.4.0->sentence-transformers) (2.10)\n", + "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", + "Requirement already satisfied: gdown in /usr/local/lib/python3.8/dist-packages (4.4.0)\n", + "Requirement already satisfied: six in /usr/local/lib/python3.8/dist-packages (from gdown) (1.15.0)\n", + "Requirement already satisfied: tqdm in /usr/local/lib/python3.8/dist-packages (from gdown) (4.64.1)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.8/dist-packages (from gdown) (3.9.0)\n", + "Requirement already satisfied: requests[socks] in /usr/local/lib/python3.8/dist-packages (from gdown) (2.25.1)\n", + "Requirement already satisfied: beautifulsoup4 in /usr/local/lib/python3.8/dist-packages (from gdown) (4.6.3)\n", + "Requirement already satisfied: chardet<5,>=3.0.2 in /usr/local/lib/python3.8/dist-packages (from requests[socks]->gdown) (4.0.0)\n", + "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.8/dist-packages (from requests[socks]->gdown) (2.10)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.8/dist-packages (from requests[socks]->gdown) (2022.12.7)\n", + "Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.8/dist-packages (from requests[socks]->gdown) (1.26.14)\n", + "Requirement already satisfied: PySocks!=1.5.7,>=1.5.6 in /usr/local/lib/python3.8/dist-packages (from requests[socks]->gdown) (1.7.1)\n" + ] + } + ], + "source": [ + "!pip install sentence-transformers\n", + "!pip install --no-cache-dir gdown" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "nnXYWE5GHohk", + "outputId": "8b6cb6f3-ba2b-43d8-fcba-d8bab2e2924e" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Downloading...\n", + "From: https://drive.google.com/uc?id=1Z-yb752A3o7b9dqrGt24XU0sl53FVqya\n", + "To: /content/train_data.csv\n", + "100% 65.6M/65.6M [00:00<00:00, 194MB/s]\n" + ] + } + ], + "source": [ + "!gdown 1Z-yb752A3o7b9dqrGt24XU0sl53FVqya" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "Z93DIJJsHq_Q" + }, + "outputs": [], + "source": [ + "import csv\n", + "import requests\n", + "\n", + "# load training dataset\n", + "def load_data():\n", + " CSV_URL = 'https://drive.google.com/u/0/uc?id=1Z-yb752A3o7b9dqrGt24XU0sl53FVqya&export=download'\n", + "\n", + " with requests.Session() as s:\n", + " download = s.get(CSV_URL)\n", + " decoded_content = download.content.decode('utf-8')\n", + " cr = csv.reader(decoded_content.splitlines(), delimiter=',')\n", + " train_data = list(cr)\n", + "\n", + " print(f\"Number of examples = {len(train_data)}\")\n", + " ans, noans = 0, 0\n", + " for x in train_data:\n", + " if x[4] == 'False':\n", + " noans += 1\n", + " else:\n", + " ans += 1\n", + " print(f\"\\tAnswerable questions = {ans}\")\n", + " print(f\"\\tNon-Answerable questions = {noans}\\n\")\n", + " print(\"Examples:\")\n", + " for i in [0, 1000, 1300]:\n", + " print(' | '.join(train_data[i][:2]), ' | ', train_data[i][2][:20] + '...', ' | ', ' | '.join(train_data[i][3:]))\n", + " return train_data" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "EQ6OEXFwHt-c" + }, + "outputs": [], + "source": [ + "def load_theme_wise_data(train_data):\n", + " theme_wise_data = {}\n", + " for x in train_data[1:]:\n", + " if x[1] not in theme_wise_data:\n", + " theme_wise_data[x[1]] = {\n", + " 'para': [],\n", + " 'ques': [],\n", + " 'ans': []\n", + " }\n", + " if x[2] not in theme_wise_data[x[1]]['para']:\n", + " theme_wise_data[x[1]]['para'].append(x[2])\n", + " theme_wise_data[x[1]]['ques'].append(x[3])\n", + " # ans contains a list -> [Para_Number, Answer_possible, Answer_text, Answer_start]\n", + " theme_wise_data[x[1]]['ans'].append([theme_wise_data[x[1]]['para'].index(x[2])] + x[4:])\n", + " print(f'\\nTotal {len(theme_wise_data)} themes present.')\n", + " return theme_wise_data" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "BEcxtCF2HwNm" + }, + "outputs": [], + "source": [ + "def load_ques_by_theme(theme, theme_wise_data, answerable_only = False):\n", + " paras = theme_wise_data[theme]['para']\n", + " ques = []\n", + " gold_para = []\n", + " ans = []\n", + " for i in range(len(theme_wise_data[theme]['ques'])):\n", + " if answerable_only and theme_wise_data[theme]['ans'][i][1] == 'False':\n", + " continue\n", + " ques.append(theme_wise_data[theme]['ques'][i])\n", + " gold_para.append(theme_wise_data[theme]['ans'][i][0])\n", + " ans.append(theme_wise_data[theme]['ans'][i][1:])\n", + "\n", + " print(\"Total Questions:\", len(ques))\n", + " print(\"Total Paragraphs:\", len(paras))\n", + " return paras, ques, gold_para, ans" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "8AI96qQeHzzK", + "outputId": "8a345ce8-5f25-4a34-d86d-45a0b0c03aad" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Number of examples = 75056\n", + "\tAnswerable questions = 50126\n", + "\tNon-Answerable questions = 24930\n", + "\n", + "Examples:\n", + " | Theme | Paragraph... | Question | Answer_possible | Answer_text | Answer_start\n", + "1430 | Frédéric_Chopin | Some modern commenta... | Who said Chopin's works were modeled after Bach, Beethoven, Schubert and Field? | True | ['Richard Taruskin'] | [543]\n", + "2196 | The_Legend_of_Zelda:_Twilight_Princess | Twilight Princess ta... | Who releases Bulbins from the Realm of Twilight? | False | [] | []\n", + "\n", + "Total 361 themes present.\n" + ] + } + ], + "source": [ + "train_data = load_data()\n", + "theme_wise_data = load_theme_wise_data(train_data)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "XkU8G5BGH2dT", + "outputId": "9ae847c6-2713-4add-9605-de25a2ac89fc" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", + "Requirement already satisfied: transformers in /usr/local/lib/python3.8/dist-packages (4.26.0)\n", + "Requirement already satisfied: tqdm>=4.27 in /usr/local/lib/python3.8/dist-packages (from transformers) (4.64.1)\n", + "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.8/dist-packages (from transformers) (5.4.1)\n", + "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.8/dist-packages (from transformers) (23.0)\n", + "Requirement already satisfied: numpy>=1.17 in /usr/local/lib/python3.8/dist-packages (from transformers) (1.21.6)\n", + "Requirement already satisfied: huggingface-hub<1.0,>=0.11.0 in /usr/local/lib/python3.8/dist-packages (from transformers) (0.12.0)\n", + "Requirement already satisfied: requests in /usr/local/lib/python3.8/dist-packages (from transformers) (2.25.1)\n", + "Requirement already satisfied: tokenizers!=0.11.3,<0.14,>=0.11.1 in /usr/local/lib/python3.8/dist-packages (from transformers) (0.13.2)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.8/dist-packages (from transformers) (3.9.0)\n", + "Requirement already satisfied: regex!=2019.12.17 in /usr/local/lib/python3.8/dist-packages (from transformers) (2022.6.2)\n", + "Requirement already satisfied: typing-extensions>=3.7.4.3 in /usr/local/lib/python3.8/dist-packages (from huggingface-hub<1.0,>=0.11.0->transformers) (4.4.0)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (2022.12.7)\n", + "Requirement already satisfied: chardet<5,>=3.0.2 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (4.0.0)\n", + "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (2.10)\n", + "Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (1.26.14)\n", + "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", + "Requirement already satisfied: transformers in /usr/local/lib/python3.8/dist-packages (4.26.0)\n", + "Collecting faiss-cpu\n", + " Downloading faiss_cpu-1.7.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.0 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m17.0/17.0 MB\u001b[0m \u001b[31m43.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.8/dist-packages (from transformers) (23.0)\n", + "Requirement already satisfied: requests in /usr/local/lib/python3.8/dist-packages (from transformers) (2.25.1)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.8/dist-packages (from transformers) (3.9.0)\n", + "Requirement already satisfied: regex!=2019.12.17 in /usr/local/lib/python3.8/dist-packages (from transformers) (2022.6.2)\n", + "Requirement already satisfied: huggingface-hub<1.0,>=0.11.0 in /usr/local/lib/python3.8/dist-packages (from transformers) (0.12.0)\n", + "Requirement already satisfied: numpy>=1.17 in /usr/local/lib/python3.8/dist-packages (from transformers) (1.21.6)\n", + "Requirement already satisfied: tokenizers!=0.11.3,<0.14,>=0.11.1 in /usr/local/lib/python3.8/dist-packages (from transformers) (0.13.2)\n", + "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.8/dist-packages (from transformers) (5.4.1)\n", + "Requirement already satisfied: tqdm>=4.27 in /usr/local/lib/python3.8/dist-packages (from transformers) (4.64.1)\n", + "Requirement already satisfied: typing-extensions>=3.7.4.3 in /usr/local/lib/python3.8/dist-packages (from huggingface-hub<1.0,>=0.11.0->transformers) (4.4.0)\n", + "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (2.10)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (2022.12.7)\n", + "Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (1.26.14)\n", + "Requirement already satisfied: chardet<5,>=3.0.2 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (4.0.0)\n", + "Installing collected packages: faiss-cpu\n", + "Successfully installed faiss-cpu-1.7.3\n" + ] + } + ], + "source": [ + "!pip install transformers\n", + "!pip install transformers faiss-cpu\n", + "\n", + "from transformers import AutoModel, AutoTokenizer\n", + "\n", + "import faiss\n", + "import matplotlib.pyplot as plt\n", + "import tensorflow as tf\n", + "import tensorflow_hub as hub\n", + "import torch\n", + "\n", + "metric = faiss.METRIC_INNER_PRODUCT" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000, + "referenced_widgets": [ + "554f751b8ff0416e809602ac66615ed8", + "dede7caf3da240c7b2af4a141a756daf", + "da5a0e71855648568c51e9db0668f6ed", + "3b997150790849ab909538413619eeaf", + "9123dde4f5d9484283a83609c89e6c2e", + "8a6e3c80dbb94a209c07998a62c6424b", + "4952fe1eb12a457282cbd051015c0f03", + "790ca395bcb04e129dfac303dd7f5980", + "cd873d375db74670a2d04057805997c8", + "ddacf97f240a447cbc099934940c2d1d", + "db386f546e3648f5aef6cf6f6b7a6290", + "09c8feb67fb84803b5cca7faea69eaae", + "ded5c38db5184a9293627478a55d3047", + "d25b36bbddc54cc4af0a4adbf101b5c9", + "2335bff7077442969bcc90df9bfbdef1", + "1fa191e9d3f14ffbb75cb85e483986fd", + "b80531b31123448fa86bff0edd6ff723", + "72be47de22a4455abd173fe25feb1c80", + "88f776a99ff14395984db84b27e4a307", + "7cc9e76eae3746c79a9c2d83f4850c43", + "6265a76b869f4eb1aa6ca13a6900e7b1", + "d4e7c76601b44b3ab34f968165f465f3", + "9e6665522e694fd2b53100dae136c454", + "9ca58304673f466ab6cb16936871443f", + "97af9180432e451cbaec77e67fb91ff5", + "d5387f63b562430581aa4678ceeb2d4f", + "9113c79a6788460789cf0691cfdc1294", + "be244da2ab744f2b99889d7a5ba5d71d", + "940c4b568b2e4c259e4a8ddbb9b58f2b", + "fc141e0a0d194d4096beb99c2bc48a8d", + "8141a848dfc84a6a86d77bdc4db80606", + "37681c9d9dc440b987e14110f401679e", + "f5c6b4411fd3491ca59dd700dee25db0", + "dc4932dac5fc4cc0952919974e9785c8", + "e29e83d5dd5648ec854d79b873153709", + "bc0f9445d806467e8aecea40c810e421", + "b3d6a9cbfdcd4ee4af73175fff255bd2", + "900aac83a71b4db88611e3ef0dc5f28d", + "7fd38e429c634221afdb2133e7219e4b", + "0254340b0b7c43acb40cdc0f353d96da", + "434633248ef74025b9a52104396cade3", + "217c550442f449fa9218818bf88367ea", + "4fff0fa185254860a42170d2aae5e61f", + "17581e32619e4bf28cd0e5c6a9dcfb33", + "c7556a28d9734c58943797d1b8a08d5f", + "5d01acbcc2164131a1238da70b5ff07c", + "c5fd8d13c2364146bd88a8748c717758", + "99943b8f2a1447ca9561f6d6161c5f4d", + "6025ace7bb0c44aaac1e48a82ba0501b", + "e4bdaf9ddcb74b35b00e8669593b3da9", + "8bbcd0a287754783a907013dd0a38f84", + "d82ffe7434d6472989afc21d8b458c0c", + "a213284196d54a10ad891cbf4b918495", + "12f23949347a4f80938e1e5f95fc0941", + "ba0552fb4a1a4ababc6ddffe7ab6d924", + "04044ce9e4ee4780b8905b68eaca1d52", + "a4451bf8009a48a18d8239cf86b824a1", + "3d30b30763fe402d843128420425c5db", + "bda95c5f68894cdb90d0eaec3f74e0fc", + "acc78125a9ea44fe9e2b7fa4da275e73", + "04548febb66248e58d1763b9dcce792e", + "4cee068c213a43dd80f1c5ae55b45d72", + "ffffdc63166a478c85a8b49f407571bb", + "bc547a732251480a9d694af49753a825", + "1464808e564f42df8d5f3f3cbcf8e100", + "28ddfda379994f5cae51c18fa105a432", + "f93fc289f5b343c2b82eb948e646f4cd", + "551373c16fdc4e4c9dd6ad3be59bf789", + "ace4b7ed42904e938f693a18b5836958", + "47cf4f01a9a54590a9824bb878d85935", + "9e2e5cd8aff049a6b4a6b43c9212452e", + "32ee63859fe7461c8bbcffada86f3baf", + "2925784ceb6a43019acd142d1dc8d8bd", + "efd338c7a25c4685843f05dafd2c539e", + "e00638c7c7db47968b8e25ebc45e863a", + "2a033cf9e93749b6a3cd6a89f99a26f3", + "5b70f4f70277496f85475dba8e1b6897", + "ffaf9b40feae489d960fb819ef3549f6", + "954602f84a3f4cdf8f447e944e7b2776", + "1949dfdeda5c44848fee8984fea4bbb6", + "a1fc49270d684f31b7148615d42086a2", + "4c74c39cbf114aa9a414aff3143d86ff", + "e0434647bd544cbaad40287211c50735", + "0ba082705a424b99b9bba69722f5d0cb", + "fb178827efa647cc81f65be593990d82", + "747907457ca745e49563f3473979cdd4", + "de6ca80f55154894afdfe282a663b3c4", + "11883abab80e4e8d825bd6887beb2c09", + "330ce7bec1af4967af7a0a55bd2d3dca", + "1a4f2fcde3a5400285883371f6dca329", + "36b6d74732834535a3ccdae1a8de8151", + "7fd267a6b06944c189ec524f801c1d98", + "475615e9501b4ec9a46fdffab75eaf1c", + "82031bbb91a9401294ed5533a0068165", + "a85557e74b5e49ab8e515081ef86a560", + "e38ca107f5f94b8fbb61be8126e6b38c", + "2afd4ae6e6b54ed3b4cc334e96602fd9", + "a81e4fb49e60401eab79f4e3761ab306", + "ead7b89bc6bb442682424e44ab1295bb", + "9a4ea61b822d402f86d64fd38eab793e", + "429130db6e7448f2a8722aa81dd146e0", + "d45475a0ac0843e7b1e6fb46a814f38a", + "a133e353ea4c4b1ba01d480ebe019718", + "4d31c82cb41c4950987b94bf04452b4e", + "62d3345b8edd4333be4edb3574ff25c8", + "f621c577fa8445e497bbfa23eaa0799c", + "e45f220255754ac49964f3cf9d920378", + "f0706984071246a990fd520506a9de01", + "a5dbccbe5f62496e9dc8fa52ca45372f", + "8fa2df8de1dc4be9be80d7954b48f733", + "be611c0c9a93464e9ab15bd2fc0bcfaf", + "dc75e9229daf4cbfa8ce4c2810c66225", + "e1603a0acd2747d58faf8b3be00036cc", + "57374ecd652d4f19b506cb2823007f06", + "c23d91bc9af74a00b05e19f896dd1d5c", + "f8058b6ff1f947e7bccf7f3e67d8f64c", + "9170abbea31a4041977f078d2ef35b93", + "7d7368d36e424da8af1ce3f76d0ad452", + "96a8964214524dc1a6c3ebbf8e64083d", + "47120b1c06dd43ba915c71e94b3eb4bd", + "5adc6ac114744809a9aa82b5062e69f9", + "f6a49b8efdb34aa79b9fb86f9c344d8f", + "870bf9edfd77416995f414adacce18d8", + "c16b028441d547f4a28af3d525115f75", + "ae5e57fd98ef4d0da5052482686cf682", + "ce13508fd18a4cf083f690b85c87d86f", + "0b779cef3aa0408ea4e42ffc96d667c0", + "5510334f685346c59a3e0505c75b16f7", + "0586119f450849bb976b032d4e1be4e7", + "939a74a7562a4f6fa36d5d4b6953b3f3", + "3809185f89a84e9d80cbf52ddb4ceba5", + "38b53b47b3b44873981934cb25355f34", + "a95f175763694bc88dab702583cdcfb2", + "4d4f60c9d53a48e0b59e83996852d020", + "9bd48266d6af4eaf874bd83418ffcfde", + "0f48441e94094032986a0f8b1e8a83f6", + "5b52364e02644d2493a4151feb44c8e4", + "f391ce0c3efb44ef9ec2f29fdfc7c3ac", + "f93fa7f62d6a4856be5ebdbf67255ceb", + "c352199812564c918730dd1f21804a6e", + "294410dabf574325b2c917f0403552f8", + "e9e3cde5aa2b477086f06088b4311dbf", + "0116e5fe60df4786994674ca18f2419b", + "2298451522a8489ebdfde3e2f094e2a9", + "451ae7bf10dd4ade90d6de235d49206b", + "6fd4e0412e1c42168af489b822c801bd", + "5bb03492ddf74a66a96acad54a1e7400", + "3be8d43893e64992b88af0cf9565b50a", + "122f2a85c70a47b69fb7d4edc6291083", + "e4892c81eb014480bf48c4ee31b32aa9", + "4873ade6343c42c98a5cf61cec784641", + "c2b17653f2a74476af1e061bd5f41c46", + "95fba4a2255641958831bd0a8b90375a", + "c83bcc1a36bc47d8bac05e3d78439f14" + ] + }, + "id": "bmzCSKZ0IAAF", + "outputId": "62b8d4f4-f021-417c-fd0d-cfe0712b0dcf" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "Downloading (…)a8e1d/.gitattributes: 0%| | 0.00/1.18k [00:00 0.8):\n", + "\n", + " # print(sent_comb[I[0][j]])\n", + " non_similar_sent.append(sent_comb[I[0][j]])\n", + " break\n", + " # for j in range(7):\n", + "\n", + " # if(D[0][j]>0.7):\n", + " # #print(sent_comb[I[0][i]])\n", + " # #print(D[0][i])\n", + " # non_similar_sent.append(sent_comb[I[0][j]])\n", + " # break\n", + " # if(D[0][6]<=0.7):\n", + " # non_similar_sent.append(sent_comb[I[0][4]])\n", + " # break\n", + " #fifth_sim.append(results[4]['sentence'][0])\n", + "\n", + " ans_sent = []\n", + " for i in rndm:\n", + " sntncs = nltk.sent_tokenize(theme_wise_data[theme]['para'][theme_wise_data[theme]['ans'][i][0]])\n", + " char_no = 0\n", + " for j in range(len(sntncs)):\n", + " if(int(char_nos[i])!=-1):\n", + " if(char_no <= int(char_nos[i])):\n", + " char_no+=len(sntncs[j])\n", + " if(char_no>int(char_nos[i])):\n", + " break\n", + "\n", + " if(char_nos[i]!='-1'):\n", + " ans_sent.append(sntncs[j])\n", + " else:\n", + " ans_sent.append('')\n", + "\n", + " return query_vec, ans_sent, non_similar_sent" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "7XxL-YbuIZA2" + }, + "outputs": [], + "source": [ + "themes_not_unique = []\n", + "for i in range(1, 75056):\n", + " themes_not_unique.append(train_data[i][1])\n", + "\n", + "themelist = set(themes_not_unique)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "QHXm_smmIdea", + "outputId": "042f5910-8ee3-4030-dd2f-75d38326ec82" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", + "Requirement already satisfied: tqdm in /usr/local/lib/python3.8/dist-packages (4.64.1)\n" + ] + }, + { + "output_type": "stream", + "name": "stderr", + "text": [ + "100%|██████████| 361/361 [08:02<00:00, 1.34s/it]\n" + ] + } + ], + "source": [ + "!pip install tqdm\n", + "from tqdm import tqdm\n", + "\n", + "qu = []\n", + "an = []\n", + "si = []\n", + "for theme in tqdm(themelist):\n", + " qu, an, si = (val + delta for val, delta in zip((qu, an, si), (make_dataset(theme))))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "OUup-vRTIubD" + }, + "outputs": [], + "source": [ + "import pandas as pd\n", + "data = {'Query':qu, 'Actual Answer':an, 'Fifth Similar':si}\n", + "df = pd.DataFrame(data)\n", + "df.to_csv('CompleteDataset.csv')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "f-_1LMLQOOgL" + }, + "outputs": [], + "source": [ + "del model\n", + "del an\n", + "del data\n", + "del df\n", + "del i\n", + "del metric\n", + "del qu\n", + "del si\n", + "del theme\n", + "del theme_wise_data\n", + "del themelist\n", + "del themes_not_unique" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "I3iZzub5Izf8" + }, + "outputs": [], + "source": [ + "!cp CompleteDataset.csv gdrive/MyDrive/CompleteDataset.csv" + ] + }, + { + "cell_type": "markdown", + "source": [ + "### Embedding Model Finetune" + ], + "metadata": { + "id": "S4lJ54UBaKkB" + } + }, + { + "cell_type": "markdown", + "metadata": { + "id": "FOLezbJye_Zs" + }, + "source": [ + "#### Load Data" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "RqN5QpjvVQt9", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "e3cc798e-ed5e-4d4f-c4a2-b57854540cc9" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Drive already mounted at /content/gdrive; to attempt to forcibly remount, call drive.mount(\"/content/gdrive\", force_remount=True).\n" + ] + } + ], + "source": [ + "from google.colab import drive\n", + "drive.mount('/content/gdrive')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "BUFCb4k_jusb" + }, + "outputs": [], + "source": [ + "import pandas as pd\n", + "def load_data():\n", + " data = pd.read_csv('/content/gdrive/MyDrive/CompleteDataset.csv')\n", + " # data = data.sample(frac=0.28)\n", + " data = data.dropna()\n", + " return data" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Gj3d537pfCr3" + }, + "source": [ + "#### Prepare For training" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "-hiv4vEpfKLS", + "outputId": "0bc0360f-d4b3-4ada-eb03-4afe9da67f5c" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", + "Requirement already satisfied: sentence_transformers in /usr/local/lib/python3.8/dist-packages (2.2.2)\n", + "Requirement already satisfied: transformers<5.0.0,>=4.6.0 in /usr/local/lib/python3.8/dist-packages (from sentence_transformers) (4.26.0)\n", + "Requirement already satisfied: torch>=1.6.0 in /usr/local/lib/python3.8/dist-packages (from sentence_transformers) (1.13.1+cu116)\n", + "Requirement already satisfied: torchvision in /usr/local/lib/python3.8/dist-packages (from sentence_transformers) (0.14.1+cu116)\n", + "Requirement already satisfied: numpy in /usr/local/lib/python3.8/dist-packages (from sentence_transformers) (1.21.6)\n", + "Requirement already satisfied: nltk in /usr/local/lib/python3.8/dist-packages (from sentence_transformers) (3.7)\n", + "Requirement already satisfied: sentencepiece in /usr/local/lib/python3.8/dist-packages (from sentence_transformers) (0.1.97)\n", + "Requirement already satisfied: tqdm in /usr/local/lib/python3.8/dist-packages (from sentence_transformers) (4.64.1)\n", + "Requirement already satisfied: scipy in /usr/local/lib/python3.8/dist-packages (from sentence_transformers) (1.7.3)\n", + "Requirement already satisfied: scikit-learn in /usr/local/lib/python3.8/dist-packages (from sentence_transformers) (1.0.2)\n", + "Requirement already satisfied: huggingface-hub>=0.4.0 in /usr/local/lib/python3.8/dist-packages (from sentence_transformers) (0.12.0)\n", + "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.8/dist-packages (from huggingface-hub>=0.4.0->sentence_transformers) (5.4.1)\n", + "Requirement already satisfied: packaging>=20.9 in /usr/local/lib/python3.8/dist-packages (from huggingface-hub>=0.4.0->sentence_transformers) (23.0)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.8/dist-packages (from huggingface-hub>=0.4.0->sentence_transformers) (3.9.0)\n", + "Requirement already satisfied: requests in /usr/local/lib/python3.8/dist-packages (from huggingface-hub>=0.4.0->sentence_transformers) (2.25.1)\n", + "Requirement already satisfied: typing-extensions>=3.7.4.3 in /usr/local/lib/python3.8/dist-packages (from huggingface-hub>=0.4.0->sentence_transformers) (4.4.0)\n", + "Requirement already satisfied: tokenizers!=0.11.3,<0.14,>=0.11.1 in /usr/local/lib/python3.8/dist-packages (from transformers<5.0.0,>=4.6.0->sentence_transformers) (0.13.2)\n", + "Requirement already satisfied: regex!=2019.12.17 in /usr/local/lib/python3.8/dist-packages (from transformers<5.0.0,>=4.6.0->sentence_transformers) (2022.6.2)\n", + "Requirement already satisfied: click in /usr/local/lib/python3.8/dist-packages (from nltk->sentence_transformers) (7.1.2)\n", + "Requirement already satisfied: joblib in /usr/local/lib/python3.8/dist-packages (from nltk->sentence_transformers) (1.2.0)\n", + "Requirement already satisfied: threadpoolctl>=2.0.0 in /usr/local/lib/python3.8/dist-packages (from scikit-learn->sentence_transformers) (3.1.0)\n", + "Requirement already satisfied: pillow!=8.3.*,>=5.3.0 in /usr/local/lib/python3.8/dist-packages (from torchvision->sentence_transformers) (7.1.2)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.8/dist-packages (from requests->huggingface-hub>=0.4.0->sentence_transformers) (2022.12.7)\n", + "Requirement already satisfied: chardet<5,>=3.0.2 in /usr/local/lib/python3.8/dist-packages (from requests->huggingface-hub>=0.4.0->sentence_transformers) (4.0.0)\n", + "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.8/dist-packages (from requests->huggingface-hub>=0.4.0->sentence_transformers) (2.10)\n", + "Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.8/dist-packages (from requests->huggingface-hub>=0.4.0->sentence_transformers) (1.26.14)\n" + ] + } + ], + "source": [ + "!pip install sentence_transformers" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "E2cgzLmvfTeG" + }, + "outputs": [], + "source": [ + "from sentence_transformers import InputExample\n", + "from torch.utils.data import DataLoader\n", + "\n", + "\n", + "def train_data(data):\n", + " train_data = []\n", + " for index, row in data.iterrows():\n", + " train_data.append(InputExample(texts=[row['Query'], row['Actual Answer'], row['Fifth Similar']]))\n", + "\n", + " train_dataloader = DataLoader(train_data, shuffle=True, batch_size=8)\n", + " return train_dataloader" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "U4FR3AN4gvBI" + }, + "source": [ + "#### Load Sentence Embedding Model" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "l05BPQBXhe4j" + }, + "outputs": [], + "source": [ + "from sentence_transformers import SentenceTransformer\n", + "\n", + "def load_model():\n", + " model_id = 'sentence-transformers/all-mpnet-base-v2'\n", + " model = SentenceTransformer(model_id)\n", + " return model" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "2QvkTOSPfHcG" + }, + "source": [ + "## Train" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "VBdlWX1Uhv5X" + }, + "outputs": [], + "source": [ + "from sentence_transformers import losses\n", + "import torch\n", + "\n", + "def train(model, dataloader, params):\n", + " train_loss = losses.TripletLoss(model=model)\n", + " model.fit(\n", + " [(dataloader, train_loss)],\n", + " None,\n", + " params['epochs'],\n", + " 100,\n", + " params['scheduler'],\n", + " params['warmup_steps'],\n", + " params['optimizer_class'],\n", + " params['optimizer_params'],\n", + " params['weight_decay'],\n", + " 0,\n", + " \"finetuned_mpnet_triplet\",\n", + " True,\n", + " params['max_grad_norm'],\n", + " params['use_amp'],\n", + " None,\n", + " False,\n", + " None,\n", + " 500,\n", + " 0\n", + " )" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "OmxmAyuqM0-f" + }, + "source": [ + "## Execution" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 814 + }, + "id": "eu6id_tikHAx", + "outputId": "d5f8ac1b-5f5a-41c1-e666-83a637f690cf" + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "
\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Unnamed: 0QueryActual AnswerFifth Similar
00Sri Lankan law mixes what two categories of ju...The Sri Lanka judicial system is complex blend...In Sri Lanka, the Supreme Court of Sri Lanka w...
11What court sits in supremacy for cases related...The other branches of the German judicial syst...When it comes to civil and criminal cases, the...
22What is the highest court in Brazil?In Brazil, the Supreme Federal Tribunal (Supre...In Maine and Massachusetts the highest court i...
33A retrial is also called what?The Supreme Court also holds the unique power ...The Supreme Court also holds the unique power ...
44Besides chief justice, how many other judges s...The Irish Supreme Court consists of its presid...It also judges, in original jurisdiction, case...
...............
1415914159When did Zhuge Village isolate itself until?The village has intentionally isolated itself ...Some may have lost social privilege, and took ...
1416014160What type of umbrellas is Hangzhou known for?Hangzhou is also renowned for its silk umbrell...(The renowned Longjing tea is a product of Han...
1416114161What is Zhejiang's location vulnerable to from...Zhejiang benefited less from central governmen...Zhejiang is bordered by Jiangsu province and S...
1416214162Who is Yueju traditionally performed by?Yueju originated in Shengzhou and is tradition...Other important opera traditions include Yongj...
1416314163How many company vehicles did angry protesters...Angry protesters stormed the Zhejiang Jinko So...On Thursday, September 15, 2011, more than 500...
\n", + "

14164 rows × 4 columns

\n", + "
\n", + " \n", + " \n", + " \n", + "\n", + " \n", + "
\n", + "
\n", + " " + ], + "text/plain": [ + " Unnamed: 0 Query \\\n", + "0 0 Sri Lankan law mixes what two categories of ju... \n", + "1 1 What court sits in supremacy for cases related... \n", + "2 2 What is the highest court in Brazil? \n", + "3 3 A retrial is also called what? \n", + "4 4 Besides chief justice, how many other judges s... \n", + "... ... ... \n", + "14159 14159 When did Zhuge Village isolate itself until? \n", + "14160 14160 What type of umbrellas is Hangzhou known for? \n", + "14161 14161 What is Zhejiang's location vulnerable to from... \n", + "14162 14162 Who is Yueju traditionally performed by? \n", + "14163 14163 How many company vehicles did angry protesters... \n", + "\n", + " Actual Answer \\\n", + "0 The Sri Lanka judicial system is complex blend... \n", + "1 The other branches of the German judicial syst... \n", + "2 In Brazil, the Supreme Federal Tribunal (Supre... \n", + "3 The Supreme Court also holds the unique power ... \n", + "4 The Irish Supreme Court consists of its presid... \n", + "... ... \n", + "14159 The village has intentionally isolated itself ... \n", + "14160 Hangzhou is also renowned for its silk umbrell... \n", + "14161 Zhejiang benefited less from central governmen... \n", + "14162 Yueju originated in Shengzhou and is tradition... \n", + "14163 Angry protesters stormed the Zhejiang Jinko So... \n", + "\n", + " Fifth Similar \n", + "0 In Sri Lanka, the Supreme Court of Sri Lanka w... \n", + "1 When it comes to civil and criminal cases, the... \n", + "2 In Maine and Massachusetts the highest court i... \n", + "3 The Supreme Court also holds the unique power ... \n", + "4 It also judges, in original jurisdiction, case... \n", + "... ... \n", + "14159 Some may have lost social privilege, and took ... \n", + "14160 (The renowned Longjing tea is a product of Han... \n", + "14161 Zhejiang is bordered by Jiangsu province and S... \n", + "14162 Other important opera traditions include Yongj... \n", + "14163 On Thursday, September 15, 2011, more than 500... \n", + "\n", + "[14164 rows x 4 columns]" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data = load_data()\n", + "data" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "GK_79JtEEXVY" + }, + "outputs": [], + "source": [ + "data = data.loc[data['Actual Answer'] != \"[citation needed]\"]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 814 + }, + "id": "jsgQk6FdEXVa", + "outputId": "fb6d98e4-b49e-4d3e-d7a1-8badcd34b593" + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "
\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Unnamed: 0QueryActual AnswerFifth Similar
00Sri Lankan law mixes what two categories of ju...The Sri Lanka judicial system is complex blend...In Sri Lanka, the Supreme Court of Sri Lanka w...
11What court sits in supremacy for cases related...The other branches of the German judicial syst...When it comes to civil and criminal cases, the...
22What is the highest court in Brazil?In Brazil, the Supreme Federal Tribunal (Supre...In Maine and Massachusetts the highest court i...
33A retrial is also called what?The Supreme Court also holds the unique power ...The Supreme Court also holds the unique power ...
44Besides chief justice, how many other judges s...The Irish Supreme Court consists of its presid...It also judges, in original jurisdiction, case...
...............
1415914159When did Zhuge Village isolate itself until?The village has intentionally isolated itself ...Some may have lost social privilege, and took ...
1416014160What type of umbrellas is Hangzhou known for?Hangzhou is also renowned for its silk umbrell...(The renowned Longjing tea is a product of Han...
1416114161What is Zhejiang's location vulnerable to from...Zhejiang benefited less from central governmen...Zhejiang is bordered by Jiangsu province and S...
1416214162Who is Yueju traditionally performed by?Yueju originated in Shengzhou and is tradition...Other important opera traditions include Yongj...
1416314163How many company vehicles did angry protesters...Angry protesters stormed the Zhejiang Jinko So...On Thursday, September 15, 2011, more than 500...
\n", + "

14164 rows × 4 columns

\n", + "
\n", + " \n", + " \n", + " \n", + "\n", + " \n", + "
\n", + "
\n", + " " + ], + "text/plain": [ + " Unnamed: 0 Query \\\n", + "0 0 Sri Lankan law mixes what two categories of ju... \n", + "1 1 What court sits in supremacy for cases related... \n", + "2 2 What is the highest court in Brazil? \n", + "3 3 A retrial is also called what? \n", + "4 4 Besides chief justice, how many other judges s... \n", + "... ... ... \n", + "14159 14159 When did Zhuge Village isolate itself until? \n", + "14160 14160 What type of umbrellas is Hangzhou known for? \n", + "14161 14161 What is Zhejiang's location vulnerable to from... \n", + "14162 14162 Who is Yueju traditionally performed by? \n", + "14163 14163 How many company vehicles did angry protesters... \n", + "\n", + " Actual Answer \\\n", + "0 The Sri Lanka judicial system is complex blend... \n", + "1 The other branches of the German judicial syst... \n", + "2 In Brazil, the Supreme Federal Tribunal (Supre... \n", + "3 The Supreme Court also holds the unique power ... \n", + "4 The Irish Supreme Court consists of its presid... \n", + "... ... \n", + "14159 The village has intentionally isolated itself ... \n", + "14160 Hangzhou is also renowned for its silk umbrell... \n", + "14161 Zhejiang benefited less from central governmen... \n", + "14162 Yueju originated in Shengzhou and is tradition... \n", + "14163 Angry protesters stormed the Zhejiang Jinko So... \n", + "\n", + " Fifth Similar \n", + "0 In Sri Lanka, the Supreme Court of Sri Lanka w... \n", + "1 When it comes to civil and criminal cases, the... \n", + "2 In Maine and Massachusetts the highest court i... \n", + "3 The Supreme Court also holds the unique power ... \n", + "4 It also judges, in original jurisdiction, case... \n", + "... ... \n", + "14159 Some may have lost social privilege, and took ... \n", + "14160 (The renowned Longjing tea is a product of Han... \n", + "14161 Zhejiang is bordered by Jiangsu province and S... \n", + "14162 Other important opera traditions include Yongj... \n", + "14163 On Thursday, September 15, 2011, more than 500... \n", + "\n", + "[14164 rows x 4 columns]" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "a8P6WsRnkNMa" + }, + "outputs": [], + "source": [ + "train_dataloader = train_data(data)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "YvcvtkeqlJ-s" + }, + "outputs": [], + "source": [ + "model = load_model()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "dMyg2U0DEXVe" + }, + "outputs": [], + "source": [ + "hyperparams = {\n", + " 'epochs': 10,\n", + " 'scheduler': 'WarmupLinear',\n", + " 'warmup_steps': 10000,\n", + " 'optimizer_class': torch.optim.AdamW,\n", + " 'optimizer_params': {'lr':2e-07},\n", + " 'weight_decay': 0.01,\n", + " 'max_grad_norm': 1,\n", + " 'use_amp':False,\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "background_save": true, + "base_uri": "https://localhost:8080/", + "height": 81, + "referenced_widgets": [ + "c7664fe4278f47a682487cf83d77fd2d", + "24e4ab2742294839ba66d6824b5fbc0e", + "21401c99b0d74b759c2b53594d66f38d", + "24c5de83221f494eacd975083893362e", + "ccc56dc55b5e49d1a05c6f12d0b4c4ab", + "4229b9e3af6f485aa010138848aa9fa1", + "fbffc711efcc47049f3051d39f02fe9a", + "5245291ba4514c7bb1a981a50ef1ec99", + "345604ef54794c90b303c4e6abeba43c", + "0e1d9c9747a1489c93ad6e86f379871e", + "140ba6d09dca49b4a079cc4dfd1eeb6c", + "dfa2eedf82bc4e6b8680c2863d9d120c", + "f8bd5998448d4d75ae760313c535d16f", + "34e75d1ee8b34ae09ced178e6e46fe5d", + "0e6668f81c914388920989b7842d3f4a", + "f17b8f0a607d421b8c7ecde835573594", + "c44a8fcc512c44c79541b66400813456", + "1270290fbfbf48a29419c7dbb87a441b", + "14bf58afb834415abb93e133e02144b2", + "83bada0733454cadb49a05dc7c1a3b38", + "0f49e1b90db844cca6e71aa6c47caeb6", + "beb049c962ca45beb15dc02deab1301f" + ] + }, + "id": "HtATIGfDlUmo", + "outputId": "0d0b259f-5a5e-464e-bbc0-5511de42ac05" + }, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "c7664fe4278f47a682487cf83d77fd2d", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Epoch: 0%| | 0/1 [00:00 numpy array\n", + " topic_model.transform(documents = para_list, embeddings = para_embeddings) # Can use pre-trained embeddings directly\n", + "\n", + "def perform_cluster_prediction(topic_model, para_list, para_embeddings):\n", + " np_para_emb = para_embeddings #.numpy() # Converting the para_embeddings from EagerTensor -> numpy array\n", + " try:\n", + " topics, scores = topic_model.transform(para_list, np_para_emb) # Predicting the documents clusters\n", + " except:\n", + " topics\n", + " return topics, scores\n", + "\n", + "def get_max_cluster_id(theme_cluster_count_dict):\n", + " \"\"\"\n", + " Input: theme_cluster_count_dict : A dictionary with cluster_id as keys and their # of occurences as the value\n", + " \"\"\"\n", + " max_count = 0\n", + " cid = -1\n", + " for key in theme_cluster_count_dict:\n", + " if (theme_cluster_count_dict[key] > max_count):\n", + " max_count = theme_cluster_count_dict[key]\n", + " cid = key\n", + " return cid\n", + "\n", + "def get_cid_to_list_topics(mydic):\n", + " \"\"\"\n", + " Input: mydic: Dict mapping theme --> cluster id\n", + " Returns a dict with cluster id as key and the value is a list of themes associated to it.\n", + " \"\"\"\n", + " cluster_id_to_topic = {}\n", + " for topic, cluster_id in mydic.items():\n", + " if cluster_id not in cluster_id_to_topic:\n", + " cluster_id_to_topic[cluster_id] = [topic]\n", + " else:\n", + " cluster_id_to_topic[cluster_id].append(topic)\n", + " return cluster_id_to_topic\n", + "\n", + "def get_avg_themes_per_cluster(topic_model):\n", + " data = topic_model.get_topic_info()\n", + " avg = data[data['Topic']!=-1]['Count'].mean()\n", + " return avg\n", + "\n", + "def generate_theme_to_cluster_mapping(paragraphs, topics):\n", + " global_idx = 0\n", + "\n", + " theme_to_cluster_mapping = {} # This will hold the final theme to cluster mapping\n", + "\n", + " uniq_theme_list_df = paragraphs['theme'].unique()\n", + "\n", + " for theme in uniq_theme_list_df:\n", + "\n", + " theme_df = paragraphs[paragraphs['theme']==theme] # Getting the part of df with the curr theme\n", + " theme_cluster_count_dict = {} # To store the count of each cluster_id the prev theme was mapped to. '-1' cluster_id indicates that we'll be using the global model.\n", + "\n", + " for i in range(len(theme_df)):\n", + " curr_cid = topics[global_idx]\n", + " if theme_cluster_count_dict.get(curr_cid)==None:\n", + " theme_cluster_count_dict[curr_cid] = 0\n", + " theme_cluster_count_dict[curr_cid] += 1 # Incrementing the count\n", + " global_idx+=1\n", + " mode_cid = get_max_cluster_id(theme_cluster_count_dict)\n", + " theme_to_cluster_mapping[theme] = mode_cid\n", + "\n", + " return theme_to_cluster_mapping" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "whgkNAoGHpFH" + }, + "outputs": [], + "source": [ + "import pandas as pd\n", + "paragraphs2 = pd.read_csv('input_paragraph.csv')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "7EjwRCN6HsHy", + "outputId": "f75aef31-03c1-4e23-c99c-a9e326b14194" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "We have 13481 paragraphs in total & those belong to 361 unique themes\n" + ] + } + ], + "source": [ + "uniq_theme_list2 = list(paragraphs2['theme'].unique())\n", + "para_list2 = list(paragraphs2['paragraph'])\n", + "\n", + "print(f\"We have {len(para_list2)} paragraphs in total & those belong to {len(uniq_theme_list2)} unique themes\")" + ] + }, + { + "cell_type": "markdown", + "source": [ + "Concatenate the paragraphs of a theme as we would like to cluster themes and not paragraphs" + ], + "metadata": { + "id": "LZk7FItW_weo" + } + }, + { + "cell_type": "code", + "source": [ + "para_list2 = [' '.join(paragraphs2[paragraphs2['theme']==theme]['paragraph']) for theme in uniq_theme_list2]" + ], + "metadata": { + "id": "4F3hwqmr7FH9" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "cq8Po-9eJB0C" + }, + "source": [ + "### Main Pipeline" + ] + }, + { + "cell_type": "markdown", + "source": [ + "#### Generate Paragraph Embeddings" + ], + "metadata": { + "id": "u54Hem7sB3hX" + } + }, + { + "cell_type": "code", + "source": [ + "# Generating Embeddings Once\n", + "embedding_model = tensorflow_hub.load(\"https://tfhub.dev/google/universal-sentence-encoder/4\")\n", + "para_embeddings2 = generate_embeddings(embedding_model, para_list2)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "x-MHH6h9B5wT", + "outputId": "27e102d2-50d3-49ff-c1e4-9014205b0423" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Generating the document embeddings...\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "mNJiDXAkoDJv" + }, + "source": [ + "#### Initialize BERTopic Model" + ] + }, + { + "cell_type": "code", + "source": [ + "vectorizer_model = CountVectorizer(stop_words=\"english\")\n", + "brc_model = Birch(branching_factor=50, n_clusters=None, threshold=0.4)\n", + "umap_model = UMAP(n_neighbors=15, n_components=6, min_dist=0.0, metric='cosine')\n", + "\n", + "\n", + "# topic_model = BERTopic(\n", + " # low_memory = True,\n", + " # umap_model = umap_model,\n", + " # hdbscan_model = brc_model,\n", + " # embedding_model = embedding_model,\n", + " # vectorizer_model = vectorizer_model,\n", + " # calculate_probabilities = True,\n", + " # verbose = True,\n", + " # nr_topics = int(0.3*len(uniq_theme_list2))\n", + " # )" + ], + "metadata": { + "id": "ApTbQk33Bx6z" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "old_model = BERTopic.load(\"cluster_model\")\n", + "topic_model = old_model" + ], + "metadata": { + "id": "duJnvp1KqMyE" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "### Running the Model" + ], + "metadata": { + "id": "zSnD_eqFB-sm" + } + }, + { + "cell_type": "code", + "source": [ + "fit_bertopic_model(topic_model, para_list2, para_embeddings2)\n", + "topics, scores = perform_cluster_prediction(topic_model, para_list2, para_embeddings2)\n", + "theme_to_cluster_mapping = generate_theme_to_cluster_mapping(paragraphs2, topics)\n", + "cid_to_themes_mapping = (get_cid_to_list_topics(theme_to_cluster_mapping))\n", + "avg_themes_per_cluster = get_avg_themes_per_cluster(topic_model)\n", + "topic_info = topic_model.get_topic_info()\n", + "unclustered = topic_info[topic_info['Topic']==-1]['Count']\n", + "if unclustered.empty:\n", + " unclustered = 0\n", + " num_clusters = len(topic_info['Topic'])\n", + "else:\n", + " unclustered = int(unclustered)\n", + " num_clusters = len(topic_info['Topic'])-1\n", + "print('--------------------------------------------------------------------------------------------------------------------------------------------')\n", + "print(f\"Main Dataset Results:\")\n", + "print(f\"#Themes unclustered = {unclustered}\\nAvg. #Themes / cluster = {avg_themes_per_cluster}\\n# clusters = {num_clusters}\")" + ], + "metadata": { + "id": "QBYiH0_j7M9H", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "57a6b28a-6367-4b1e-f007-0a659dada3e7" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Fitting the model using the paras & their embeddings\n", + "--------------------------------------------------------------------------------------------------------------------------------------------\n", + "Main Dataset Results:\n", + "#Themes unclustered = 0\n", + "Avg. #Themes / cluster = 11.093023255813954\n", + "# clusters = 43\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "# topic_model.save('cluster_model', save_embedding_model=False)" + ], + "metadata": { + "id": "5lcia--BQnrS" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "topic_model.get_topic_info()" + ], + "metadata": { + "id": "QI6ARpw7_ePh", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "outputId": "f5e20ef5-6739-419b-88bc-fd8ef9b304d5" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " Topic Count Name\n", + "0 0 38 0_data_apple_software_windows\n", + "1 1 14 1_chinese_china_dynasty_han\n", + "2 2 17 2_air_aircraft_forces_war\n", + "3 3 16 3_church_mary_pope_jesus\n", + "4 4 23 4_gaddafi_country_africa_children\n", + "5 5 19 5_theory_god_philosophy_enlightenment\n", + "6 6 9 6_london_southampton_beer_plymouth\n", + "7 7 18 7_language_languages_characters_dialects\n", + "8 8 24 8_used_antenna_light_copper\n", + "9 9 20 9_music_album_film_madonna\n", + "10 10 3 10_dollar_times_coins_ecb\n", + "11 11 23 11_cells_species_bacteria_cell\n", + "12 12 6 12_quran_al_ibn_text\n", + "13 13 8 13_species_hunting_dogs_dog\n", + "14 14 13 14_league_football_club_cup\n", + "15 15 6 15_alaska_mountains_montana_mountain\n", + "16 16 5 16_kerry_fbi_schwarzenegger_police\n", + "17 17 9 17_burke_victoria_queen_lodge\n", + "18 18 12 18_law_court_state_states\n", + "19 19 18 19_city_paris_red_mexico\n", + "20 20 12 20_island_islands_bermuda_tuvalu\n", + "21 21 29 21_city_new_state_area\n", + "22 22 8 22_energy_feynman_vacuum_matter\n", + "23 23 12 23_university_school_bell_college\n", + "24 24 10 24_ottoman_empire_armenian_armenia\n", + "25 25 20 25_french_france_napoleon_war\n", + "26 26 9 26_neptune_ice_antarctica_antarctic\n", + "27 27 1 27_pharmacy_pharmacists_pharmacies_patient\n", + "28 28 8 28_architecture_mosaic_mosaics_cubism\n", + "29 29 6 29_schools_education_universities_university\n", + "30 30 1 30_rhine_delta_river_flows\n", + "31 31 8 31_nasser_soviet_tito_estonia\n", + "32 32 4 32_jews_jewish_ashkenazi_orthodox\n", + "33 33 5 33_race_racial_black_african\n", + "34 34 2 34_shell_ge_company_oil\n", + "35 35 8 35_sexual_pain_memory_identity\n", + "36 36 5 36_dst_asthma_time_clock\n", + "37 37 6 37_greek_rome_roman_bc\n", + "38 38 5 38_israel_iran_myanmar_israeli\n", + "39 39 3 39_cotton_green_color_grapes\n", + "40 40 6 40_party_leader_parliament_minority\n", + "41 41 6 41_kathmandu_hyderabad_delhi_india\n", + "42 42 2 42_indigenous_peoples_neolithic_native" + ], + "text/html": [ + "\n", + "
\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
TopicCountName
00380_data_apple_software_windows
11141_chinese_china_dynasty_han
22172_air_aircraft_forces_war
33163_church_mary_pope_jesus
44234_gaddafi_country_africa_children
55195_theory_god_philosophy_enlightenment
6696_london_southampton_beer_plymouth
77187_language_languages_characters_dialects
88248_used_antenna_light_copper
99209_music_album_film_madonna
1010310_dollar_times_coins_ecb
11112311_cells_species_bacteria_cell
1212612_quran_al_ibn_text
1313813_species_hunting_dogs_dog
14141314_league_football_club_cup
1515615_alaska_mountains_montana_mountain
1616516_kerry_fbi_schwarzenegger_police
1717917_burke_victoria_queen_lodge
18181218_law_court_state_states
19191819_city_paris_red_mexico
20201220_island_islands_bermuda_tuvalu
21212921_city_new_state_area
2222822_energy_feynman_vacuum_matter
23231223_university_school_bell_college
24241024_ottoman_empire_armenian_armenia
25252025_french_france_napoleon_war
2626926_neptune_ice_antarctica_antarctic
2727127_pharmacy_pharmacists_pharmacies_patient
2828828_architecture_mosaic_mosaics_cubism
2929629_schools_education_universities_university
3030130_rhine_delta_river_flows
3131831_nasser_soviet_tito_estonia
3232432_jews_jewish_ashkenazi_orthodox
3333533_race_racial_black_african
3434234_shell_ge_company_oil
3535835_sexual_pain_memory_identity
3636536_dst_asthma_time_clock
3737637_greek_rome_roman_bc
3838538_israel_iran_myanmar_israeli
3939339_cotton_green_color_grapes
4040640_party_leader_parliament_minority
4141641_kathmandu_hyderabad_delhi_india
4242242_indigenous_peoples_neolithic_native
\n", + "
\n", + " \n", + " \n", + " \n", + "\n", + " \n", + "
\n", + "
\n", + " " + ] + }, + "metadata": {}, + "execution_count": 20 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "EUNhB9K-kuxl" + }, + "source": [ + "### Visualizing the clustered paragraphs" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "07NFWwtpIxrm" + }, + "outputs": [], + "source": [ + "train_data_map = cid_to_themes_mapping" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "fylds0DjI1hn" + }, + "outputs": [], + "source": [ + "# topic_model.visualize_barchart(top_n_topics=10)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "D3KMsMVmKFHK" + }, + "outputs": [], + "source": [ + "# topic_model.visualize_topics()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "_r3OCekx2P1l" + }, + "outputs": [], + "source": [ + "# hierarchical_topics = topic_model.hierarchical_topics(para_list2)\n", + "# tree = topic_model.get_topic_tree(hierarchical_topics)\n", + "# print(tree)" + ] + }, + { + "cell_type": "code", + "source": [ + "import csv\n", + "topic_info.to_csv('/content/gdrive/MyDrive/Colab Notebooks/Final/theme_to_cluster_mapping.csv')" + ], + "metadata": { + "id": "615Jz2azeJ9d" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## Fine-Tuning QA Models On Clusters" + ], + "metadata": { + "id": "Y2IkKEv5k0yG" + } + }, + { + "cell_type": "markdown", + "source": [ + "### Mount Google Drive" + ], + "metadata": { + "id": "Vq2kimzxiOYS" + } + }, + { + "cell_type": "code", + "source": [ + "from google.colab import drive\n", + "drive.mount('/content/gdrive')" + ], + "metadata": { + "id": "klcNO2pHiNmu" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "-1PSyNND4a4Q" + }, + "source": [ + "### Imports\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "vcBT6tLgYwwm" + }, + "outputs": [], + "source": [ + "%%capture\n", + "!pip install datasets\n", + "!pip install -U transformers\n", + "!apt install git-lfs\n", + "!pip install optimum\n", + "!pip install onnx\n", + "!pip install onnxruntime" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "Mh30HOkS4mC0" + }, + "outputs": [], + "source": [ + "import json\n", + "import torch\n", + "import nltk\n", + "import pandas as pd\n", + "from sklearn.model_selection import train_test_split\n", + "from transformers import TrainingArguments, Trainer, AutoTokenizer, BertTokenizerFast, BertForQuestionAnswering, AutoModelForQuestionAnswering\n", + "import transformers\n", + "from transformers import pipeline\n", + "from datasets import load_dataset, load_metric\n", + "from transformers import default_data_collator\n", + "from torch.utils.data import DataLoader\n", + "from transformers import get_scheduler\n", + "from transformers import AdamW\n", + "from tqdm.auto import tqdm\n", + "from transformers import AutoTokenizer\n", + "from optimum.onnxruntime import ORTOptimizer\n", + "from optimum.onnxruntime.configuration import OptimizationConfig\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Av0r8paULkIC" + }, + "source": [ + "### Load Data" + ] + }, + { + "cell_type": "code", + "source": [ + "#loading cluster-wise csvs\n", + "%%capture\n", + "! gdown 1JaMYQrbtpREDw7E8VUqtNAPSod_eP9u2\n", + "! unzip datasets.zip" + ], + "metadata": { + "id": "Cjwf_L3liuMg" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "2Mr4nTU4dpyu" + }, + "outputs": [], + "source": [ + "def loaddataset(cluster = 0):\n", + " base_url = 'datasets/'\n", + " data_files = {\"train\":base_url + \"{}_train.csv\".format(cluster), \"test\": base_url + \"{}_test.csv\".format(cluster)}\n", + " # data_files = {\"train\":base_url + \"{}_train.csv\".format(theme), \"test\": base_url + \"{}_test.csv\".format(theme)}\n", + " dataset = load_dataset(\"csv\", data_files=data_files)\n", + " return dataset" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "mNrvZPOZ6Bqn" + }, + "source": [ + "### Helper Functions\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "hbQemcukMPZz" + }, + "source": [ + "#### Device Setup\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "0YOQzlfiMjEO" + }, + "outputs": [], + "source": [ + "#setting up global variables\n", + "model_name = \"PremalMatalia/electra-base-best-squad2\"\n", + "batch_size = 8\n", + "max_length = 384 # The maximum length of a feature (question and context)\n", + "doc_stride = 128 # The authorized overlap between two part of the context when splitting it is needed.\n", + "data_collator = default_data_collator" + ] + }, + { + "cell_type": "code", + "source": [ + "def setup_device(model_name):\n", + " device = torch.device('cuda') if torch.cuda.is_available() else torch.device('cpu')\n", + " tokenizer = AutoTokenizer.from_pretrained(model_name)\n", + " assert isinstance(tokenizer, transformers.PreTrainedTokenizerFast), \"Fast Tokenizer Needed\"\n", + " model = AutoModelForQuestionAnswering.from_pretrained(model_name)\n", + " pad_on_right = tokenizer.padding_side == \"right\"\n", + " model.to(device)\n", + " return model, tokenizer, pad_on_right\n" + ], + "metadata": { + "id": "rxsKYTYBmAsC" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "X7ZX77CuxDxr" + }, + "source": [ + "#### Preprocessing for FineTuning\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "bwEoL09kxBcC" + }, + "outputs": [], + "source": [ + "def preprocess_for_training(dataset, tokenizer, pad_on_right):\n", + " dataset[\"Question\"] = [q.lstrip() for q in dataset[\"Question\"]]\n", + "\n", + " tokenized_examples = tokenizer(\n", + " dataset[\"Question\" if pad_on_right else \"Paragraph\"],\n", + " dataset[\"Paragraph\" if pad_on_right else \"Qustion\"],\n", + " truncation=\"only_second\" if pad_on_right else \"only_first\",\n", + " max_length=max_length,\n", + " stride=doc_stride,\n", + " return_overflowing_tokens=True,\n", + " return_offsets_mapping=True,\n", + " padding=\"max_length\",\n", + " )\n", + " sample_mapping = tokenized_examples.pop(\"overflow_to_sample_mapping\")\n", + " offset_mapping = tokenized_examples.pop(\"offset_mapping\")\n", + " # print(sample_mapping, offset_mapping)\n", + " # Let's label those examples!\n", + " tokenized_examples[\"start_positions\"] = []\n", + " tokenized_examples[\"end_positions\"] = []\n", + "\n", + " for i, offsets in enumerate(offset_mapping):\n", + " input_ids = tokenized_examples[\"input_ids\"][i]\n", + " cls_index = input_ids.index(tokenizer.cls_token_id)\n", + " #! WORKS\n", + "\n", + " sequence_ids = tokenized_examples.sequence_ids(i)\n", + " sample_index = sample_mapping[i]\n", + " answers = {\n", + " 'text' : (dataset[\"Answer_text\"][sample_index]),\n", + " 'answer_start' : [int(dataset[\"Answer_start\"][sample_index][1:-1])] if dataset[\"Answer_start\"][sample_index][1:-1] != '' else []\n", + " }\n", + " if len(answers[\"answer_start\"]) == 0:\n", + " tokenized_examples[\"start_positions\"].append(cls_index)\n", + " tokenized_examples[\"end_positions\"].append(cls_index)\n", + " else:\n", + " # Start/end character index of the answer in the text.\n", + " start_char = answers[\"answer_start\"][0]\n", + " end_char = start_char + len(answers[\"text\"]) - 4\n", + " token_start_index = 0\n", + " while sequence_ids[token_start_index] != (1 if pad_on_right else 0):\n", + " token_start_index += 1\n", + "\n", + " # End token index of the current span in the text.\n", + " token_end_index = len(input_ids) - 1\n", + " while sequence_ids[token_end_index] != (1 if pad_on_right else 0):\n", + " token_end_index -= 1\n", + " if not (offsets[token_start_index][0] <= start_char and offsets[token_end_index][1] >= end_char):\n", + " tokenized_examples[\"start_positions\"].append(cls_index)\n", + " tokenized_examples[\"end_positions\"].append(cls_index)\n", + " else:\n", + " # Otherwise move the token_start_index and token_end_index to the two ends of the answer.\n", + " # Note: we could go after the last offset if the answer is the last word (edge case).\n", + " while token_start_index < len(offsets) and offsets[token_start_index][0] <= start_char:\n", + " token_start_index += 1\n", + " tokenized_examples[\"start_positions\"].append(token_start_index - 1)\n", + " while offsets[token_end_index][1] >= end_char:\n", + " token_end_index -= 1\n", + " tokenized_examples[\"end_positions\"].append(token_end_index + 1)\n", + "\n", + " return tokenized_examples\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Da_ikmbr_ExC" + }, + "source": [ + "#### Finetuning" + ] + }, + { + "cell_type": "code", + "source": [ + "def optimize_model(model_path):\n", + " for i in range(10):\n", + " try:\n", + " ort_model = ORTModelForQuestionAnswering.from_pretrained(model_path, from_transformers=True, provider=\"CUDAExecutionProvider\")\n", + " except:\n", + " continue\n", + " else:\n", + " break\n", + " optimizer = ORTOptimizer.from_pretrained(ort_model)\n", + " optimization_config = OptimizationConfig(optimization_level=99)\n", + " optimizer.optimize(save_dir=model_path, optimization_config=optimization_config)" + ], + "metadata": { + "id": "DtbiXGnc1bcu" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "-8YOZf1HmaMq" + }, + "outputs": [], + "source": [ + "def fine_tune_using_api(model, tokenizer, pad_on_right, cluster = 0, learning_rate = 7e-7, epochs = 4, scheduler = 'linear'):\n", + " dataset = loaddataset(cluster)\n", + " #Training Args\n", + " model_name_ = model_name.split(\"/\")[-1]\n", + " args = TrainingArguments(\n", + " f\"{model_name_}-finetuned-squad-{cluster}-trainedfor-{epochs}\",\n", + " evaluation_strategy = \"epoch\",\n", + " learning_rate=learning_rate,\n", + " per_device_train_batch_size=batch_size,\n", + " per_device_eval_batch_size=batch_size,\n", + " lr_scheduler_type = \"linear\",\n", + " optim = \"adamw_hf\",\n", + " # warmup_proportion = 0.2,\n", + " num_train_epochs=epochs,\n", + " weight_decay=0.01,\n", + " save_strategy = \"no\",\n", + " push_to_hub=False,\n", + " )\n", + " tokenized_datasets = dataset.map(lambda x : preprocess_for_training(x, tokenizer, pad_on_right), batched=True, remove_columns=dataset[\"train\"].column_names)\n", + " trainer = Trainer(\n", + " model,\n", + " args,\n", + " train_dataset=tokenized_datasets[\"train\"],\n", + " eval_dataset=tokenized_datasets[\"test\"],\n", + " data_collator=data_collator,\n", + " tokenizer=tokenizer,\n", + " )\n", + " trainer.train()\n", + " trainer.save_model(f\"/content/gdrive/MyDrive/Colab Notebooks/Final/{model_name_}-finetuned-squad-{cluster}\")\n", + " optimize_model(f\"/content/gdrive/MyDrive/Colab Notebooks/Final/{model_name_}-finetuned-squad-{cluster}\")\n", + " return model" + ] + }, + { + "cell_type": "markdown", + "source": [ + "### Main" + ], + "metadata": { + "id": "8A6-NBrAfn8W" + } + }, + { + "cell_type": "code", + "source": [ + "model, tokenizer, pad_on_right = setup_device(model_name)\n", + "for i in range(1):\n", + " fine_tune_using_api(model, tokenizer, pad_on_right, cluster = 0, learning_rate = 7e-7, epochs = 4, scheduler = 'linear')" + ], + "metadata": { + "id": "yDZzQUgTfqMr" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# Evaluation Day Script" + ], + "metadata": { + "id": "cnYLfxPbXZAz" + } + }, + { + "cell_type": "markdown", + "metadata": { + "id": "HH-5KMkZ-QR6" + }, + "source": [ + "## Fitting new Themes into Previous Clusters" + ] + }, + { + "cell_type": "markdown", + "source": [ + "### Mount Google Drive" + ], + "metadata": { + "id": "My-SD3nf-88t" + } + }, + { + "cell_type": "code", + "source": [ + "from google.colab import drive\n", + "drive.mount('/content/gdrive')" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "054f9f0a-3498-4253-edbe-e15ae0522db0", + "id": "TEFxBPEx-88u" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Mounted at /content/gdrive\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "42-Rf1Yy-QSA" + }, + "source": [ + "### Installing and importing some libraries" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "zQpgrGg8-QSA" + }, + "outputs": [], + "source": [ + "%%capture\n", + "!pip install bertopic" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "M6DI89sF-QSA" + }, + "outputs": [], + "source": [ + "from bertopic import BERTopic\n", + "import tensorflow_hub\n", + "from umap import UMAP\n", + "import copy\n", + "from sklearn.feature_extraction.text import CountVectorizer\n", + "from sklearn.cluster import Birch" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "m6IBOXj2-QSA" + }, + "source": [ + "### Loading dataset\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "yImBlpBo-QSA" + }, + "outputs": [], + "source": [ + "import gdown\n", + "\n", + "def download_test_data():\n", + " \"\"\"Download the test data (4 csv files)\"\"\"\n", + "\n", + " ids = [\n", + " \"1-3fMldkBVsTAX3W5JewdAdlUG_agexG0\",\n", + " \"1-59pQe8TH7UaORF1RSqzFWybMJShdf1U\",\n", + " \"1-AbnJRRHQiTU5zyUdDC2gUwbIGkEF5l6\",\n", + " \"1-Px6FFj043L7lbAEBOAMSy2bdoPiVNhy\"\n", + " ]\n", + " for id in ids:\n", + " url = f\"https://drive.google.com/u/1/uc?id={id}&export=download\"\n", + " gdown.download(url, quiet=True)" + ] + }, + { + "cell_type": "code", + "source": [ + "!gdown 19QL-Ybk2GNlIQtcBZTYYSlLgsMGwJG_V" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "8e083014-6ffc-412e-cf06-9b78046b45e4", + "id": "sK-jjdP9-QSA" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Downloading...\n", + "From: https://drive.google.com/uc?id=19QL-Ybk2GNlIQtcBZTYYSlLgsMGwJG_V\n", + "To: /content/cluster_model\n", + "\r 0% 0.00/8.85M [00:00 numpy array\n", + " topic_model.transform(documents = para_list, embeddings = para_embeddings) # Can use pre-trained embeddings directly\n", + "\n", + "def perform_cluster_prediction(topic_model, para_list, para_embeddings):\n", + " np_para_emb = para_embeddings #.numpy() # Converting the para_embeddings from EagerTensor -> numpy array\n", + " try:\n", + " topics, scores = topic_model.transform(para_list, np_para_emb) # Predicting the documents clusters\n", + " except:\n", + " topics\n", + " return topics, scores\n", + "\n", + "def get_max_cluster_id(theme_cluster_count_dict):\n", + " \"\"\"\n", + " Input: theme_cluster_count_dict : A dictionary with cluster_id as keys and their # of occurences as the value\n", + " \"\"\"\n", + " max_count = 0\n", + " cid = -1\n", + " for key in theme_cluster_count_dict:\n", + " if (theme_cluster_count_dict[key] > max_count):\n", + " max_count = theme_cluster_count_dict[key]\n", + " cid = key\n", + " return cid\n", + "\n", + "def get_cid_to_list_topics(mydic):\n", + " \"\"\"\n", + " Input: mydic: Dict mapping theme --> cluster id\n", + " Returns a dict with cluster id as key and the value is a list of themes associated to it.\n", + " \"\"\"\n", + " cluster_id_to_topic = {}\n", + " for topic, cluster_id in mydic.items():\n", + " if cluster_id not in cluster_id_to_topic:\n", + " cluster_id_to_topic[cluster_id] = [topic]\n", + " else:\n", + " cluster_id_to_topic[cluster_id].append(topic)\n", + " return cluster_id_to_topic\n", + "\n", + "def get_avg_themes_per_cluster(topic_model):\n", + " data = topic_model.get_topic_info()\n", + " avg = data[data['Topic']!=-1]['Count'].mean()\n", + " return avg\n", + "\n", + "def generate_theme_to_cluster_mapping(paragraphs, topics):\n", + " global_idx = 0\n", + "\n", + " theme_to_cluster_mapping = {} # This will hold the final theme to cluster mapping\n", + "\n", + " uniq_theme_list_df = paragraphs['theme'].unique()\n", + "\n", + " for theme in uniq_theme_list_df:\n", + "\n", + " theme_df = paragraphs[paragraphs['theme']==theme] # Getting the part of df with the curr theme\n", + " theme_cluster_count_dict = {} # To store the count of each cluster_id the prev theme was mapped to. '-1' cluster_id indicates that we'll be using the global model.\n", + "\n", + " for i in range(len(theme_df)):\n", + " curr_cid = topics[global_idx]\n", + " if theme_cluster_count_dict.get(curr_cid)==None:\n", + " theme_cluster_count_dict[curr_cid] = 0\n", + " theme_cluster_count_dict[curr_cid] += 1 # Incrementing the count\n", + " global_idx+=1\n", + " mode_cid = get_max_cluster_id(theme_cluster_count_dict)\n", + " theme_to_cluster_mapping[theme] = mode_cid\n", + "\n", + " return theme_to_cluster_mapping" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "C8SYEXEu-QSB" + }, + "outputs": [], + "source": [ + "import pandas as pd\n", + "paragraphs2 = pd.read_csv('input_paragraph.csv')\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "c5998a15-1430-41cc-c509-c443d3cb5f90", + "id": "9M9SbU9P-QSB" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "We have 13481 paragraphs in total & those belong to 361 unique themes\n" + ] + } + ], + "source": [ + "uniq_theme_list2 = list(paragraphs2['theme'].unique())\n", + "para_list2 = list(paragraphs2['paragraph'])\n", + "\n", + "print(f\"We have {len(para_list2)} paragraphs in total & those belong to {len(uniq_theme_list2)} unique themes\")" + ] + }, + { + "cell_type": "markdown", + "source": [ + "Concatenate the paragraphs of a theme as we would like to cluster themes and not paragraphs" + ], + "metadata": { + "id": "9pxEeHpJ-QSB" + } + }, + { + "cell_type": "code", + "source": [ + "para_list2 = [' '.join(paragraphs2[paragraphs2['theme']==theme]['paragraph']) for theme in uniq_theme_list2]" + ], + "metadata": { + "id": "b1akL4Kc-QSB" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "0qb7iw0j-QSB" + }, + "source": [ + "### Main Pipeline" + ] + }, + { + "cell_type": "markdown", + "source": [ + "#### Generate Paragraph Embeddings" + ], + "metadata": { + "id": "7iZibHeb-QSB" + } + }, + { + "cell_type": "code", + "source": [ + "# Generating Embeddings Once\n", + "embedding_model = tensorflow_hub.load(\"https://tfhub.dev/google/universal-sentence-encoder/4\")\n", + "para_embeddings2 = generate_embeddings(embedding_model, para_list2)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "19d944ea-8137-4053-b468-fe005e863fa0", + "id": "Pl_fZAMB-QSB" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Generating the document embeddings...\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "FYK2El6D-QSB" + }, + "source": [ + "#### Initialize BERTopic Model" + ] + }, + { + "cell_type": "code", + "source": [ + "vectorizer_model = CountVectorizer(stop_words=\"english\")\n", + "brc_model = Birch(branching_factor=50, n_clusters=None, threshold=0.4)\n", + "umap_model = UMAP(n_neighbors=15, n_components=6, min_dist=0.0, metric='cosine')\n", + "\n", + "\n", + "# topic_model = BERTopic(\n", + " # low_memory = True,\n", + " # umap_model = umap_model,\n", + " # hdbscan_model = brc_model,\n", + " # embedding_model = embedding_model,\n", + " # vectorizer_model = vectorizer_model,\n", + " # calculate_probabilities = True,\n", + " # verbose = True,\n", + " # nr_topics = int(0.3*len(uniq_theme_list2))\n", + " # )" + ], + "metadata": { + "id": "C-qIAHOk-QSC" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "old_model = BERTopic.load(\"cluster_model\")\n", + "topic_model = old_model" + ], + "metadata": { + "id": "mKZs8jv8-QSC" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "### Running the Model" + ], + "metadata": { + "id": "x1h4R5vR-QSC" + } + }, + { + "cell_type": "code", + "source": [ + "fit_bertopic_model(topic_model, para_list2, para_embeddings2)\n", + "topics, scores = perform_cluster_prediction(topic_model, para_list2, para_embeddings2)\n", + "theme_to_cluster_mapping = generate_theme_to_cluster_mapping(paragraphs2, topics)\n", + "cid_to_themes_mapping = (get_cid_to_list_topics(theme_to_cluster_mapping))\n", + "avg_themes_per_cluster = get_avg_themes_per_cluster(topic_model)\n", + "topic_info = topic_model.get_topic_info()\n", + "unclustered = topic_info[topic_info['Topic']==-1]['Count']\n", + "if unclustered.empty:\n", + " unclustered = 0\n", + " num_clusters = len(topic_info['Topic'])\n", + "else:\n", + " unclustered = int(unclustered)\n", + " num_clusters = len(topic_info['Topic'])-1\n", + "print('--------------------------------------------------------------------------------------------------------------------------------------------')\n", + "print(f\"Main Dataset Results:\")\n", + "print(f\"#Themes unclustered = {unclustered}\\nAvg. #Themes / cluster = {avg_themes_per_cluster}\\n# clusters = {num_clusters}\")" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "4f2200cd-d4b6-41a8-9164-1e16dee80084", + "id": "M6jV50cR-QSC" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Fitting the model using the paras & their embeddings\n", + "--------------------------------------------------------------------------------------------------------------------------------------------\n", + "Main Dataset Results:\n", + "#Themes unclustered = 0\n", + "Avg. #Themes / cluster = 11.093023255813954\n", + "# clusters = 43\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "# topic_model.save('cluster_model', save_embedding_model=False)" + ], + "metadata": { + "id": "B9lAWg0t-QSC" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "topic_model.get_topic_info()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "2e5941f9-1f02-4317-b0ad-54484aad7eb5", + "id": "xQN0G4mG-QSC" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " Topic Count Name\n", + "0 0 38 0_data_apple_software_windows\n", + "1 1 14 1_chinese_china_dynasty_han\n", + "2 2 17 2_air_aircraft_forces_war\n", + "3 3 16 3_church_mary_pope_jesus\n", + "4 4 23 4_gaddafi_country_africa_children\n", + "5 5 19 5_theory_god_philosophy_enlightenment\n", + "6 6 9 6_london_southampton_beer_plymouth\n", + "7 7 18 7_language_languages_characters_dialects\n", + "8 8 24 8_used_antenna_light_copper\n", + "9 9 20 9_music_album_film_madonna\n", + "10 10 3 10_dollar_times_coins_ecb\n", + "11 11 23 11_cells_species_bacteria_cell\n", + "12 12 6 12_quran_al_ibn_text\n", + "13 13 8 13_species_hunting_dogs_dog\n", + "14 14 13 14_league_football_club_cup\n", + "15 15 6 15_alaska_mountains_montana_mountain\n", + "16 16 5 16_kerry_fbi_schwarzenegger_police\n", + "17 17 9 17_burke_victoria_queen_lodge\n", + "18 18 12 18_law_court_state_states\n", + "19 19 18 19_city_paris_red_mexico\n", + "20 20 12 20_island_islands_bermuda_tuvalu\n", + "21 21 29 21_city_new_state_area\n", + "22 22 8 22_energy_feynman_vacuum_matter\n", + "23 23 12 23_university_school_bell_college\n", + "24 24 10 24_ottoman_empire_armenian_armenia\n", + "25 25 20 25_french_france_napoleon_war\n", + "26 26 9 26_neptune_ice_antarctica_antarctic\n", + "27 27 1 27_pharmacy_pharmacists_pharmacies_patient\n", + "28 28 8 28_architecture_mosaic_mosaics_cubism\n", + "29 29 6 29_schools_education_universities_university\n", + "30 30 1 30_rhine_delta_river_flows\n", + "31 31 8 31_nasser_soviet_tito_estonia\n", + "32 32 4 32_jews_jewish_ashkenazi_orthodox\n", + "33 33 5 33_race_racial_black_african\n", + "34 34 2 34_shell_ge_company_oil\n", + "35 35 8 35_sexual_pain_memory_identity\n", + "36 36 5 36_dst_asthma_time_clock\n", + "37 37 6 37_greek_rome_roman_bc\n", + "38 38 5 38_israel_iran_myanmar_israeli\n", + "39 39 3 39_cotton_green_color_grapes\n", + "40 40 6 40_party_leader_parliament_minority\n", + "41 41 6 41_kathmandu_hyderabad_delhi_india\n", + "42 42 2 42_indigenous_peoples_neolithic_native" + ], + "text/html": [ + "\n", + "
\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
TopicCountName
00380_data_apple_software_windows
11141_chinese_china_dynasty_han
22172_air_aircraft_forces_war
33163_church_mary_pope_jesus
44234_gaddafi_country_africa_children
55195_theory_god_philosophy_enlightenment
6696_london_southampton_beer_plymouth
77187_language_languages_characters_dialects
88248_used_antenna_light_copper
99209_music_album_film_madonna
1010310_dollar_times_coins_ecb
11112311_cells_species_bacteria_cell
1212612_quran_al_ibn_text
1313813_species_hunting_dogs_dog
14141314_league_football_club_cup
1515615_alaska_mountains_montana_mountain
1616516_kerry_fbi_schwarzenegger_police
1717917_burke_victoria_queen_lodge
18181218_law_court_state_states
19191819_city_paris_red_mexico
20201220_island_islands_bermuda_tuvalu
21212921_city_new_state_area
2222822_energy_feynman_vacuum_matter
23231223_university_school_bell_college
24241024_ottoman_empire_armenian_armenia
25252025_french_france_napoleon_war
2626926_neptune_ice_antarctica_antarctic
2727127_pharmacy_pharmacists_pharmacies_patient
2828828_architecture_mosaic_mosaics_cubism
2929629_schools_education_universities_university
3030130_rhine_delta_river_flows
3131831_nasser_soviet_tito_estonia
3232432_jews_jewish_ashkenazi_orthodox
3333533_race_racial_black_african
3434234_shell_ge_company_oil
3535835_sexual_pain_memory_identity
3636536_dst_asthma_time_clock
3737637_greek_rome_roman_bc
3838538_israel_iran_myanmar_israeli
3939339_cotton_green_color_grapes
4040640_party_leader_parliament_minority
4141641_kathmandu_hyderabad_delhi_india
4242242_indigenous_peoples_neolithic_native
\n", + "
\n", + " \n", + " \n", + " \n", + "\n", + " \n", + "
\n", + "
\n", + " " + ] + }, + "metadata": {}, + "execution_count": 16 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "HfIIvUXJ-QSC" + }, + "source": [ + "### Visualizing the clustered paragraphs" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "4HO-1rnU-QSC" + }, + "outputs": [], + "source": [ + "train_data_map = cid_to_themes_mapping" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "Lp_f2bht-QSC" + }, + "outputs": [], + "source": [ + "# topic_model.visualize_barchart(top_n_topics=10)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "gq0f8fLA-QSC" + }, + "outputs": [], + "source": [ + "# topic_model.visualize_topics()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "d8pPc5PJ-QSD" + }, + "outputs": [], + "source": [ + "# hierarchical_topics = topic_model.hierarchical_topics(para_list2)\n", + "# tree = topic_model.get_topic_tree(hierarchical_topics)\n", + "# print(tree)" + ] + }, + { + "cell_type": "markdown", + "source": [ + "### Predicting on new themes" + ], + "metadata": { + "id": "L-rJUMYpsWPE" + } + }, + { + "cell_type": "code", + "source": [ + "topic_info = topic_model.get_topic_info()\n", + "topic_info" + ], + "metadata": { + "id": "5qWfTgK57qrA", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "outputId": "1d3b6ae7-9c51-4726-907a-d274649f4d9f" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " Topic Count Name\n", + "0 0 38 0_data_apple_software_windows\n", + "1 1 14 1_chinese_china_dynasty_han\n", + "2 2 17 2_air_aircraft_forces_war\n", + "3 3 16 3_church_mary_pope_jesus\n", + "4 4 23 4_gaddafi_country_africa_children\n", + "5 5 19 5_theory_god_philosophy_enlightenment\n", + "6 6 9 6_london_southampton_beer_plymouth\n", + "7 7 18 7_language_languages_characters_dialects\n", + "8 8 24 8_used_antenna_light_copper\n", + "9 9 20 9_music_album_film_madonna\n", + "10 10 3 10_dollar_times_coins_ecb\n", + "11 11 23 11_cells_species_bacteria_cell\n", + "12 12 6 12_quran_al_ibn_text\n", + "13 13 8 13_species_hunting_dogs_dog\n", + "14 14 13 14_league_football_club_cup\n", + "15 15 6 15_alaska_mountains_montana_mountain\n", + "16 16 5 16_kerry_fbi_schwarzenegger_police\n", + "17 17 9 17_burke_victoria_queen_lodge\n", + "18 18 12 18_law_court_state_states\n", + "19 19 18 19_city_paris_red_mexico\n", + "20 20 12 20_island_islands_bermuda_tuvalu\n", + "21 21 29 21_city_new_state_area\n", + "22 22 8 22_energy_feynman_vacuum_matter\n", + "23 23 12 23_university_school_bell_college\n", + "24 24 10 24_ottoman_empire_armenian_armenia\n", + "25 25 20 25_french_france_napoleon_war\n", + "26 26 9 26_neptune_ice_antarctica_antarctic\n", + "27 27 1 27_pharmacy_pharmacists_pharmacies_patient\n", + "28 28 8 28_architecture_mosaic_mosaics_cubism\n", + "29 29 6 29_schools_education_universities_university\n", + "30 30 1 30_rhine_delta_river_flows\n", + "31 31 8 31_nasser_soviet_tito_estonia\n", + "32 32 4 32_jews_jewish_ashkenazi_orthodox\n", + "33 33 5 33_race_racial_black_african\n", + "34 34 2 34_shell_ge_company_oil\n", + "35 35 8 35_sexual_pain_memory_identity\n", + "36 36 5 36_dst_asthma_time_clock\n", + "37 37 6 37_greek_rome_roman_bc\n", + "38 38 5 38_israel_iran_myanmar_israeli\n", + "39 39 3 39_cotton_green_color_grapes\n", + "40 40 6 40_party_leader_parliament_minority\n", + "41 41 6 41_kathmandu_hyderabad_delhi_india\n", + "42 42 2 42_indigenous_peoples_neolithic_native" + ], + "text/html": [ + "\n", + "
\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
TopicCountName
00380_data_apple_software_windows
11141_chinese_china_dynasty_han
22172_air_aircraft_forces_war
33163_church_mary_pope_jesus
44234_gaddafi_country_africa_children
55195_theory_god_philosophy_enlightenment
6696_london_southampton_beer_plymouth
77187_language_languages_characters_dialects
88248_used_antenna_light_copper
99209_music_album_film_madonna
1010310_dollar_times_coins_ecb
11112311_cells_species_bacteria_cell
1212612_quran_al_ibn_text
1313813_species_hunting_dogs_dog
14141314_league_football_club_cup
1515615_alaska_mountains_montana_mountain
1616516_kerry_fbi_schwarzenegger_police
1717917_burke_victoria_queen_lodge
18181218_law_court_state_states
19191819_city_paris_red_mexico
20201220_island_islands_bermuda_tuvalu
21212921_city_new_state_area
2222822_energy_feynman_vacuum_matter
23231223_university_school_bell_college
24241024_ottoman_empire_armenian_armenia
25252025_french_france_napoleon_war
2626926_neptune_ice_antarctica_antarctic
2727127_pharmacy_pharmacists_pharmacies_patient
2828828_architecture_mosaic_mosaics_cubism
2929629_schools_education_universities_university
3030130_rhine_delta_river_flows
3131831_nasser_soviet_tito_estonia
3232432_jews_jewish_ashkenazi_orthodox
3333533_race_racial_black_african
3434234_shell_ge_company_oil
3535835_sexual_pain_memory_identity
3636536_dst_asthma_time_clock
3737637_greek_rome_roman_bc
3838538_israel_iran_myanmar_israeli
3939339_cotton_green_color_grapes
4040640_party_leader_parliament_minority
4141641_kathmandu_hyderabad_delhi_india
4242242_indigenous_peoples_neolithic_native
\n", + "
\n", + " \n", + " \n", + " \n", + "\n", + " \n", + "
\n", + "
\n", + " " + ] + }, + "metadata": {}, + "execution_count": 21 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "#### Preparing Test Data" + ], + "metadata": { + "id": "YofzVk1sCbGd" + } + }, + { + "cell_type": "code", + "source": [ + "!gdown 1RAD2mJbz4yQddZZaUvXDWQC6Okar-QVh" + ], + "metadata": { + "id": "GgKjCcutqrLg", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "683e9eaf-1946-4569-d026-1e27d6d3c58a" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Downloading...\n", + "From: https://drive.google.com/uc?id=1RAD2mJbz4yQddZZaUvXDWQC6Okar-QVh\n", + "To: /content/paragraphs.csv\n", + "\r 0% 0.00/704k [00:00\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mdisplay_comp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnew_map\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mtrain_data_map\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;32m\u001b[0m in \u001b[0;36mdisplay_comp\u001b[0;34m(n_map, o_map)\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mcluster\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mn_map\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34mf\"New Topics: {n_map[cluster]}\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 4\u001b[0;31m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34mf\"Assigned to: {o_map[cluster]}\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;31mKeyError\u001b[0m: 10" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "# @title Get Squad Themes\n", + "squad_themes = [\n", + " 'Beyoncé',\n", + " 'Frédéric_Chopin',\n", + " 'Sino-Tibetan_relations_during_the_Ming_dynasty',\n", + " 'IPod',\n", + " 'The_Legend_of_Zelda:_Twilight_Princess',\n", + " 'Spectre_(2015_film)',\n", + " '2008_Sichuan_earthquake',\n", + " 'New_York_City',\n", + " 'To_Kill_a_Mockingbird',\n", + " 'Solar_energy',\n", + " 'Kanye_West',\n", + " 'Buddhism',\n", + " 'American_Idol',\n", + " 'Dog',\n", + " '2008_Summer_Olympics_torch_relay',\n", + " 'Genome',\n", + " 'Comprehensive_school',\n", + " 'Republic_of_the_Congo',\n", + " 'Prime_minister',\n", + " 'Institute_of_technology',\n", + " 'Wayback_Machine',\n", + " 'Dutch_Republic',\n", + " 'Symbiosis',\n", + " 'Canadian_Armed_Forces',\n", + " 'Cardinal_(Catholicism)',\n", + " 'Iranian_languages',\n", + " 'Lighting',\n", + " 'Separation_of_powers_under_the_United_States_Constitution',\n", + " 'Architecture',\n", + " 'Human_Development_Index',\n", + " 'Southern_Europe',\n", + " 'BBC_Television',\n", + " 'Arnold_Schwarzenegger',\n", + " 'Plymouth',\n", + " 'Heresy',\n", + " 'Warsaw_Pact',\n", + " 'Materialism',\n", + " 'Christian',\n", + " 'Sony_Music_Entertainment',\n", + " 'Oklahoma_City',\n", + " 'Hunter-gatherer',\n", + " 'United_Nations_Population_Fund',\n", + " 'Russian_Soviet_Federative_Socialist_Republic',\n", + " 'Alexander_Graham_Bell',\n", + " 'Pub',\n", + " 'Internet_service_provider',\n", + " 'Comics',\n", + " 'Saint_Helena',\n", + " 'Aspirated_consonant',\n", + " 'Hydrogen',\n", + " 'Space_Race',\n", + " 'Web_browser',\n", + " 'BeiDou_Navigation_Satellite_System',\n", + " 'Canon_law',\n", + " 'Communications_in_Somalia',\n", + " 'Catalan_language',\n", + " 'Boston',\n", + " 'Universal_Studios',\n", + " 'Estonian_language',\n", + " 'Paper',\n", + " 'Adult_contemporary_music',\n", + " 'Daylight_saving_time',\n", + " 'Royal_Institute_of_British_Architects',\n", + " 'National_Archives_and_Records_Administration',\n", + " 'Tristan_da_Cunha',\n", + " 'University_of_Kansas',\n", + " 'Nanjing',\n", + " 'Arena_Football_League',\n", + " 'Dialect',\n", + " 'Bern',\n", + " 'Westminster_Abbey',\n", + " 'Political_corruption',\n", + " 'Classical_music',\n", + " 'Slavs',\n", + " 'Southampton',\n", + " 'Treaty',\n", + " 'Josip_Broz_Tito',\n", + " 'Marshall_Islands',\n", + " 'Szlachta',\n", + " 'Virgil',\n", + " 'Alps',\n", + " 'Gene',\n", + " 'Guinea-Bissau',\n", + " 'List_of_numbered_streets_in_Manhattan',\n", + " 'Brain',\n", + " 'Near_East',\n", + " 'Zhejiang',\n", + " 'Ministry_of_Defence_(United_Kingdom)',\n", + " 'High-definition_television',\n", + " 'Wood',\n", + " 'Somalis',\n", + " 'Middle_Ages',\n", + " 'Phonology',\n", + " 'Computer',\n", + " 'Black_people',\n", + " 'The_Times',\n", + " 'New_Delhi',\n", + " 'Bird_migration',\n", + " 'Atlantic_City,_New_Jersey',\n", + " 'Immunology',\n", + " 'MP3',\n", + " 'House_music',\n", + " 'Letter_case',\n", + " 'Chihuahua_(state)',\n", + " 'Imamah_(Shia_doctrine)',\n", + " 'Pitch_(music)',\n", + " 'England_national_football_team',\n", + " 'Houston',\n", + " 'Copper',\n", + " 'Identity_(social_science)',\n", + " 'Himachal_Pradesh',\n", + " 'Communication',\n", + " 'Grape',\n", + " 'Computer_security',\n", + " 'Orthodox_Judaism',\n", + " 'Animal',\n", + " 'Beer',\n", + " 'Race_and_ethnicity_in_the_United_States_Census',\n", + " 'United_States_dollar',\n", + " 'Imperial_College_London',\n", + " 'Hanover',\n", + " 'Emotion',\n", + " 'Everton_F.C.',\n", + " 'Old_English',\n", + " 'Aircraft_carrier',\n", + " 'Federal_Aviation_Administration',\n", + " 'Lancashire',\n", + " 'Mesozoic',\n", + " 'Videoconferencing',\n", + " 'Gregorian_calendar',\n", + " 'Xbox_360',\n", + " 'Military_history_of_the_United_States',\n", + " 'Hard_rock',\n", + " 'Great_Plains',\n", + " 'Infrared',\n", + " 'Biodiversity',\n", + " 'ASCII',\n", + " 'Digestion',\n", + " 'Gymnastics',\n", + " 'FC_Barcelona',\n", + " 'Federal_Bureau_of_Investigation',\n", + " 'Mary_(mother_of_Jesus)',\n", + " 'Melbourne',\n", + " 'John,_King_of_England',\n", + " 'Macintosh',\n", + " 'Anti-aircraft_warfare',\n", + " 'Sanskrit',\n", + " 'Valencia',\n", + " 'General_Electric',\n", + " 'United_States_Army',\n", + " 'Franco-Prussian_War',\n", + " 'Adolescence',\n", + " 'Antarctica',\n", + " 'Eritrea',\n", + " 'Uranium',\n", + " 'Order_of_the_British_Empire',\n", + " 'Circadian_rhythm',\n", + " 'Elizabeth_II',\n", + " 'Sexual_orientation',\n", + " 'Dell',\n", + " 'Capital_punishment_in_the_United_States',\n", + " 'Age_of_Enlightenment',\n", + " 'Nintendo_Entertainment_System',\n", + " 'Athanasius_of_Alexandria',\n", + " 'Seattle',\n", + " 'Memory',\n", + " 'Multiracial_American',\n", + " 'Ashkenazi_Jews',\n", + " 'Pharmaceutical_industry',\n", + " 'Umayyad_Caliphate',\n", + " 'Asphalt',\n", + " 'Queen_Victoria',\n", + " 'Freemasonry',\n", + " 'Israel',\n", + " 'Hellenistic_period',\n", + " 'Bill_%26_Melinda_Gates_Foundation',\n", + " 'Montevideo',\n", + " 'Poultry',\n", + " 'Dutch_language',\n", + " 'Buckingham_Palace',\n", + " 'Incandescent_light_bulb',\n", + " 'Arsenal_F.C.',\n", + " 'Clothing',\n", + " 'Chicago_Cubs',\n", + " 'Korean_War',\n", + " 'Copyright_infringement',\n", + " 'Greece',\n", + " 'Royal_Dutch_Shell',\n", + " 'Mammal',\n", + " 'East_India_Company',\n", + " 'Hokkien',\n", + " 'Professional_wrestling',\n", + " 'Film_speed',\n", + " 'Mexico_City',\n", + " 'Napoleon',\n", + " 'Germans',\n", + " 'Southeast_Asia',\n", + " 'Brigham_Young_University',\n", + " 'Department_store',\n", + " 'Intellectual_property',\n", + " 'Florida',\n", + " 'Queen_(band)',\n", + " 'Presbyterianism',\n", + " 'Thuringia',\n", + " 'Predation',\n", + " 'Marvel_Comics',\n", + " 'British_Empire',\n", + " 'Botany',\n", + " 'Madonna_(entertainer)',\n", + " 'Law_of_the_United_States',\n", + " 'Myanmar',\n", + " 'Jews',\n", + " 'Cotton',\n", + " 'Data_compression',\n", + " 'The_Sun_(United_Kingdom)',\n", + " 'Pesticide',\n", + " 'Somerset',\n", + " 'Yale_University',\n", + " 'Late_Middle_Ages',\n", + " 'Ann_Arbor,_Michigan',\n", + " 'Gothic_architecture',\n", + " 'Cubism',\n", + " 'Political_philosophy',\n", + " 'Alloy',\n", + " 'Norfolk_Island',\n", + " 'Edmund_Burke',\n", + " 'Samoa',\n", + " 'Pope_Paul_VI',\n", + " 'Electric_motor',\n", + " 'Switzerland',\n", + " 'Mali',\n", + " 'Raleigh,_North_Carolina',\n", + " 'Nutrition',\n", + " 'Crimean_War',\n", + " 'Nonprofit_organization',\n", + " 'Literature',\n", + " 'Avicenna',\n", + " 'Chinese_characters',\n", + " 'Bermuda',\n", + " 'Nigeria',\n", + " 'Utrecht',\n", + " 'Molotov%E2%80%93Ribbentrop_Pact',\n", + " 'Capacitor',\n", + " 'History_of_science',\n", + " 'Digimon',\n", + " 'Glacier',\n", + " 'Comcast',\n", + " 'Tuberculosis',\n", + " 'Affirmative_action_in_the_United_States',\n", + " 'FA_Cup',\n", + " 'New_Haven,_Connecticut',\n", + " 'Alsace',\n", + " 'Carnival',\n", + " 'Baptists',\n", + " 'Child_labour',\n", + " 'North_Carolina',\n", + " 'Heian_period',\n", + " 'On_the_Origin_of_Species',\n", + " 'Dissolution_of_the_Soviet_Union',\n", + " 'Crucifixion_of_Jesus',\n", + " 'Supreme_court',\n", + " 'Textual_criticism',\n", + " 'Gramophone_record',\n", + " 'Turner_Classic_Movies',\n", + " 'Hindu_philosophy',\n", + " 'Political_party',\n", + " 'A_cappella',\n", + " 'Dominican_Order',\n", + " 'Eton_College',\n", + " 'Cork_(city)',\n", + " 'Galicia_(Spain)',\n", + " 'USB',\n", + " 'Sichuan',\n", + " 'Unicode',\n", + " 'Detroit',\n", + " 'London',\n", + " 'Culture',\n", + " 'Sahara',\n", + " 'Rule_of_law',\n", + " 'Tibet',\n", + " 'Exhibition_game',\n", + " 'Northwestern_University',\n", + " 'Strasbourg',\n", + " 'Oklahoma',\n", + " 'History_of_India',\n", + " 'Gamal_Abdel_Nasser',\n", + " 'Pope_John_XXIII',\n", + " 'Time',\n", + " 'European_Central_Bank',\n", + " 'St._John%27s,_Newfoundland_and_Labrador',\n", + " 'John_von_Neumann',\n", + " 'PlayStation_3',\n", + " 'Royal_assent',\n", + " 'Group_(mathematics)',\n", + " 'Central_African_Republic',\n", + " 'Asthma',\n", + " 'LaserDisc',\n", + " 'George_VI',\n", + " 'Federalism',\n", + " 'Annelid',\n", + " 'God',\n", + " 'War_on_Terror',\n", + " 'Labour_Party_(UK)',\n", + " 'Estonia',\n", + " 'Alaska',\n", + " 'Karl_Popper',\n", + " 'Mandolin',\n", + " 'Insect',\n", + " 'Race_(human_categorization)',\n", + " 'Paris',\n", + " 'Apollo',\n", + " 'United_States_presidential_election,_2004',\n", + " 'Liberal_Party_of_Australia',\n", + " 'Samurai',\n", + " 'Software_testing',\n", + " 'States_of_Germany',\n", + " 'Glass',\n", + " 'Planck_constant',\n", + " 'Renewable_energy_commercialization',\n", + " 'Palermo',\n", + " 'Green',\n", + " 'Zinc',\n", + " 'Neoclassical_architecture',\n", + " 'Serbo-Croatian',\n", + " 'CBC_Television',\n", + " 'Appalachian_Mountains',\n", + " 'IBM',\n", + " 'Energy',\n", + " 'East_Prussia',\n", + " 'Ottoman_Empire',\n", + " 'Philosophy_of_space_and_time',\n", + " 'Neolithic',\n", + " 'Friedrich_Hayek',\n", + " 'Diarrhea',\n", + " 'Madrasa',\n", + " 'Miami',\n", + " 'Philadelphia',\n", + " 'John_Kerry',\n", + " 'Rajasthan',\n", + " 'Guam',\n", + " 'Empiricism',\n", + " 'Idealism',\n", + " 'Czech_language',\n", + " 'Education',\n", + " 'Tennessee',\n", + " 'Post-punk',\n", + " 'Canadian_football',\n", + " 'Seven_Years%27_War',\n", + " 'Richard_Feynman',\n", + " 'Muammar_Gaddafi',\n", + " 'Cyprus',\n", + " 'Steven_Spielberg',\n", + " 'Elevator',\n", + " 'Neptune',\n", + " 'Railway_electrification_system',\n", + " 'Spanish_language_in_the_United_States',\n", + " 'Charleston,_South_Carolina',\n", + " 'The_Blitz',\n", + " 'Endangered_Species_Act',\n", + " 'Vacuum',\n", + " 'Han_dynasty',\n", + " 'Quran',\n", + " 'Geography_of_the_United_States',\n", + " 'Compact_disc',\n", + " 'Transistor',\n", + " 'Modern_history',\n", + " '51st_state',\n", + " 'Antenna_(radio)',\n", + " 'Flowering_plant',\n", + " 'Hyderabad',\n", + " 'Santa_Monica,_California',\n", + " 'Washington_University_in_St._Louis',\n", + " 'Central_Intelligence_Agency',\n", + " 'Pain',\n", + " 'Database',\n", + " 'Tucson,_Arizona',\n", + " 'Armenia',\n", + " 'Bacteria',\n", + " 'Printed_circuit_board',\n", + " 'Greeks',\n", + " 'Premier_League',\n", + " 'Roman_Republic',\n", + " 'Pacific_War',\n", + " 'San_Diego',\n", + " 'Muslim_world',\n", + " 'Iran',\n", + " 'British_Isles',\n", + " 'Association_football',\n", + " 'Georgian_architecture',\n", + " 'Liberia',\n", + " 'Alfred_North_Whitehead',\n", + " 'Antibiotics',\n", + " 'Windows_8',\n", + " 'Swaziland',\n", + " 'Translation',\n", + " 'Airport',\n", + " 'Kievan_Rus%27',\n", + " 'Super_Nintendo_Entertainment_System',\n", + " 'Sumer',\n", + " 'Tuvalu',\n", + " 'Immaculate_Conception',\n", + " 'Namibia',\n", + " 'Russian_language',\n", + " 'United_States_Air_Force',\n", + " 'Light-emitting_diode',\n", + " 'Great_power',\n", + " 'Bird',\n", + " 'Qing_dynasty',\n", + " 'Indigenous_peoples_of_the_Americas',\n", + " 'Red',\n", + " 'Egypt',\n", + " 'Mosaic',\n", + " 'University',\n", + " 'Religion_in_ancient_Rome',\n", + " 'YouTube',\n", + " 'Separation_of_church_and_state_in_the_United_States',\n", + " 'Protestantism',\n", + " 'Bras%C3%ADlia',\n", + " 'Economy_of_Greece',\n", + " 'Party_leaders_of_the_United_States_House_of_Representatives',\n", + " 'Armenians',\n", + " 'Jehovah%27s_Witnesses',\n", + " 'Dwight_D._Eisenhower',\n", + " 'The_Bronx',\n", + " 'Financial_crisis_of_2007%E2%80%9308',\n", + " 'Portugal',\n", + " 'Humanism',\n", + " 'Geological_history_of_Earth',\n", + " 'Police',\n", + " 'Genocide',\n", + " 'Saint_Barth%C3%A9lemy',\n", + " 'Tajikistan',\n", + " 'University_of_Notre_Dame',\n", + " 'Anthropology',\n", + " 'Montana',\n", + " 'Punjab,_Pakistan',\n", + " 'Richmond,_Virginia',\n", + " 'Infection',\n", + " 'Hunting',\n", + " 'Kathmandu',\n", + " 'Myocardial_infarction',\n", + " 'Matter']" + ], + "metadata": { + "cellView": "form", + "id": "ny9a2xIaEG3p" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "thm = []\n", + "for cluster in new_map:\n", + " for i in new_map[cluster]:\n", + " if i not in squad_themes:\n", + " thm.append(i)\n", + "\n", + "thm = []\n", + "for cluster in new_map:\n", + " for i in new_map[cluster]:\n", + " if i not in squad_themes:\n", + " thm.append((i, cluster))" + ], + "metadata": { + "id": "gOlgf_ntExoY" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "import pickle\n", + "\n", + "with open('/content/gdrive/MyDrive/Colab Notebooks/Final/new_themes', \"wb\") as fp: #Pickling\n", + " pickle.dump(thm, fp)\n", + "\n", + "with open('/content/gdrive/MyDrive/Colab Notebooks/Final/new_themes_with_context', \"wb\") as fp: #Pickling\n", + " pickle.dump(thm, fp)" + ], + "metadata": { + "id": "-GTnRdoSFvV1" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## Synthetic Data Generation" + ], + "metadata": { + "id": "WjaS-omZkwhE" + } + }, + { + "cell_type": "markdown", + "source": [ + "### Connect to Google Drive\n", + "\n", + "Use:\n", + "* Saving the output file.\n", + "* Quicker loading of the heavy SynQA Model in between subsequent runs." + ], + "metadata": { + "id": "w-ETDXir9ues" + } + }, + { + "cell_type": "code", + "source": [ + "from google.colab import drive\n", + "drive.mount('/content/gdrive')" + ], + "metadata": { + "id": "SjJl58V59xfI", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "d8e11916-1ab4-49a0-fbf7-f7161e0e520b" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Mounted at /content/gdrive\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "### Download and Imports\n", + "\n", + "Download all the required models and perform necessary imports for the models." + ], + "metadata": { + "id": "W597h23gXlG5" + } + }, + { + "cell_type": "markdown", + "source": [ + "#### KeyBert with KeyPhrase-Vectorizers\n", + "\n", + "Model used for Answer Generation (using NER) for synQA Model." + ], + "metadata": { + "id": "Gd1RGk1u7fpo" + } + }, + { + "cell_type": "code", + "source": [ + "!pip install keyphrase-vectorizers\n", + "!pip install keybert" + ], + "metadata": { + "id": "3rPUJSvFJumr", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "outputId": "12f85215-6f83-44f8-c442-853d28acfae6" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", + "Collecting keyphrase-vectorizers\n", + " Downloading keyphrase_vectorizers-0.0.11-py3-none-any.whl (29 kB)\n", + "Collecting psutil>=5.8.0\n", + " Downloading psutil-5.9.4-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (280 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m280.2/280.2 KB\u001b[0m \u001b[31m23.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: scikit-learn>=1.0 in /usr/local/lib/python3.8/dist-packages (from keyphrase-vectorizers) (1.0.2)\n", + "Requirement already satisfied: spacy>=3.0.1 in /usr/local/lib/python3.8/dist-packages (from keyphrase-vectorizers) (3.4.4)\n", + "Requirement already satisfied: nltk>=3.6.1 in /usr/local/lib/python3.8/dist-packages (from keyphrase-vectorizers) (3.7)\n", + "Requirement already satisfied: scipy>=1.7.3 in /usr/local/lib/python3.8/dist-packages (from keyphrase-vectorizers) (1.7.3)\n", + "Requirement already satisfied: numpy>=1.18.5 in /usr/local/lib/python3.8/dist-packages (from keyphrase-vectorizers) (1.21.6)\n", + "Collecting spacy-transformers>=1.1.6\n", + " Downloading spacy_transformers-1.2.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (193 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m193.5/193.5 KB\u001b[0m \u001b[31m19.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: click in /usr/local/lib/python3.8/dist-packages (from nltk>=3.6.1->keyphrase-vectorizers) (7.1.2)\n", + "Requirement already satisfied: joblib in /usr/local/lib/python3.8/dist-packages (from nltk>=3.6.1->keyphrase-vectorizers) (1.2.0)\n", + "Requirement already satisfied: tqdm in /usr/local/lib/python3.8/dist-packages (from nltk>=3.6.1->keyphrase-vectorizers) (4.64.1)\n", + "Requirement already satisfied: regex>=2021.8.3 in /usr/local/lib/python3.8/dist-packages (from nltk>=3.6.1->keyphrase-vectorizers) (2022.6.2)\n", + "Requirement already satisfied: threadpoolctl>=2.0.0 in /usr/local/lib/python3.8/dist-packages (from scikit-learn>=1.0->keyphrase-vectorizers) (3.1.0)\n", + "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.8/dist-packages (from spacy>=3.0.1->keyphrase-vectorizers) (23.0)\n", + "Requirement already satisfied: typer<0.8.0,>=0.3.0 in /usr/local/lib/python3.8/dist-packages (from spacy>=3.0.1->keyphrase-vectorizers) (0.7.0)\n", + "Requirement already satisfied: catalogue<2.1.0,>=2.0.6 in /usr/local/lib/python3.8/dist-packages (from spacy>=3.0.1->keyphrase-vectorizers) (2.0.8)\n", + "Requirement already satisfied: srsly<3.0.0,>=2.4.3 in /usr/local/lib/python3.8/dist-packages (from spacy>=3.0.1->keyphrase-vectorizers) (2.4.5)\n", + "Requirement already satisfied: langcodes<4.0.0,>=3.2.0 in /usr/local/lib/python3.8/dist-packages (from spacy>=3.0.1->keyphrase-vectorizers) (3.3.0)\n", + "Requirement already satisfied: spacy-legacy<3.1.0,>=3.0.10 in /usr/local/lib/python3.8/dist-packages (from spacy>=3.0.1->keyphrase-vectorizers) (3.0.12)\n", + "Requirement already satisfied: cymem<2.1.0,>=2.0.2 in /usr/local/lib/python3.8/dist-packages (from spacy>=3.0.1->keyphrase-vectorizers) (2.0.7)\n", + "Requirement already satisfied: smart-open<7.0.0,>=5.2.1 in /usr/local/lib/python3.8/dist-packages (from spacy>=3.0.1->keyphrase-vectorizers) (6.3.0)\n", + "Requirement already satisfied: pydantic!=1.8,!=1.8.1,<1.11.0,>=1.7.4 in /usr/local/lib/python3.8/dist-packages (from spacy>=3.0.1->keyphrase-vectorizers) (1.10.4)\n", + "Requirement already satisfied: murmurhash<1.1.0,>=0.28.0 in /usr/local/lib/python3.8/dist-packages (from spacy>=3.0.1->keyphrase-vectorizers) (1.0.9)\n", + "Requirement already satisfied: requests<3.0.0,>=2.13.0 in /usr/local/lib/python3.8/dist-packages (from spacy>=3.0.1->keyphrase-vectorizers) (2.25.1)\n", + "Requirement already satisfied: jinja2 in /usr/local/lib/python3.8/dist-packages (from spacy>=3.0.1->keyphrase-vectorizers) (2.11.3)\n", + "Requirement already satisfied: wasabi<1.1.0,>=0.9.1 in /usr/local/lib/python3.8/dist-packages (from spacy>=3.0.1->keyphrase-vectorizers) (0.10.1)\n", + "Requirement already satisfied: thinc<8.2.0,>=8.1.0 in /usr/local/lib/python3.8/dist-packages (from spacy>=3.0.1->keyphrase-vectorizers) (8.1.7)\n", + "Requirement already satisfied: spacy-loggers<2.0.0,>=1.0.0 in /usr/local/lib/python3.8/dist-packages (from spacy>=3.0.1->keyphrase-vectorizers) (1.0.4)\n", + "Requirement already satisfied: preshed<3.1.0,>=3.0.2 in /usr/local/lib/python3.8/dist-packages (from spacy>=3.0.1->keyphrase-vectorizers) (3.0.8)\n", + "Requirement already satisfied: pathy>=0.3.5 in /usr/local/lib/python3.8/dist-packages (from spacy>=3.0.1->keyphrase-vectorizers) (0.10.1)\n", + "Requirement already satisfied: setuptools in /usr/local/lib/python3.8/dist-packages (from spacy>=3.0.1->keyphrase-vectorizers) (57.4.0)\n", + "Collecting spacy-alignments<1.0.0,>=0.7.2\n", + " Downloading spacy_alignments-0.9.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.2/1.2 MB\u001b[0m \u001b[31m43.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: torch>=1.6.0 in /usr/local/lib/python3.8/dist-packages (from spacy-transformers>=1.1.6->keyphrase-vectorizers) (1.13.1+cu116)\n", + "Collecting transformers<4.27.0,>=3.4.0\n", + " Downloading transformers-4.26.0-py3-none-any.whl (6.3 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m6.3/6.3 MB\u001b[0m \u001b[31m92.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: typing-extensions>=4.2.0 in /usr/local/lib/python3.8/dist-packages (from pydantic!=1.8,!=1.8.1,<1.11.0,>=1.7.4->spacy>=3.0.1->keyphrase-vectorizers) (4.4.0)\n", + "Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.8/dist-packages (from requests<3.0.0,>=2.13.0->spacy>=3.0.1->keyphrase-vectorizers) (1.24.3)\n", + "Requirement already satisfied: chardet<5,>=3.0.2 in /usr/local/lib/python3.8/dist-packages (from requests<3.0.0,>=2.13.0->spacy>=3.0.1->keyphrase-vectorizers) (4.0.0)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.8/dist-packages (from requests<3.0.0,>=2.13.0->spacy>=3.0.1->keyphrase-vectorizers) (2022.12.7)\n", + "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.8/dist-packages (from requests<3.0.0,>=2.13.0->spacy>=3.0.1->keyphrase-vectorizers) (2.10)\n", + "Requirement already satisfied: confection<1.0.0,>=0.0.1 in /usr/local/lib/python3.8/dist-packages (from thinc<8.2.0,>=8.1.0->spacy>=3.0.1->keyphrase-vectorizers) (0.0.4)\n", + "Requirement already satisfied: blis<0.8.0,>=0.7.8 in /usr/local/lib/python3.8/dist-packages (from thinc<8.2.0,>=8.1.0->spacy>=3.0.1->keyphrase-vectorizers) (0.7.9)\n", + "Collecting huggingface-hub<1.0,>=0.11.0\n", + " Downloading huggingface_hub-0.12.0-py3-none-any.whl (190 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m190.3/190.3 KB\u001b[0m \u001b[31m21.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting tokenizers!=0.11.3,<0.14,>=0.11.1\n", + " Downloading tokenizers-0.13.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.6 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m7.6/7.6 MB\u001b[0m \u001b[31m108.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.8/dist-packages (from transformers<4.27.0,>=3.4.0->spacy-transformers>=1.1.6->keyphrase-vectorizers) (6.0)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.8/dist-packages (from transformers<4.27.0,>=3.4.0->spacy-transformers>=1.1.6->keyphrase-vectorizers) (3.9.0)\n", + "Requirement already satisfied: MarkupSafe>=0.23 in /usr/local/lib/python3.8/dist-packages (from jinja2->spacy>=3.0.1->keyphrase-vectorizers) (2.0.1)\n", + "Installing collected packages: tokenizers, spacy-alignments, psutil, huggingface-hub, transformers, spacy-transformers, keyphrase-vectorizers\n", + " Attempting uninstall: psutil\n", + " Found existing installation: psutil 5.4.8\n", + " Uninstalling psutil-5.4.8:\n", + " Successfully uninstalled psutil-5.4.8\n", + "Successfully installed huggingface-hub-0.12.0 keyphrase-vectorizers-0.0.11 psutil-5.9.4 spacy-alignments-0.9.0 spacy-transformers-1.2.1 tokenizers-0.13.2 transformers-4.26.0\n" + ] + }, + { + "output_type": "display_data", + "data": { + "application/vnd.colab-display-data+json": { + "pip_warning": { + "packages": [ + "psutil" + ] + } + } + }, + "metadata": {} + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", + "Collecting keybert\n", + " Downloading keybert-0.7.0.tar.gz (21 kB)\n", + " Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + "Collecting sentence-transformers>=0.3.8\n", + " Downloading sentence-transformers-2.2.2.tar.gz (85 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m86.0/86.0 KB\u001b[0m \u001b[31m10.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + "Requirement already satisfied: scikit-learn>=0.22.2 in /usr/local/lib/python3.8/dist-packages (from keybert) (1.0.2)\n", + "Requirement already satisfied: numpy>=1.18.5 in /usr/local/lib/python3.8/dist-packages (from keybert) (1.21.6)\n", + "Collecting rich>=10.4.0\n", + " Downloading rich-13.3.1-py3-none-any.whl (239 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m239.0/239.0 KB\u001b[0m \u001b[31m27.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: typing-extensions<5.0,>=4.0.0 in /usr/local/lib/python3.8/dist-packages (from rich>=10.4.0->keybert) (4.4.0)\n", + "Collecting markdown-it-py<3.0.0,>=2.1.0\n", + " Downloading markdown_it_py-2.1.0-py3-none-any.whl (84 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m84.5/84.5 KB\u001b[0m \u001b[31m11.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting pygments<3.0.0,>=2.14.0\n", + " Downloading Pygments-2.14.0-py3-none-any.whl (1.1 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.1/1.1 MB\u001b[0m \u001b[31m61.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: threadpoolctl>=2.0.0 in /usr/local/lib/python3.8/dist-packages (from scikit-learn>=0.22.2->keybert) (3.1.0)\n", + "Requirement already satisfied: scipy>=1.1.0 in /usr/local/lib/python3.8/dist-packages (from scikit-learn>=0.22.2->keybert) (1.7.3)\n", + "Requirement already satisfied: joblib>=0.11 in /usr/local/lib/python3.8/dist-packages (from scikit-learn>=0.22.2->keybert) (1.2.0)\n", + "Requirement already satisfied: transformers<5.0.0,>=4.6.0 in /usr/local/lib/python3.8/dist-packages (from sentence-transformers>=0.3.8->keybert) (4.26.0)\n", + "Requirement already satisfied: tqdm in /usr/local/lib/python3.8/dist-packages (from sentence-transformers>=0.3.8->keybert) (4.64.1)\n", + "Requirement already satisfied: torch>=1.6.0 in /usr/local/lib/python3.8/dist-packages (from sentence-transformers>=0.3.8->keybert) (1.13.1+cu116)\n", + "Requirement already satisfied: torchvision in /usr/local/lib/python3.8/dist-packages (from sentence-transformers>=0.3.8->keybert) (0.14.1+cu116)\n", + "Requirement already satisfied: nltk in /usr/local/lib/python3.8/dist-packages (from sentence-transformers>=0.3.8->keybert) (3.7)\n", + "Collecting sentencepiece\n", + " Downloading sentencepiece-0.1.97-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.3/1.3 MB\u001b[0m \u001b[31m70.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: huggingface-hub>=0.4.0 in /usr/local/lib/python3.8/dist-packages (from sentence-transformers>=0.3.8->keybert) (0.12.0)\n", + "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.8/dist-packages (from huggingface-hub>=0.4.0->sentence-transformers>=0.3.8->keybert) (6.0)\n", + "Requirement already satisfied: requests in /usr/local/lib/python3.8/dist-packages (from huggingface-hub>=0.4.0->sentence-transformers>=0.3.8->keybert) (2.25.1)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.8/dist-packages (from huggingface-hub>=0.4.0->sentence-transformers>=0.3.8->keybert) (3.9.0)\n", + "Requirement already satisfied: packaging>=20.9 in /usr/local/lib/python3.8/dist-packages (from huggingface-hub>=0.4.0->sentence-transformers>=0.3.8->keybert) (23.0)\n", + "Collecting mdurl~=0.1\n", + " Downloading mdurl-0.1.2-py3-none-any.whl (10.0 kB)\n", + "Requirement already satisfied: tokenizers!=0.11.3,<0.14,>=0.11.1 in /usr/local/lib/python3.8/dist-packages (from transformers<5.0.0,>=4.6.0->sentence-transformers>=0.3.8->keybert) (0.13.2)\n", + "Requirement already satisfied: regex!=2019.12.17 in /usr/local/lib/python3.8/dist-packages (from transformers<5.0.0,>=4.6.0->sentence-transformers>=0.3.8->keybert) (2022.6.2)\n", + "Requirement already satisfied: click in /usr/local/lib/python3.8/dist-packages (from nltk->sentence-transformers>=0.3.8->keybert) (7.1.2)\n", + "Requirement already satisfied: pillow!=8.3.*,>=5.3.0 in /usr/local/lib/python3.8/dist-packages (from torchvision->sentence-transformers>=0.3.8->keybert) (7.1.2)\n", + "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.8/dist-packages (from requests->huggingface-hub>=0.4.0->sentence-transformers>=0.3.8->keybert) (2.10)\n", + "Requirement already satisfied: chardet<5,>=3.0.2 in /usr/local/lib/python3.8/dist-packages (from requests->huggingface-hub>=0.4.0->sentence-transformers>=0.3.8->keybert) (4.0.0)\n", + "Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.8/dist-packages (from requests->huggingface-hub>=0.4.0->sentence-transformers>=0.3.8->keybert) (1.24.3)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.8/dist-packages (from requests->huggingface-hub>=0.4.0->sentence-transformers>=0.3.8->keybert) (2022.12.7)\n", + "Building wheels for collected packages: keybert, sentence-transformers\n", + " Building wheel for keybert (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Created wheel for keybert: filename=keybert-0.7.0-py3-none-any.whl size=23800 sha256=17ed0f814c0d81b7f94b98e75e4a50fe5d779cf76888d92af34b502a07c22bf6\n", + " Stored in directory: /root/.cache/pip/wheels/6c/bc/8b/a51bee77aec33895e6c8c236144b4cc10875659c4d2c80f070\n", + " Building wheel for sentence-transformers (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Created wheel for sentence-transformers: filename=sentence_transformers-2.2.2-py3-none-any.whl size=125938 sha256=254896de1a4a07c5e26ab21ff92833362dc005c4790a2733f15ef7f23d7c53ab\n", + " Stored in directory: /root/.cache/pip/wheels/5e/6f/8c/d88aec621f3f542d26fac0342bef5e693335d125f4e54aeffe\n", + "Successfully built keybert sentence-transformers\n", + "Installing collected packages: sentencepiece, pygments, mdurl, markdown-it-py, rich, sentence-transformers, keybert\n", + " Attempting uninstall: pygments\n", + " Found existing installation: Pygments 2.6.1\n", + " Uninstalling Pygments-2.6.1:\n", + " Successfully uninstalled Pygments-2.6.1\n", + "\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n", + "ipython 7.9.0 requires jedi>=0.10, which is not installed.\u001b[0m\u001b[31m\n", + "\u001b[0mSuccessfully installed keybert-0.7.0 markdown-it-py-2.1.0 mdurl-0.1.2 pygments-2.14.0 rich-13.3.1 sentence-transformers-2.2.2 sentencepiece-0.1.97\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "from keybert import KeyBERT\n", + "from keyphrase_vectorizers import KeyphraseCountVectorizer" + ], + "metadata": { + "id": "vPm3Y5zQJums" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "#### synQA-question-generators\n", + "\n", + "Answer Aware model for Question Generation." + ], + "metadata": { + "id": "gK6mYiOGJums" + } + }, + { + "cell_type": "code", + "source": [ + "!pip install transformers\n", + "!pip install fairseq" + ], + "metadata": { + "id": "1J5qmKP2Jums", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "737acd16-d72b-4b89-d6cf-b0dcae9c761b" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", + "Requirement already satisfied: transformers in /usr/local/lib/python3.8/dist-packages (4.26.0)\n", + "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.8/dist-packages (from transformers) (6.0)\n", + "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.8/dist-packages (from transformers) (23.0)\n", + "Requirement already satisfied: huggingface-hub<1.0,>=0.11.0 in /usr/local/lib/python3.8/dist-packages (from transformers) (0.12.0)\n", + "Requirement already satisfied: tqdm>=4.27 in /usr/local/lib/python3.8/dist-packages (from transformers) (4.64.1)\n", + "Requirement already satisfied: tokenizers!=0.11.3,<0.14,>=0.11.1 in /usr/local/lib/python3.8/dist-packages (from transformers) (0.13.2)\n", + "Requirement already satisfied: numpy>=1.17 in /usr/local/lib/python3.8/dist-packages (from transformers) (1.21.6)\n", + "Requirement already satisfied: requests in /usr/local/lib/python3.8/dist-packages (from transformers) (2.25.1)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.8/dist-packages (from transformers) (3.9.0)\n", + "Requirement already satisfied: regex!=2019.12.17 in /usr/local/lib/python3.8/dist-packages (from transformers) (2022.6.2)\n", + "Requirement already satisfied: typing-extensions>=3.7.4.3 in /usr/local/lib/python3.8/dist-packages (from huggingface-hub<1.0,>=0.11.0->transformers) (4.4.0)\n", + "Requirement already satisfied: chardet<5,>=3.0.2 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (4.0.0)\n", + "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (2.10)\n", + "Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (1.24.3)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (2022.12.7)\n", + "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", + "Collecting fairseq\n", + " Downloading fairseq-0.12.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl (11.0 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m11.0/11.0 MB\u001b[0m \u001b[31m53.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: tqdm in /usr/local/lib/python3.8/dist-packages (from fairseq) (4.64.1)\n", + "Requirement already satisfied: numpy in /usr/local/lib/python3.8/dist-packages (from fairseq) (1.21.6)\n", + "Requirement already satisfied: torchaudio>=0.8.0 in /usr/local/lib/python3.8/dist-packages (from fairseq) (0.13.1+cu116)\n", + "Requirement already satisfied: cython in /usr/local/lib/python3.8/dist-packages (from fairseq) (0.29.33)\n", + "Collecting sacrebleu>=1.4.12\n", + " Downloading sacrebleu-2.3.1-py3-none-any.whl (118 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m118.9/118.9 KB\u001b[0m \u001b[31m14.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: regex in /usr/local/lib/python3.8/dist-packages (from fairseq) (2022.6.2)\n", + "Collecting bitarray\n", + " Downloading bitarray-2.6.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (240 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m240.4/240.4 KB\u001b[0m \u001b[31m10.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting hydra-core<1.1,>=1.0.7\n", + " Downloading hydra_core-1.0.7-py3-none-any.whl (123 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m123.8/123.8 KB\u001b[0m \u001b[31m12.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: cffi in /usr/local/lib/python3.8/dist-packages (from fairseq) (1.15.1)\n", + "Collecting omegaconf<2.1\n", + " Downloading omegaconf-2.0.6-py3-none-any.whl (36 kB)\n", + "Requirement already satisfied: torch in /usr/local/lib/python3.8/dist-packages (from fairseq) (1.13.1+cu116)\n", + "Collecting antlr4-python3-runtime==4.8\n", + " Downloading antlr4-python3-runtime-4.8.tar.gz (112 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m112.4/112.4 KB\u001b[0m \u001b[31m6.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + "Requirement already satisfied: importlib-resources in /usr/local/lib/python3.8/dist-packages (from hydra-core<1.1,>=1.0.7->fairseq) (5.10.2)\n", + "Requirement already satisfied: typing-extensions in /usr/local/lib/python3.8/dist-packages (from omegaconf<2.1->fairseq) (4.4.0)\n", + "Requirement already satisfied: PyYAML>=5.1.* in /usr/local/lib/python3.8/dist-packages (from omegaconf<2.1->fairseq) (6.0)\n", + "Collecting portalocker\n", + " Downloading portalocker-2.7.0-py2.py3-none-any.whl (15 kB)\n", + "Requirement already satisfied: tabulate>=0.8.9 in /usr/local/lib/python3.8/dist-packages (from sacrebleu>=1.4.12->fairseq) (0.8.10)\n", + "Requirement already satisfied: lxml in /usr/local/lib/python3.8/dist-packages (from sacrebleu>=1.4.12->fairseq) (4.9.2)\n", + "Collecting colorama\n", + " Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB)\n", + "Requirement already satisfied: pycparser in /usr/local/lib/python3.8/dist-packages (from cffi->fairseq) (2.21)\n", + "Requirement already satisfied: zipp>=3.1.0 in /usr/local/lib/python3.8/dist-packages (from importlib-resources->hydra-core<1.1,>=1.0.7->fairseq) (3.12.0)\n", + "Building wheels for collected packages: antlr4-python3-runtime\n", + " Building wheel for antlr4-python3-runtime (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Created wheel for antlr4-python3-runtime: filename=antlr4_python3_runtime-4.8-py3-none-any.whl size=141231 sha256=9c5408b6f59e95071c4e1eb4041c1990aac802c18bc027506fd9799776d3ce25\n", + " Stored in directory: /root/.cache/pip/wheels/c8/d0/ab/d43c02eaddc5b9004db86950802442ad9a26f279c619e28da0\n", + "Successfully built antlr4-python3-runtime\n", + "Installing collected packages: bitarray, antlr4-python3-runtime, portalocker, omegaconf, colorama, sacrebleu, hydra-core, fairseq\n", + "Successfully installed antlr4-python3-runtime-4.8 bitarray-2.6.2 colorama-0.4.6 fairseq-0.12.2 hydra-core-1.0.7 omegaconf-2.0.6 portalocker-2.7.0 sacrebleu-2.3.1\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "import requests\n", + "import tarfile\n", + "from tqdm import tqdm\n", + "import os\n", + "from fairseq.models.transformer import TransformerModel" + ], + "metadata": { + "id": "DlJqM50rJums" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "def download_synQA(url: str, fname: str, desc: str = None) -> None:\n", + " desc = desc if desc is not None else fname\n", + " resp = requests.get(url, stream=True)\n", + " total = int(resp.headers.get(\"content-length\", 0))\n", + " with open(fname, \"wb\") as file, tqdm(\n", + " desc=fname, total=total, unit=\"iB\", unit_scale=True, unit_divisor=1024\n", + " ) as bar:\n", + " for data in resp.iter_content(chunk_size=1024):\n", + " size = file.write(data)\n", + " bar.update(size)" + ], + "metadata": { + "id": "mfgDFY8eJums" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "def download_and_extract_synQA(MODEL_URL, MODELS_DIR):\n", + " for model_filename, url in MODEL_URL.items():\n", + " model_name = model_filename.split(\".\")[0]\n", + " model_tarfile_path = os.path.join(MODELS_DIR, model_filename)\n", + " model_dir = os.path.join(MODELS_DIR, model_name)\n", + "\n", + " if not os.path.exists(os.path.join(model_dir, \"checkpoint_best.pt\")):\n", + " if not os.path.exists(model_tarfile_path):\n", + " download_synQA(url, model_tarfile_path, url)\n", + "\n", + " # Extracting {model_filename} to {model_dir}\n", + " with tarfile.open(model_tarfile_path) as f:\n", + " # Get only the members with extensions (i.e. no directories)\n", + " members = [\n", + " m\n", + " for m in f.getmembers()\n", + " if os.path.splitext(os.path.join(model_dir, m.name))[-1]\n", + " ]\n", + " # Flatten (i.e. remove directory info)\n", + " for m in members:\n", + " m.name = os.path.basename(m.name)\n", + " # Extract\n", + " def is_within_directory(directory, target):\n", + " abs_directory = os.path.abspath(directory)\n", + " abs_target = os.path.abspath(target)\n", + " prefix = os.path.commonprefix([abs_directory, abs_target])\n", + " return prefix == abs_directory\n", + "\n", + " def safe_extract(tar, path=\".\", members=None, *, numeric_owner=False):\n", + " for member in tar.getmembers():\n", + " member_path = os.path.join(path, member.name)\n", + " if not is_within_directory(path, member_path):\n", + " raise Exception(\"Attempted Path Traversal in Tar File\")\n", + " tar.extractall(path, members, numeric_owner=numeric_owner)\n", + "\n", + " safe_extract(f, model_dir, members=members)\n", + "\n", + " # Remove tarfile\n", + " os.remove(model_tarfile_path)" + ], + "metadata": { + "id": "BnXaNvDgJums" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "#### t5_small\n", + "\n", + "Answer Agnostic model for generating Question-Answer pairs." + ], + "metadata": { + "id": "6scOL0-NJums" + } + }, + { + "cell_type": "code", + "source": [ + "!pip install transformers\n", + "!python -m nltk.downloader punkt\n", + "!git clone https://github.com/patil-suraj/question_generation.git" + ], + "metadata": { + "id": "sfuvXVK2Jumt", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "3cf4052d-3ac5-4b6d-c2b9-48429537e003" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", + "Requirement already satisfied: transformers in /usr/local/lib/python3.8/dist-packages (4.26.0)\n", + "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.8/dist-packages (from transformers) (23.0)\n", + "Requirement already satisfied: regex!=2019.12.17 in /usr/local/lib/python3.8/dist-packages (from transformers) (2022.6.2)\n", + "Requirement already satisfied: huggingface-hub<1.0,>=0.11.0 in /usr/local/lib/python3.8/dist-packages (from transformers) (0.12.0)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.8/dist-packages (from transformers) (3.9.0)\n", + "Requirement already satisfied: tqdm>=4.27 in /usr/local/lib/python3.8/dist-packages (from transformers) (4.64.1)\n", + "Requirement already satisfied: requests in /usr/local/lib/python3.8/dist-packages (from transformers) (2.25.1)\n", + "Requirement already satisfied: tokenizers!=0.11.3,<0.14,>=0.11.1 in /usr/local/lib/python3.8/dist-packages (from transformers) (0.13.2)\n", + "Requirement already satisfied: numpy>=1.17 in /usr/local/lib/python3.8/dist-packages (from transformers) (1.21.6)\n", + "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.8/dist-packages (from transformers) (6.0)\n", + "Requirement already satisfied: typing-extensions>=3.7.4.3 in /usr/local/lib/python3.8/dist-packages (from huggingface-hub<1.0,>=0.11.0->transformers) (4.4.0)\n", + "Requirement already satisfied: chardet<5,>=3.0.2 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (4.0.0)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (2022.12.7)\n", + "Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (1.24.3)\n", + "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (2.10)\n", + "/usr/lib/python3.8/runpy.py:127: RuntimeWarning: 'nltk.downloader' found in sys.modules after import of package 'nltk', but prior to execution of 'nltk.downloader'; this may result in unpredictable behaviour\n", + " warn(RuntimeWarning(msg))\n", + "[nltk_data] Downloading package punkt to /root/nltk_data...\n", + "[nltk_data] Unzipping tokenizers/punkt.zip.\n", + "Cloning into 'question_generation'...\n", + "remote: Enumerating objects: 268, done.\u001b[K\n", + "remote: Total 268 (delta 0), reused 0 (delta 0), pack-reused 268\u001b[K\n", + "Receiving objects: 100% (268/268), 299.04 KiB | 19.94 MiB/s, done.\n", + "Resolving deltas: 100% (140/140), done.\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "%cd question_generation\n", + "from pipelines import pipeline" + ], + "metadata": { + "id": "fMpNq6WAJumt", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "81cf08a5-dc30-4633-911d-1b97f8224528" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "/content/question_generation\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "#### Spacy\n", + "\n", + "NER Model which is used to decide which model is to be used for Question Generation." + ], + "metadata": { + "id": "3bjMkpZ_Jumt" + } + }, + { + "cell_type": "code", + "source": [ + "import spacy\n", + "from spacy.symbols import *\n", + "import spacy.cli\n", + "spacy.cli.download(\"en_core_web_sm\")" + ], + "metadata": { + "id": "_9BL2n6WJumt", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "be16cd1a-f85f-4b6c-fae8-b42b21c1ca7c" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "\u001b[38;5;2m✔ Download and installation successful\u001b[0m\n", + "You can now load the package via spacy.load('en_core_web_sm')\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "#### Other Imports" + ], + "metadata": { + "id": "o37fR_5DKA2F" + } + }, + { + "cell_type": "code", + "source": [ + "import csv\n", + "import json\n", + "import random\n", + "import pandas as pd\n", + "import pickle" + ], + "metadata": { + "id": "HA9-COPvJumt" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "### Question-Answer Generator Functions" + ], + "metadata": { + "id": "m--Fa5KRJumu" + } + }, + { + "cell_type": "code", + "source": [ + "def get_ans_phrases(kw_model, context, top_n=10, use_maxsum=True, diversity=0.2, nr_candidates=20):\n", + " contexts = [context]\n", + " keyphr = kw_model.extract_keywords(docs=contexts, vectorizer=KeyphraseCountVectorizer(), top_n = top_n, use_maxsum=True, diversity=0.2, nr_candidates=20)\n", + " keybert_phrases=[]\n", + " for i in range(len(keyphr)):\n", + " keybert_phrases.append(keyphr[i][0])\n", + " return keybert_phrases" + ], + "metadata": { + "id": "nX1hv1XlJumu" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "def convert_example_to_input(example):\n", + " ex_input_inner = f\" {SPECIAL_TOKENS['sep_token']} \".join(example)\n", + " ex_input = (\n", + " f\"{SPECIAL_TOKENS['bos_token']} {ex_input_inner} {SPECIAL_TOKENS['eos_token']}\"\n", + " )\n", + " return ex_input" + ], + "metadata": { + "id": "CFXk_4pCJumu" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "def clean_special_tokens(text):\n", + " for _, special_tok in SPECIAL_TOKENS.items():\n", + " text = text.replace(special_tok, \"\")\n", + " return text.strip()" + ], + "metadata": { + "id": "xfK82qZ5Jumu" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "def generate_using_synQA(context, generator, answer_phrases, num_questions):\n", + " s_ans = []\n", + " s_ques = []\n", + " for i in range(min(len(answer_phrases), num_questions)):\n", + " # if answer_phrases[i] not in context:\n", + " # print(f\"The answer provided ({answer_phrases[i]}) is not in the context.\")\n", + " example = [answer_phrases[i], context]\n", + " ex_input = convert_example_to_input(example)\n", + " ex_inputs = [ex_input]\n", + " for _ in range(1):\n", + " output = generator.translate(ex_inputs, **decode_params)\n", + " if isinstance(output, str):\n", + " clean_output = clean_special_tokens(output)\n", + " else:\n", + " clean_output = [clean_special_tokens(q) for q in output]\n", + " if len(clean_output) == 1:\n", + " clean_output = clean_output[0]\n", + " s_ans.append(answer_phrases[i])\n", + " s_ques.append(clean_output)\n", + " return s_ques, s_ans" + ], + "metadata": { + "id": "Nv0qX9VUJumv" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "def generate_using_t5(context, nlp):\n", + " s_ques = []\n", + " s_ans = []\n", + " result = nlp(context)\n", + " for i in result:\n", + " s_ques.append(i['question'])\n", + " s_ans.append(i['answer'][6:]) # Remove the initial tag.\n", + " return s_ques, s_ans" + ], + "metadata": { + "id": "kcW6os97Jumv" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "def get_answer_start(para, answer):\n", + " para = para.lower()\n", + " answer = answer.lower()\n", + " return (para.find(answer) + 1)" + ], + "metadata": { + "id": "Dvff5YG0Jumv" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "def generate_qa(input_data, spc, nlp, kw_model, kw_args, generator):\n", + " qid = 1 # Used for giving id to each question.\n", + " output = []\n", + " for theme in input_data:\n", + " obj = input_data[theme]\n", + " for id, para in obj:\n", + " phrase_extraction = spc(para)\n", + " if len(phrase_extraction.ents) == 0:\n", + " answer_phrases = get_ans_phrases(kw_model, para, top_n=kw_args['top_n'], use_maxsum=kw_args['use_maxsum'], diversity=kw_args['diversity'], nr_candidates=kw_args['nr_candidates'])\n", + " ques, ans = generate_using_synQA(para, generator, answer_phrases, num_questions = 5)\n", + " else:\n", + " ques, ans = generate_using_t5(para, nlp)\n", + " for i in zip(ques, ans):\n", + " row = [qid, theme, para, i[0], 'TRUE', [i[1]], [get_answer_start(para, i[1])]]\n", + " output.append(row)\n", + " qid += 1\n", + " df = pd.DataFrame(output, columns=['id', 'Theme', 'Paragraph', 'Question', 'Answer_possible', 'Answer_text', 'Answer_start'])\n", + " return df" + ], + "metadata": { + "id": "PlKzkLx9Jumv" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "### Load Test Data" + ], + "metadata": { + "id": "gTJHEIhdBC2A" + } + }, + { + "cell_type": "code", + "source": [ + "!gdown 1RAD2mJbz4yQddZZaUvXDWQC6Okar-QVh" + ], + "metadata": { + "id": "Dv-nQ19TBGEf", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "cacf6d42-70e0-438a-80d8-d4238968b9a1" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Downloading...\n", + "From: https://drive.google.com/uc?id=1RAD2mJbz4yQddZZaUvXDWQC6Okar-QVh\n", + "To: /content/question_generation/paragraphs.csv\n", + "\r 0% 0.00/704k [00:00',\n", + " 'eos_token': '
',\n", + " 'sep_token': ''\n", + "}" + ], + "metadata": { + "id": "0jHidWoUH_WN", + "cellView": "form" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "#@title Get Input Paragraphs\n", + "paragraphs = json.loads(pd.read_csv(\"paragraphs.csv\").to_json(orient=\"records\"))\n", + "theme_wise_para = test_to_theme_wise(paragraphs)\n", + "with open('/content/gdrive/MyDrive/Colab Notebooks/Final/new_themes', \"rb\") as fp: # Unpickling\n", + " keys = pickle.load(fp)\n", + "keys_available = len(theme_wise_para.keys())\n", + "input_data = {k:theme_wise_para[k] for k in keys}" + ], + "metadata": { + "id": "_GluRQWBGASG", + "cellView": "form", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "6b41a2e5-f349-4cb1-b164-1e96c441f6db" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "{'DevRev': [[1159,\n", + " 'Welcome to DevRev PLuG platform! Our goal is to provide an easy to use experience that empowers your end users and customer facing teams with ready access to relevant information to enable more effective communication. This document provides definitions of some key components of the platform. PLuG: This refers to the part of the platform that directly enables communication with and understanding of your end users. This includes your customer success and support teams. PLuG is not an exact acronym but can be interpreted as Product-Led User Growth.'],\n", + " [1160,\n", + " \"Conversations refer to the communication chains you have with your rev users. They begin in the DevRev PLuG widget, which enables live chat within customers' apps with just a few lines of code. Unlike most platforms, customer conversations are no longer siloed to just front-office support, sales, and customer success staff. Instead, they are accessible to everyone in the dev org through the PLuG inbox. The service-level metric for a conversation is time to response. You can add a title to your conversations as well as members from your own dev org and other members from the user's rev org without starting a new thread or email chain. Because there can be many tickets attached to a single conversation, there is no need to start a new thread for new topics either.\"],\n", + " [1161,\n", + " 'A conversation is typically started by rev user. It may be a short interaction, such as a quick question about a sale, that does not require a ticket. If a conversation takes more than 5 mins to close, we recommend that you open one or more tickets. A conversation could also contain one or more items that you would want to capture in a ticket. A ticket is used to capture anything that you may need to follow up on from a conversation, which could be bugs, feature requests, or anything in between. A ticket is associated with a part of the product and can come from either an internal or an external user.'],\n", + " [1162,\n", + " 'Later on, a software engineer may start work on this ticket by creating an issue and breaking that issue into smaller pieces with tasks. An issue describes what the developer will work on and is created or accepted by someone who owns or works on the associated part of the product. This distinction allows developers to break up a ticket from a rev user into issues as they see fit and delegate the work to other team members as necessary. Tickets and issues are linked in many-to-many relationships. It may require multiple issues to resolve a ticket, or one issue may resolve multiple tickets if different rev users experience and describe the same behavior in different ways.'],\n", + " [1163,\n", + " \"DevRev proactively gets ahead of duplicate work during the work creation process using work deflection. As you're creating a new work item, the Similar Work modal appears and presents potential duplicates. You can also use this modal to link the work you're creating to other work, if appropriate. In traditional systems of record, duplicate work is rampant, and maintenance of the backlog can be an entire job itself. Huge engineering backlogs can have detrimental effects on developers, morale, and velocity. One way DevRev gets ahead of that is with work deflection.\"],\n", + " [1164,\n", + " 'A part is a related piece of a product or service that has a lifecycle (creation, operation, evolution, deprecation), and can be recursively made of smaller parts. Events and work items must be related to parts. In general, parts are the core objects that almost all other objects will link to, which helps enforce the notion of tying everything back to the product or service. There are two core categories of parts: rev parts and dev parts. Rev parts relate to how a product is expressed, integrated, or consumed. These parts may be consumed by external customers (revs) or internal employees (devs). Although they may also be provided/enabled by dev parts running internally, the customer just sees the product, service or feature they are interacting with. Rev parts may also be abstractions on other rev parts exposed by 3rd parties (such as Auth0 or s3). For example, in the digital world, rather than integrating with code or packages, they may integrate with APIs. Dev parts are those built internally related to code or something the developer relies on or builds, or a service provided by an or. These may be runnables that may expose APIs or linkables that may be used in other services (such as utils or libraries). Though they may provide the functionality exposed and interacted with by the customer, they are often abstracted and unknown to the user.'],\n", + " [1165,\n", + " 'A feature exists under a capability (or feature for sub-features) and is commonly a unit of configuration or \"knobs\" in a capability. Features typically have the following characteristics: Exist under a capability (or feature for sub-features) Provide a unit of configuration (adjective) for entities managed by the capability Enable version history (adjective) on object May provide a subset of the API namespace Are interacted with only inside the context of the capability or not directly interacted with at all The following figure shows some sample DevRev product features.'],\n", + " [1166,\n", + " 'A runnable is a dev part and is something that can be instantiated or do something. Example runnables may be macroservices, microservices, o functions (lambdas). Runnables are things that have some direct execution or lifespan. A runnable may serve one or more features and/or capabilities. Runnables typically have the following characteristics: Are a unit of functionality that can be deployed independently or as part of a larger system Have an execution lifecycle be it short (lambda/function) or long (microservice) Expose an API Are interacted with directly via an API or UI Are published in a service registry or load balancer Example runnables: Docker image Lambda bundle'],\n", + " [1167,\n", + " 'A linkable is a unit of functionality that is designed to be part of a system or application and not used directly. These commonly refer to things like libraries or utils that may be leveraged by multiple runnables. Components typically have the following characteristics: Linkable items are commonly used as libraries or binary artifacts Not commonly exposed to the consumer (but can be) Are intended to be used as part of larger services, not on their own'],\n", + " [1168,\n", + " 'Example linkable parts: library DLL Golang package Example DevRev Linkables: all clients (e.g. partiql-client, codex-client, mfz-client) shared (logging, etc.)'],\n", + " [1169,\n", + " \"Trails is an extensible interface that allows you to view and manage your part hierarchy and related items. Think of it like a graph canvas that is rendering linkages between items making them easier to navigate and summarize. The following image shows an example of DevRev's trails view.\"],\n", + " [1170,\n", + " 'The customer will need to opt into Parts Discovery since it is still a beta offering. The customer can use any or all of the following options to seed DevRev parts discovery with data. Custom File Upload You can provide information about the API paths, services, and routing rules using a custom_routing.json file that implements a simple schema. Following is an example of the custom file and the corresponding trail showing the parts discovered through it:'],\n", + " [1171,\n", + " 'Features are discovered by analyzing OpenAPI specification files found in the git repository integrated with the DevRev App. Kubernetes-based Discovery The Trail can be discovered by installing the DevRev Kubernetes Collector on your cluster. Parts Discovery algorithm relies on the Feature APIs exposed via the Kubernetes Ingress context. The helm charts to install the collector along with the instructions to install are available via our git repository here. Our collector is a lightweight cronjob which runs once in 6 hours and consumes minimum resources. We cap our utilization and expose the limits in a public helm value file.'],\n", + " [1172,\n", + " 'Your customers (revs) and their identity are a crucial part of the DevRev offering and ecosystem. Conversations on DevRev rely on rev identity to capture information about the customer initiating the conversation. Similarly, tickets on DevRev can capture who the ticket was reported by (or reported for).'],\n", + " [1173,\n", + " \"Integrations DevRev's integrations like Slack for Support, Support with Email are additional channels available with DevRev's Omnichannel Support offering. APIs or UI Apart from automatic ingestion, new customer records can also be created manually using APIs or UI. With DevRev's APIs, you can create automations to ensure your customer records in DevRev stay in sync with your primary customer data.\"],\n", + " [1174,\n", + " \"While ingesting customer identity into DevRev, it's important that customer information coming across channels is matched to the same record. For example, a customer record created by you using APIs should get resolved and matched when the same customer engages with you on the PLuG widget for a support interaction. This is achieved by using the external reference provided by you when creating customer identity.\"],\n", + " [1175,\n", + " 'Adding new Customers# Customer records offer a place to do the following: Find all conversations and tickets linked to a customer in one view. Have internal discussions related to a customer. Add description or notes about a customer. Assign and owner or tags to the record for your front-office processes.'],\n", + " [1176,\n", + " 'Apart from customer records that get automatically created from your PLuG integration, new customer records can be created through the UI. New customers can be added to the DevRev system directly from the Customers page. While creating new customer records, be sure to specify the External Ref so customer information coming from other channels (like PLuG) can be matched to the right customer record.'],\n", + " [1177,\n", + " 'Authentication to DevRev APIs requires a personal access token (PAT). A PAT is used to uniquely identify a dev user in context of a dev org and can be used by external third-party applications to access DevRev APIs on behalf of the corresponding dev user. A PAT has the same set of privileges that the owner of the PAT has on the DevRev platform. The validity duration of a PAT is set when it is created. You cannot renew a PAT; you can only create a new PAT and update your code to use it. For example, a VS Code plugin that pulls issues from the DevRev platform pertaining to a particular dev user will need to rely on that user’s PAT to authenticate the DevRev APIs. If you are receiving an invalid token error, you can check whether the token is valid at jwt.io.'],\n", + " [1178,\n", + " 'Generate a Personal Access Token (PAT)# In the DevRev app, go to the relevant dev org. Go to DevOrg Settings > Account > Personal Access Token. Click New token and follow the workflow to create your PAT. As the token value is not retrievable later, we recommend using descriptive names for PATs as it can help you differentiate between multiple PATs.'],\n", + " [1179,\n", + " 'Revoke a Personal Access Token# Caution: Once a PAT is revoked, it cannot be restored. In the DevRev app, go to the relevant dev org. Go to DevOrg Settings > Account > Personal Access Token. Click Revoke next to the PAT you wish to revoke. You can also click the Revoke all button to revoke all the tokens which you have previously generated.']],\n", + " 'Unknown': [[1153,\n", + " 'Abc was born in Bcgehi. He was 5 years old when he came across Symghi technology.'],\n", + " [1154,\n", + " 'Abc drew inspiration from Symghi tech and went on to design Kubernetes, but the Cloud Native Computing Foundation now maintains the project.'],\n", + " [1155,\n", + " 'After going away from the Kubernetes project, Abc went to Ddru island for sabatical for an year.'],\n", + " [1156,\n", + " 'Coming back from sabatical, Abc went on to design a generative text model named RoverGPT in year 2056.'],\n", + " [1157,\n", + " 'RoverGPT gained a lot of popularity and reached 1M AUR within 5 years of its release. Here, AUR means active user of rover.'],\n", + " [1158,\n", + " 'But Abc was still not satisfied and shuts down RoverGPT in year 2065.']]}" + ] + }, + "metadata": {}, + "execution_count": 24 + } + ] + }, + { + "cell_type": "code", + "source": [ + "#@title Set Hyperparameters for KeyBert Model\n", + "\n", + "kw_args = {}\n", + "kw_args['top_n'] = 10 #@param {type:'number'}\n", + "kw_args['use_maxsum'] = True #@param [\"True\", \"False\"]\n", + "kw_args['diversity'] = 0.2 #@param {type:'number'}\n", + "kw_args['nr_candidates'] = 20 #@param {type:'number'}" + ], + "metadata": { + "cellView": "form", + "id": "25CNIAtkgAVg" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "qa_output = generate_qa(input_data, spc, nlp, kw_model, kw_args, generator)" + ], + "metadata": { + "id": "JR8gnOmYhBTP", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 435 + }, + "outputId": "ba860f45-4d33-4d38-debd-fd821303753d" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "2023-02-05 15:13:51,849 - KeyphraseVectorizer - INFO - It looks like you do not have downloaded a list of stopwords yet. It is attempted to download the stopwords now.\n", + "INFO:KeyphraseVectorizer:It looks like you do not have downloaded a list of stopwords yet. It is attempted to download the stopwords now.\n", + "[nltk_data] Downloading package stopwords to /root/nltk_data...\n", + "[nltk_data] Unzipping corpora/stopwords.zip.\n" + ] + }, + { + "output_type": "error", + "ename": "KeyboardInterrupt", + "evalue": "ignored", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mqa_output\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mgenerate_qa\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minput_data\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mspc\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnlp\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkw_model\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkw_args\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mgenerator\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;32m\u001b[0m in \u001b[0;36mgenerate_qa\u001b[0;34m(input_data, spc, nlp, kw_model, kw_args, generator)\u001b[0m\n\u001b[1;32m 10\u001b[0m \u001b[0mques\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mans\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mgenerate_using_synQA\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpara\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mgenerator\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0manswer_phrases\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnum_questions\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m5\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 11\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 12\u001b[0;31m \u001b[0mques\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mans\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mgenerate_using_t5\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpara\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnlp\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 13\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mzip\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mques\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mans\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 14\u001b[0m \u001b[0mrow\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mqid\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtheme\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpara\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mi\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'TRUE'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mget_answer_start\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpara\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mi\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m\u001b[0m in \u001b[0;36mgenerate_using_t5\u001b[0;34m(context, nlp)\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0ms_ques\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0ms_ans\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 4\u001b[0;31m \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnlp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcontext\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 5\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mresult\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0ms_ques\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'question'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/content/question_generation/pipelines.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(self, inputs)\u001b[0m\n\u001b[1;32m 61\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 62\u001b[0m \u001b[0mqg_inputs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mexample\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'source_text'\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mexample\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mqg_examples\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 63\u001b[0;31m \u001b[0mquestions\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_generate_questions\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mqg_inputs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 64\u001b[0m \u001b[0moutput\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m{\u001b[0m\u001b[0;34m'answer'\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mexample\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'answer'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'question'\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mque\u001b[0m\u001b[0;34m}\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mexample\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mque\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mzip\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mqg_examples\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mquestions\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 65\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0moutput\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/content/question_generation/pipelines.py\u001b[0m in \u001b[0;36m_generate_questions\u001b[0;34m(self, inputs)\u001b[0m\n\u001b[1;32m 68\u001b[0m \u001b[0minputs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_tokenize\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minputs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpadding\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtruncation\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 69\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 70\u001b[0;31m outs = self.model.generate(\n\u001b[0m\u001b[1;32m 71\u001b[0m \u001b[0minput_ids\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0minputs\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'input_ids'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mto\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdevice\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 72\u001b[0m \u001b[0mattention_mask\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0minputs\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'attention_mask'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mto\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdevice\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.8/dist-packages/torch/autograd/grad_mode.py\u001b[0m in \u001b[0;36mdecorate_context\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 25\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mdecorate_context\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 26\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mclone\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 27\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 28\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mcast\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mF\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdecorate_context\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 29\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.8/dist-packages/transformers/generation/utils.py\u001b[0m in \u001b[0;36mgenerate\u001b[0;34m(self, inputs, generation_config, logits_processor, stopping_criteria, prefix_allowed_tokens_fn, synced_gpus, **kwargs)\u001b[0m\n\u001b[1;32m 1472\u001b[0m )\n\u001b[1;32m 1473\u001b[0m \u001b[0;31m# 13. run beam search\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1474\u001b[0;31m return self.beam_search(\n\u001b[0m\u001b[1;32m 1475\u001b[0m \u001b[0minput_ids\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1476\u001b[0m \u001b[0mbeam_scorer\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.8/dist-packages/transformers/generation/utils.py\u001b[0m in \u001b[0;36mbeam_search\u001b[0;34m(self, input_ids, beam_scorer, logits_processor, stopping_criteria, max_length, pad_token_id, eos_token_id, output_attentions, output_hidden_states, output_scores, return_dict_in_generate, synced_gpus, **model_kwargs)\u001b[0m\n\u001b[1;32m 2801\u001b[0m \u001b[0mcur_len\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcur_len\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2802\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2803\u001b[0;31m \u001b[0;32mif\u001b[0m \u001b[0mbeam_scorer\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mis_done\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0mstopping_criteria\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minput_ids\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mscores\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2804\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0msynced_gpus\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2805\u001b[0m \u001b[0;32mbreak\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mKeyboardInterrupt\u001b[0m: " + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "qa_output.to_csv(\"/content/gdrive/MyDrive/Colab Notebooks/Final/synthetic_data.csv\", index=False)" + ], + "metadata": { + "id": "3r7Gm9KnHXao" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## Further Finetuning" + ], + "metadata": { + "id": "kcE3Jf5cXlkS" + } + }, + { + "cell_type": "markdown", + "source": [ + "### Mount Google Drive" + ], + "metadata": { + "id": "wnG45ws_K-U_" + } + }, + { + "cell_type": "code", + "source": [ + "from google.colab import drive\n", + "drive.mount('/content/gdrive')" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "F-14ySh8K-U_", + "outputId": "0161c4c0-e00a-427b-d170-823b96cc5cf6" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Drive already mounted at /content/gdrive; to attempt to forcibly remount, call drive.mount(\"/content/gdrive\", force_remount=True).\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "BP9zL3QqK-U_" + }, + "source": [ + "### Imports\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "mHlaVVx8K-U_" + }, + "outputs": [], + "source": [ + "%%capture\n", + "!pip install datasets\n", + "!pip install -U transformers\n", + "!apt install git-lfs\n", + "!pip install optimum\n", + "!pip install onnx" + ] + }, + { + "cell_type": "code", + "source": [ + "!pip install onnxruntime" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "1D6XniF1PJ0C", + "outputId": "1ece517b-dbcb-4e8d-89d8-56227e6e97b6" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", + "Collecting onnxruntime\n", + " Downloading onnxruntime-1.13.1-cp38-cp38-manylinux_2_27_x86_64.whl (4.5 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m4.5/4.5 MB\u001b[0m \u001b[31m77.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: packaging in /usr/local/lib/python3.8/dist-packages (from onnxruntime) (23.0)\n", + "Requirement already satisfied: protobuf in /usr/local/lib/python3.8/dist-packages (from onnxruntime) (3.20.3)\n", + "Requirement already satisfied: sympy in /usr/local/lib/python3.8/dist-packages (from onnxruntime) (1.7.1)\n", + "Requirement already satisfied: numpy>=1.21.6 in /usr/local/lib/python3.8/dist-packages (from onnxruntime) (1.21.6)\n", + "Requirement already satisfied: flatbuffers in /usr/local/lib/python3.8/dist-packages (from onnxruntime) (1.12)\n", + "Requirement already satisfied: coloredlogs in /usr/local/lib/python3.8/dist-packages (from onnxruntime) (15.0.1)\n", + "Requirement already satisfied: humanfriendly>=9.1 in /usr/local/lib/python3.8/dist-packages (from coloredlogs->onnxruntime) (10.0)\n", + "Requirement already satisfied: mpmath>=0.19 in /usr/local/lib/python3.8/dist-packages (from sympy->onnxruntime) (1.2.1)\n", + "Installing collected packages: onnxruntime\n", + "Successfully installed onnxruntime-1.13.1\n" + ] + } + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "fQe3FJEyK-U_" + }, + "outputs": [], + "source": [ + "import json\n", + "import pickle\n", + "import torch\n", + "import nltk\n", + "import pandas as pd\n", + "from sklearn.model_selection import train_test_split\n", + "from transformers import TrainingArguments, Trainer, AutoTokenizer, BertTokenizerFast, BertForQuestionAnswering, AutoModelForQuestionAnswering\n", + "import transformers\n", + "from transformers import pipeline\n", + "from datasets import load_dataset, load_metric\n", + "from transformers import default_data_collator\n", + "from torch.utils.data import DataLoader\n", + "from transformers import get_scheduler\n", + "from transformers import AdamW\n", + "from tqdm.auto import tqdm\n", + "from transformers import AutoTokenizer\n", + "from optimum.onnxruntime import ORTOptimizer\n", + "from optimum.onnxruntime.configuration import OptimizationConfig\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "vna4EOM2K-VA" + }, + "source": [ + "### Load Data" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "Z5K4VvSYK-VA" + }, + "outputs": [], + "source": [ + "def loaddataset(path):\n", + " f = pd.read_csv(path)\n", + " train, test = train_test_split(f, test_size=0.2)\n", + " train.to_csv(\"train.csv\")\n", + " test.to_csv(\"test.csv\")\n", + " data_files = {\"train\": \"train.csv\", \"test\": \"test.csv\"}\n", + " dataset = load_dataset(\"csv\", data_files=data_files)\n", + " return dataset" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "GZ6H68opK-VA" + }, + "source": [ + "### Helper Functions\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "js2byq5AK-VA" + }, + "source": [ + "#### Device Setup\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "5Pq4nWULK-VA" + }, + "outputs": [], + "source": [ + "#setting up global variables\n", + "model_name = \"PremalMatalia/electra-base-best-squad2\"\n", + "batch_size = 8\n", + "max_length = 384 # The maximum length of a feature (question and context)\n", + "doc_stride = 128 # The authorized overlap between two part of the context when splitting it is needed.\n", + "data_collator = default_data_collator" + ] + }, + { + "cell_type": "code", + "source": [ + "def setup_device(model_name):\n", + " device = torch.device('cuda') if torch.cuda.is_available() else torch.device('cpu')\n", + " tokenizer = AutoTokenizer.from_pretrained(model_name)\n", + " assert isinstance(tokenizer, transformers.PreTrainedTokenizerFast), \"Fast Tokenizer Needed\"\n", + " model = AutoModelForQuestionAnswering.from_pretrained(model_name)\n", + " pad_on_right = tokenizer.padding_side == \"right\"\n", + " model.to(device)\n", + " return model, tokenizer, pad_on_right" + ], + "metadata": { + "id": "bSxAnP6JK-VA" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "5N7ng3VoK-VA" + }, + "source": [ + "#### Preprocessing for FineTuning\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "OvuLhUrtK-VA" + }, + "outputs": [], + "source": [ + "def preprocess_for_training(dataset, tokenizer, pad_on_right):\n", + " dataset[\"Question\"] = [q.lstrip() for q in dataset[\"Question\"]]\n", + "\n", + " tokenized_examples = tokenizer(\n", + " dataset[\"Question\" if pad_on_right else \"Paragraph\"],\n", + " dataset[\"Paragraph\" if pad_on_right else \"Qustion\"],\n", + " truncation=\"only_second\" if pad_on_right else \"only_first\",\n", + " max_length=max_length,\n", + " stride=doc_stride,\n", + " return_overflowing_tokens=True,\n", + " return_offsets_mapping=True,\n", + " padding=\"max_length\",\n", + " )\n", + " sample_mapping = tokenized_examples.pop(\"overflow_to_sample_mapping\")\n", + " offset_mapping = tokenized_examples.pop(\"offset_mapping\")\n", + " # print(sample_mapping, offset_mapping)\n", + " # Let's label those examples!\n", + " tokenized_examples[\"start_positions\"] = []\n", + " tokenized_examples[\"end_positions\"] = []\n", + "\n", + " for i, offsets in enumerate(offset_mapping):\n", + " input_ids = tokenized_examples[\"input_ids\"][i]\n", + " cls_index = input_ids.index(tokenizer.cls_token_id)\n", + " #! WORKS\n", + "\n", + " sequence_ids = tokenized_examples.sequence_ids(i)\n", + " sample_index = sample_mapping[i]\n", + " answers = {\n", + " 'text' : (dataset[\"Answer_text\"][sample_index]),\n", + " 'answer_start' : [int(dataset[\"Answer_start\"][sample_index][1:-1])] if dataset[\"Answer_start\"][sample_index][1:-1] != '' else []\n", + " }\n", + " if len(answers[\"answer_start\"]) == 0:\n", + " tokenized_examples[\"start_positions\"].append(cls_index)\n", + " tokenized_examples[\"end_positions\"].append(cls_index)\n", + " else:\n", + " # Start/end character index of the answer in the text.\n", + " start_char = answers[\"answer_start\"][0]\n", + " end_char = start_char + len(answers[\"text\"]) - 4\n", + " token_start_index = 0\n", + " while sequence_ids[token_start_index] != (1 if pad_on_right else 0):\n", + " token_start_index += 1\n", + "\n", + " # End token index of the current span in the text.\n", + " token_end_index = len(input_ids) - 1\n", + " while sequence_ids[token_end_index] != (1 if pad_on_right else 0):\n", + " token_end_index -= 1\n", + " if not (offsets[token_start_index][0] <= start_char and offsets[token_end_index][1] >= end_char):\n", + " tokenized_examples[\"start_positions\"].append(cls_index)\n", + " tokenized_examples[\"end_positions\"].append(cls_index)\n", + " else:\n", + " # Otherwise move the token_start_index and token_end_index to the two ends of the answer.\n", + " # Note: we could go after the last offset if the answer is the last word (edge case).\n", + " while token_start_index < len(offsets) and offsets[token_start_index][0] <= start_char:\n", + " token_start_index += 1\n", + " tokenized_examples[\"start_positions\"].append(token_start_index - 1)\n", + " while offsets[token_end_index][1] >= end_char:\n", + " token_end_index -= 1\n", + " tokenized_examples[\"end_positions\"].append(token_end_index + 1)\n", + "\n", + " return tokenized_examples\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "LWX-AgFXK-VB" + }, + "source": [ + "#### Finetuning" + ] + }, + { + "cell_type": "code", + "source": [ + "def optimize_model(model_path):\n", + " for i in range(10):\n", + " try:\n", + " ort_model = ORTModelForQuestionAnswering.from_pretrained(model_path, from_transformers=True, provider=\"CUDAExecutionProvider\")\n", + " except:\n", + " continue\n", + " else:\n", + " break\n", + " optimizer = ORTOptimizer.from_pretrained(ort_model)\n", + " optimization_config = OptimizationConfig(optimization_level=99)\n", + " optimizer.optimize(save_dir=model_path, optimization_config=optimization_config)" + ], + "metadata": { + "id": "lvkKeSfEK-VB" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "y502AeUtK-VB" + }, + "outputs": [], + "source": [ + "def fine_tune_using_api(model, tokenizer, pad_on_right, cluster = 0, learning_rate = 7e-7, epochs = 4, scheduler = 'linear'):\n", + " dataset = loaddataset(\"/content/gdrive/MyDrive/Colab Notebooks/Final/synthetic_data.csv\")\n", + " #Training Args\n", + " model_name_ = model_name.split(\"/\")[-1]\n", + " args = TrainingArguments(\n", + " f\"{model_name_}-finetuned-squad-{cluster}-trainedfor-{epochs}\",\n", + " evaluation_strategy = \"epoch\",\n", + " learning_rate=learning_rate,\n", + " per_device_train_batch_size=batch_size,\n", + " per_device_eval_batch_size=batch_size,\n", + " lr_scheduler_type = \"linear\",\n", + " optim = \"adamw_hf\",\n", + " # warmup_proportion = 0.2,\n", + " num_train_epochs=epochs,\n", + " weight_decay=0.01,\n", + " save_strategy = \"no\",\n", + " push_to_hub=False,\n", + " )\n", + " tokenized_datasets = dataset.map(lambda x : preprocess_for_training(x, tokenizer, pad_on_right), batched=True, remove_columns=dataset[\"train\"].column_names)\n", + " trainer = Trainer(\n", + " model,\n", + " args,\n", + " train_dataset=tokenized_datasets[\"train\"],\n", + " eval_dataset=tokenized_datasets[\"test\"],\n", + " data_collator=data_collator,\n", + " tokenizer=tokenizer,\n", + " )\n", + " trainer.train()\n", + " trainer.save_model(f\"/content/gdrive/MyDrive/Colab Notebooks/Final/{model_name_}-finetuned-squad-{cluster}\")\n", + " optimize_model(f\"/content/gdrive/MyDrive/Colab Notebooks/Final/{model_name_}-finetuned-squad-{cluster}\")\n", + " return model" + ] + }, + { + "cell_type": "markdown", + "source": [ + "### Main" + ], + "metadata": { + "id": "ntnGakP6K-VB" + } + }, + { + "cell_type": "code", + "source": [ + "for i in range(1):\n", + " model, tokenizer, pad_on_right = setup_device(model_name)\n", + " fine_tune_using_api(model, tokenizer, pad_on_right, cluster = 0, learning_rate = 7e-7, epochs = 4, scheduler = 'linear')" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 827, + "referenced_widgets": [ + "d3773a7e74224e48891f9308e177e9d7", + "7d48a0bfa50847529dd478d5ea121298", + "34953ac98cdf4c189d0cbc9546f40da3", + "9621d144941540d7b1dfc4dfdcd49e49", + "e7a82f8e15c342a883296d93284bd1ea", + "c10c94daeb914f54afba35a383c79cba", + "63ab639c624e443faa9328e5c1db950c", + "8a60430c7b9347729bded0521988b41a", + "3a69f3fe8ebd46c6aa9ed4c4c9a787ff", + "7bdd3b8e2f674b8b9762aa5c3bce43c7", + "7cac04f67ad94682bfe0ebec28b09724", + "bfbfa2b6b7924b58bb2662d01ef3aa2a", + "14e052da4fc34abfa6588f235c5e0693", + "f6f9f6660d2b42629da4a99090dd0591", + "8ab259dd59124e01a91a7aeb0f9dd90f", + "debeeedef4674ae4b66d1bbc7a1f7f7a", + "a5a65a328dba4946a597717314c295bc", + "777a695b711a459896cccb6068579ee2", + "9ff42f2a16c1401786051504985b960e", + "6d9700aa23154c59bdb37104284638a9", + "a6f0992ad8b74900a0e7b47829ff1ba9", + "0f6b49abc7fe47eab324b66a59f5f73f", + "e1b528e0e2634912a848c382cef7d446", + "73da950916b0448a8f9d26257f6dfdc9", + "3e5b193ab66a44c2a3f437779380d190", + "97f5dca7a1124c93a371af54247ddafe", + "74780bf716de4e9ab4dd557b8e0ba369", + "dd5a03574ed5406586e76260e43526da", + "9228be25539b4038a85e885afee25ba8", + "6c1ad43f31a04c60875ab261bb788696", + "2a804f2ca96e4a5cb8c6dfe2dc5504b7", + "2400e2f72ce94e0ab5f9c8da7150a59b", + "958f9f56cb0542dc8e0711ccd1631b39", + "54120104915344638c71f433d78717bf", + "ecaf7b13dbde4a4582e30b1ddbb48de3", + "33fc36ee0c2e48db8911a418d1f097d5", + "93926979e4ab4af98cf6e55fbce13e0c", + "e09dd5ca52e44a1e880a86d99e6e5661", + "c913a5bdb86a4d0bb56dabca50a2464d", + "e183390684cd4e539b8af9723aa0d87d", + "ac6db5f390134b28890c747aaa9d2997", + "ca7bc519044e46fcabc7b8a5df61cc4a", + "d77393d4af3f4c40b5f4e2b96ee098b3", + "06253d68a1d9419387403e7091e45b00", + "94d6da6b9d8e481f94dd9c997fa8a8aa", + "895d37502e8c4e5abae22a02818fa4d4", + "2ba42c8510f2495faa830b6c865c0f71", + "c311b1118a1c41cf99716dfce72e1484", + "2619f81a06d84ad2bed53c3ba6de45f1", + "ba87ec97784b45318d132a5de128e9e2", + "2cf7ab309070425e82ccbc19dd32cf5d", + "b569f02afc7e45c68b4d85f119b3ac0c", + "94831ae081324b418157d75d6257bccd", + "57504cf16cad42f0bfb0865164b8e2de", + "a589d15010314b7f805a13c6f11545f6", + "6f2ce04309ed4641a7eddbe1f56459bc", + "30dde65cebdc474ebdd0b0b02653f1de", + "769bacb626c94efe8eff1065dd48d168", + "acf7bf3d3afa4d5893fd043b12be4fff", + "cc02494ae7944b989dbd65443d63e003", + "2f612cb1006947b999708fd0409fa34e", + "7c4f793b01cc462d88bdeb2dc347a6af", + "15ba34e91ec04453934e57e194877210", + "f5c632a336f14554afc5bff54535cb8d", + "4fc7773178d848268023f8a508b5d652", + "8a8f44db920c4232a6142cdf45b84d67", + "edd15e8996f84cac87ada11501cb44b9", + "ec44dffc1d5e42d9a260fb752358c67e", + "f6fb07afd7e04e0bacef997c088bf3c9", + "4e229e7be3bf44c5a820088253946e2a", + "90fb27e38fa746b8bf3da2161ee94fb5", + "bc1c5890244c4918a6d923132cbe4abd", + "fc1409287d904c5b840a66ea58df4b7f", + "77bcc49e0ef74d09814e6a8c540083f7", + "e14dbdfe59834647845b5bd30af40953", + "b528dbefd64a4908bf7b8a5206d3eb16", + "d0373a8397084cd28ca8a0cc09512b50" + ] + }, + "id": "t6Gmg0MbK-VB", + "outputId": "77da3398-a421-4750-a64a-9ccd2edff028" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "WARNING:datasets.builder:Using custom data configuration default-ae1748224ecd7de4\n" + ] + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Downloading and preparing dataset csv/default to /root/.cache/huggingface/datasets/csv/default-ae1748224ecd7de4/0.0.0/6b34fb8fcf56f7c8ba51dc895bfa2bfbe43546f190a60fcf74bb5e8afdcc2317...\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "Downloading data files: 0%| | 0/2 [00:00" + ], + "text/html": [ + "\n", + "
\n", + " \n", + " \n", + " [14/76 00:06 < 00:35, 1.77 it/s, Epoch 0.68/4]\n", + "
\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
EpochTraining LossValidation Loss

" + ] + }, + "metadata": {} + }, + { + "output_type": "error", + "ename": "KeyboardInterrupt", + "evalue": "ignored", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0mmodel\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtokenizer\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpad_on_right\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0msetup_device\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmodel_name\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0mfine_tune_using_api\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmodel\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtokenizer\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpad_on_right\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcluster\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlearning_rate\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m7e-7\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mepochs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m4\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mscheduler\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m'linear'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;32m\u001b[0m in \u001b[0;36mfine_tune_using_api\u001b[0;34m(model, tokenizer, pad_on_right, cluster, learning_rate, epochs, scheduler)\u001b[0m\n\u001b[1;32m 26\u001b[0m \u001b[0mtokenizer\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mtokenizer\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 27\u001b[0m )\n\u001b[0;32m---> 28\u001b[0;31m \u001b[0mtrainer\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtrain\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 29\u001b[0m \u001b[0mtrainer\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msave_model\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34mf\"/content/gdrive/MyDrive/Colab Notebooks/Final/{model_name_}-finetuned-squad-{cluster}\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 30\u001b[0m \u001b[0moptimize_model\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34mf\"/content/gdrive/MyDrive/Colab Notebooks/Final/{model_name_}-finetuned-squad-{cluster}\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.8/dist-packages/transformers/trainer.py\u001b[0m in \u001b[0;36mtrain\u001b[0;34m(self, resume_from_checkpoint, trial, ignore_keys_for_eval, **kwargs)\u001b[0m\n\u001b[1;32m 1541\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_inner_training_loop\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_train_batch_size\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mauto_find_batch_size\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1542\u001b[0m )\n\u001b[0;32m-> 1543\u001b[0;31m return inner_training_loop(\n\u001b[0m\u001b[1;32m 1544\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1545\u001b[0m \u001b[0mresume_from_checkpoint\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mresume_from_checkpoint\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.8/dist-packages/transformers/trainer.py\u001b[0m in \u001b[0;36m_inner_training_loop\u001b[0;34m(self, batch_size, args, resume_from_checkpoint, trial, ignore_keys_for_eval)\u001b[0m\n\u001b[1;32m 1789\u001b[0m \u001b[0mtr_loss_step\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtraining_step\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmodel\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0minputs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1790\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1791\u001b[0;31m \u001b[0mtr_loss_step\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtraining_step\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmodel\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0minputs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1792\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1793\u001b[0m if (\n", + "\u001b[0;32m/usr/local/lib/python3.8/dist-packages/transformers/trainer.py\u001b[0m in \u001b[0;36mtraining_step\u001b[0;34m(self, model, inputs)\u001b[0m\n\u001b[1;32m 2555\u001b[0m \u001b[0mloss\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdeepspeed\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbackward\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mloss\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2556\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2557\u001b[0;31m \u001b[0mloss\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbackward\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2558\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2559\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mloss\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdetach\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/local/lib/python3.8/dist-packages/torch/_tensor.py\u001b[0m in \u001b[0;36mbackward\u001b[0;34m(self, gradient, retain_graph, create_graph, inputs)\u001b[0m\n\u001b[1;32m 486\u001b[0m \u001b[0minputs\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0minputs\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 487\u001b[0m )\n\u001b[0;32m--> 488\u001b[0;31m torch.autograd.backward(\n\u001b[0m\u001b[1;32m 489\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mgradient\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mretain_graph\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcreate_graph\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0minputs\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0minputs\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 490\u001b[0m )\n", + "\u001b[0;32m/usr/local/lib/python3.8/dist-packages/torch/autograd/__init__.py\u001b[0m in \u001b[0;36mbackward\u001b[0;34m(tensors, grad_tensors, retain_graph, create_graph, grad_variables, inputs)\u001b[0m\n\u001b[1;32m 195\u001b[0m \u001b[0;31m# some Python versions print out the first line of a multi-line function\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 196\u001b[0m \u001b[0;31m# calls in the traceback and some print out the last line\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 197\u001b[0;31m Variable._execution_engine.run_backward( # Calls into the C++ engine to run the backward pass\n\u001b[0m\u001b[1;32m 198\u001b[0m \u001b[0mtensors\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mgrad_tensors_\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mretain_graph\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcreate_graph\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0minputs\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 199\u001b[0m allow_unreachable=True, accumulate_grad=True) # Calls into the C++ engine to run the backward pass\n", + "\u001b[0;31mKeyboardInterrupt\u001b[0m: " + ] + } + ] + }, + { + "cell_type": "code", + "source": [], + "metadata": { + "id": "ErHE0TftXNbV" + }, + "execution_count": null, + "outputs": [] + } + ] +} \ No newline at end of file From 1a939b734612b0c5e2d353ef3ad7b41d122df925 Mon Sep 17 00:00:00 2001 From: Rishav Bikarwar Date: Fri, 31 May 2024 23:03:21 +0530 Subject: [PATCH 11/11] Delete DevRev_Training.ipynb --- DevRev_Training.ipynb | 23931 ---------------------------------------- 1 file changed, 23931 deletions(-) delete mode 100644 DevRev_Training.ipynb diff --git a/DevRev_Training.ipynb b/DevRev_Training.ipynb deleted file mode 100644 index 65ac7c1..0000000 --- a/DevRev_Training.ipynb +++ /dev/null @@ -1,23931 +0,0 @@ -{ - "nbformat": 4, - "nbformat_minor": 0, - "metadata": { - "colab": { - "provenance": [], - "collapsed_sections": [ - "W9qOU8RAHS3q", - "M4Upkgp7dRmS", - "rW1PX48Ekl8J", - "MkXgi9-zHakY", - "joMpxm1jAHfK", - "Y2IkKEv5k0yG", - "Vq2kimzxiOYS", - "-1PSyNND4a4Q", - "Av0r8paULkIC", - "mNrvZPOZ6Bqn", - "hbQemcukMPZz", - "X7ZX77CuxDxr", - "Da_ikmbr_ExC", - "8A6-NBrAfn8W", - "HH-5KMkZ-QR6", - "My-SD3nf-88t", - "42-Rf1Yy-QSA", - "m6IBOXj2-QSA", - "t95zHpoG-QSB", - "0qb7iw0j-QSB", - "7iZibHeb-QSB", - "FYK2El6D-QSB", - "x1h4R5vR-QSC", - "HfIIvUXJ-QSC", - "L-rJUMYpsWPE", - "YofzVk1sCbGd", - "Tw6c4uDvCg5h", - "DJKVpXSdDtGm", - "UXP0N2FxCjgv", - "fZyyBbcgDWmG", - "fvVbZKvmDwmu", - "Nc8etJuAwB2s", - "w-ETDXir9ues", - "W597h23gXlG5", - "Gd1RGk1u7fpo", - "gK6mYiOGJums", - "6scOL0-NJums", - "m--Fa5KRJumu", - "gTJHEIhdBC2A", - "wnG45ws_K-U_", - "BP9zL3QqK-U_", - "vna4EOM2K-VA" - ], - "include_colab_link": true - }, - "kernelspec": { - "name": "python3", - "display_name": "Python 3" - }, - "language_info": { - "name": "python" - }, - "widgets": { - "application/vnd.jupyter.widget-state+json": { - "554f751b8ff0416e809602ac66615ed8": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_dede7caf3da240c7b2af4a141a756daf", - "IPY_MODEL_da5a0e71855648568c51e9db0668f6ed", - "IPY_MODEL_3b997150790849ab909538413619eeaf" - ], - "layout": "IPY_MODEL_9123dde4f5d9484283a83609c89e6c2e" - } - }, - "dede7caf3da240c7b2af4a141a756daf": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_8a6e3c80dbb94a209c07998a62c6424b", - "placeholder": "​", - "style": "IPY_MODEL_4952fe1eb12a457282cbd051015c0f03", - "value": "Downloading (…)a8e1d/.gitattributes: 100%" - } - }, - "da5a0e71855648568c51e9db0668f6ed": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_790ca395bcb04e129dfac303dd7f5980", - "max": 1175, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_cd873d375db74670a2d04057805997c8", - "value": 1175 - } - }, - "3b997150790849ab909538413619eeaf": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_ddacf97f240a447cbc099934940c2d1d", - "placeholder": "​", - "style": "IPY_MODEL_db386f546e3648f5aef6cf6f6b7a6290", - "value": " 1.18k/1.18k [00:00<00:00, 39.7kB/s]" - } - }, - "9123dde4f5d9484283a83609c89e6c2e": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "8a6e3c80dbb94a209c07998a62c6424b": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "4952fe1eb12a457282cbd051015c0f03": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "790ca395bcb04e129dfac303dd7f5980": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "cd873d375db74670a2d04057805997c8": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "ddacf97f240a447cbc099934940c2d1d": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "db386f546e3648f5aef6cf6f6b7a6290": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "09c8feb67fb84803b5cca7faea69eaae": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_ded5c38db5184a9293627478a55d3047", - "IPY_MODEL_d25b36bbddc54cc4af0a4adbf101b5c9", - "IPY_MODEL_2335bff7077442969bcc90df9bfbdef1" - ], - "layout": "IPY_MODEL_1fa191e9d3f14ffbb75cb85e483986fd" - } - }, - "ded5c38db5184a9293627478a55d3047": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_b80531b31123448fa86bff0edd6ff723", - "placeholder": "​", - "style": "IPY_MODEL_72be47de22a4455abd173fe25feb1c80", - "value": "Downloading (…)_Pooling/config.json: 100%" - } - }, - "d25b36bbddc54cc4af0a4adbf101b5c9": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_88f776a99ff14395984db84b27e4a307", - "max": 190, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_7cc9e76eae3746c79a9c2d83f4850c43", - "value": 190 - } - }, - "2335bff7077442969bcc90df9bfbdef1": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_6265a76b869f4eb1aa6ca13a6900e7b1", - "placeholder": "​", - "style": "IPY_MODEL_d4e7c76601b44b3ab34f968165f465f3", - "value": " 190/190 [00:00<00:00, 7.47kB/s]" - } - }, - "1fa191e9d3f14ffbb75cb85e483986fd": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "b80531b31123448fa86bff0edd6ff723": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "72be47de22a4455abd173fe25feb1c80": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "88f776a99ff14395984db84b27e4a307": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "7cc9e76eae3746c79a9c2d83f4850c43": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "6265a76b869f4eb1aa6ca13a6900e7b1": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "d4e7c76601b44b3ab34f968165f465f3": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "9e6665522e694fd2b53100dae136c454": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_9ca58304673f466ab6cb16936871443f", - "IPY_MODEL_97af9180432e451cbaec77e67fb91ff5", - "IPY_MODEL_d5387f63b562430581aa4678ceeb2d4f" - ], - "layout": "IPY_MODEL_9113c79a6788460789cf0691cfdc1294" - } - }, - "9ca58304673f466ab6cb16936871443f": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_be244da2ab744f2b99889d7a5ba5d71d", - "placeholder": "​", - "style": "IPY_MODEL_940c4b568b2e4c259e4a8ddbb9b58f2b", - "value": "Downloading (…)b20bca8e1d/README.md: 100%" - } - }, - "97af9180432e451cbaec77e67fb91ff5": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_fc141e0a0d194d4096beb99c2bc48a8d", - "max": 10571, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_8141a848dfc84a6a86d77bdc4db80606", - "value": 10571 - } - }, - "d5387f63b562430581aa4678ceeb2d4f": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_37681c9d9dc440b987e14110f401679e", - "placeholder": "​", - "style": "IPY_MODEL_f5c6b4411fd3491ca59dd700dee25db0", - "value": " 10.6k/10.6k [00:00<00:00, 497kB/s]" - } - }, - "9113c79a6788460789cf0691cfdc1294": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "be244da2ab744f2b99889d7a5ba5d71d": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "940c4b568b2e4c259e4a8ddbb9b58f2b": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "fc141e0a0d194d4096beb99c2bc48a8d": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "8141a848dfc84a6a86d77bdc4db80606": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "37681c9d9dc440b987e14110f401679e": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "f5c6b4411fd3491ca59dd700dee25db0": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "dc4932dac5fc4cc0952919974e9785c8": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_e29e83d5dd5648ec854d79b873153709", - "IPY_MODEL_bc0f9445d806467e8aecea40c810e421", - "IPY_MODEL_b3d6a9cbfdcd4ee4af73175fff255bd2" - ], - "layout": "IPY_MODEL_900aac83a71b4db88611e3ef0dc5f28d" - } - }, - "e29e83d5dd5648ec854d79b873153709": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_7fd38e429c634221afdb2133e7219e4b", - "placeholder": "​", - "style": "IPY_MODEL_0254340b0b7c43acb40cdc0f353d96da", - "value": "Downloading (…)0bca8e1d/config.json: 100%" - } - }, - "bc0f9445d806467e8aecea40c810e421": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_434633248ef74025b9a52104396cade3", - "max": 571, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_217c550442f449fa9218818bf88367ea", - "value": 571 - } - }, - "b3d6a9cbfdcd4ee4af73175fff255bd2": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_4fff0fa185254860a42170d2aae5e61f", - "placeholder": "​", - "style": "IPY_MODEL_17581e32619e4bf28cd0e5c6a9dcfb33", - "value": " 571/571 [00:00<00:00, 25.1kB/s]" - } - }, - "900aac83a71b4db88611e3ef0dc5f28d": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "7fd38e429c634221afdb2133e7219e4b": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "0254340b0b7c43acb40cdc0f353d96da": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "434633248ef74025b9a52104396cade3": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "217c550442f449fa9218818bf88367ea": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "4fff0fa185254860a42170d2aae5e61f": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "17581e32619e4bf28cd0e5c6a9dcfb33": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "c7556a28d9734c58943797d1b8a08d5f": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_5d01acbcc2164131a1238da70b5ff07c", - "IPY_MODEL_c5fd8d13c2364146bd88a8748c717758", - "IPY_MODEL_99943b8f2a1447ca9561f6d6161c5f4d" - ], - "layout": "IPY_MODEL_6025ace7bb0c44aaac1e48a82ba0501b" - } - }, - "5d01acbcc2164131a1238da70b5ff07c": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_e4bdaf9ddcb74b35b00e8669593b3da9", - "placeholder": "​", - "style": "IPY_MODEL_8bbcd0a287754783a907013dd0a38f84", - "value": "Downloading (…)ce_transformers.json: 100%" - } - }, - "c5fd8d13c2364146bd88a8748c717758": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_d82ffe7434d6472989afc21d8b458c0c", - "max": 116, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_a213284196d54a10ad891cbf4b918495", - "value": 116 - } - }, - "99943b8f2a1447ca9561f6d6161c5f4d": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_12f23949347a4f80938e1e5f95fc0941", - "placeholder": "​", - "style": "IPY_MODEL_ba0552fb4a1a4ababc6ddffe7ab6d924", - "value": " 116/116 [00:00<00:00, 1.82kB/s]" - } - }, - "6025ace7bb0c44aaac1e48a82ba0501b": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "e4bdaf9ddcb74b35b00e8669593b3da9": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "8bbcd0a287754783a907013dd0a38f84": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "d82ffe7434d6472989afc21d8b458c0c": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "a213284196d54a10ad891cbf4b918495": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "12f23949347a4f80938e1e5f95fc0941": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "ba0552fb4a1a4ababc6ddffe7ab6d924": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "04044ce9e4ee4780b8905b68eaca1d52": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_a4451bf8009a48a18d8239cf86b824a1", - "IPY_MODEL_3d30b30763fe402d843128420425c5db", - "IPY_MODEL_bda95c5f68894cdb90d0eaec3f74e0fc" - ], - "layout": "IPY_MODEL_acc78125a9ea44fe9e2b7fa4da275e73" - } - }, - "a4451bf8009a48a18d8239cf86b824a1": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_04548febb66248e58d1763b9dcce792e", - "placeholder": "​", - "style": "IPY_MODEL_4cee068c213a43dd80f1c5ae55b45d72", - "value": "Downloading (…)e1d/data_config.json: 100%" - } - }, - "3d30b30763fe402d843128420425c5db": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_ffffdc63166a478c85a8b49f407571bb", - "max": 39265, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_bc547a732251480a9d694af49753a825", - "value": 39265 - } - }, - "bda95c5f68894cdb90d0eaec3f74e0fc": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_1464808e564f42df8d5f3f3cbcf8e100", - "placeholder": "​", - "style": "IPY_MODEL_28ddfda379994f5cae51c18fa105a432", - "value": " 39.3k/39.3k [00:00<00:00, 456kB/s]" - } - }, - "acc78125a9ea44fe9e2b7fa4da275e73": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "04548febb66248e58d1763b9dcce792e": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "4cee068c213a43dd80f1c5ae55b45d72": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "ffffdc63166a478c85a8b49f407571bb": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "bc547a732251480a9d694af49753a825": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "1464808e564f42df8d5f3f3cbcf8e100": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "28ddfda379994f5cae51c18fa105a432": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "f93fc289f5b343c2b82eb948e646f4cd": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_551373c16fdc4e4c9dd6ad3be59bf789", - "IPY_MODEL_ace4b7ed42904e938f693a18b5836958", - "IPY_MODEL_47cf4f01a9a54590a9824bb878d85935" - ], - "layout": "IPY_MODEL_9e2e5cd8aff049a6b4a6b43c9212452e" - } - }, - "551373c16fdc4e4c9dd6ad3be59bf789": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_32ee63859fe7461c8bbcffada86f3baf", - "placeholder": "​", - "style": "IPY_MODEL_2925784ceb6a43019acd142d1dc8d8bd", - "value": "Downloading (…)"pytorch_model.bin";: 100%" - } - }, - "ace4b7ed42904e938f693a18b5836958": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_efd338c7a25c4685843f05dafd2c539e", - "max": 438011953, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_e00638c7c7db47968b8e25ebc45e863a", - "value": 438011953 - } - }, - "47cf4f01a9a54590a9824bb878d85935": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_2a033cf9e93749b6a3cd6a89f99a26f3", - "placeholder": "​", - "style": "IPY_MODEL_5b70f4f70277496f85475dba8e1b6897", - "value": " 438M/438M [00:07<00:00, 21.4MB/s]" - } - }, - "9e2e5cd8aff049a6b4a6b43c9212452e": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "32ee63859fe7461c8bbcffada86f3baf": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "2925784ceb6a43019acd142d1dc8d8bd": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "efd338c7a25c4685843f05dafd2c539e": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "e00638c7c7db47968b8e25ebc45e863a": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "2a033cf9e93749b6a3cd6a89f99a26f3": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "5b70f4f70277496f85475dba8e1b6897": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "ffaf9b40feae489d960fb819ef3549f6": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_954602f84a3f4cdf8f447e944e7b2776", - "IPY_MODEL_1949dfdeda5c44848fee8984fea4bbb6", - "IPY_MODEL_a1fc49270d684f31b7148615d42086a2" - ], - "layout": "IPY_MODEL_4c74c39cbf114aa9a414aff3143d86ff" - } - }, - "954602f84a3f4cdf8f447e944e7b2776": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_e0434647bd544cbaad40287211c50735", - "placeholder": "​", - "style": "IPY_MODEL_0ba082705a424b99b9bba69722f5d0cb", - "value": "Downloading (…)nce_bert_config.json: 100%" - } - }, - "1949dfdeda5c44848fee8984fea4bbb6": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_fb178827efa647cc81f65be593990d82", - "max": 53, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_747907457ca745e49563f3473979cdd4", - "value": 53 - } - }, - "a1fc49270d684f31b7148615d42086a2": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_de6ca80f55154894afdfe282a663b3c4", - "placeholder": "​", - "style": "IPY_MODEL_11883abab80e4e8d825bd6887beb2c09", - "value": " 53.0/53.0 [00:00<00:00, 862B/s]" - } - }, - "4c74c39cbf114aa9a414aff3143d86ff": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "e0434647bd544cbaad40287211c50735": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "0ba082705a424b99b9bba69722f5d0cb": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "fb178827efa647cc81f65be593990d82": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "747907457ca745e49563f3473979cdd4": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "de6ca80f55154894afdfe282a663b3c4": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "11883abab80e4e8d825bd6887beb2c09": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "330ce7bec1af4967af7a0a55bd2d3dca": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_1a4f2fcde3a5400285883371f6dca329", - "IPY_MODEL_36b6d74732834535a3ccdae1a8de8151", - "IPY_MODEL_7fd267a6b06944c189ec524f801c1d98" - ], - "layout": "IPY_MODEL_475615e9501b4ec9a46fdffab75eaf1c" - } - }, - "1a4f2fcde3a5400285883371f6dca329": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_82031bbb91a9401294ed5533a0068165", - "placeholder": "​", - "style": "IPY_MODEL_a85557e74b5e49ab8e515081ef86a560", - "value": "Downloading (…)cial_tokens_map.json: 100%" - } - }, - "36b6d74732834535a3ccdae1a8de8151": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_e38ca107f5f94b8fbb61be8126e6b38c", - "max": 239, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_2afd4ae6e6b54ed3b4cc334e96602fd9", - "value": 239 - } - }, - "7fd267a6b06944c189ec524f801c1d98": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_a81e4fb49e60401eab79f4e3761ab306", - "placeholder": "​", - "style": "IPY_MODEL_ead7b89bc6bb442682424e44ab1295bb", - "value": " 239/239 [00:00<00:00, 7.65kB/s]" - } - }, - "475615e9501b4ec9a46fdffab75eaf1c": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "82031bbb91a9401294ed5533a0068165": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "a85557e74b5e49ab8e515081ef86a560": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "e38ca107f5f94b8fbb61be8126e6b38c": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "2afd4ae6e6b54ed3b4cc334e96602fd9": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "a81e4fb49e60401eab79f4e3761ab306": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "ead7b89bc6bb442682424e44ab1295bb": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "9a4ea61b822d402f86d64fd38eab793e": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_429130db6e7448f2a8722aa81dd146e0", - "IPY_MODEL_d45475a0ac0843e7b1e6fb46a814f38a", - "IPY_MODEL_a133e353ea4c4b1ba01d480ebe019718" - ], - "layout": "IPY_MODEL_4d31c82cb41c4950987b94bf04452b4e" - } - }, - "429130db6e7448f2a8722aa81dd146e0": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_62d3345b8edd4333be4edb3574ff25c8", - "placeholder": "​", - "style": "IPY_MODEL_f621c577fa8445e497bbfa23eaa0799c", - "value": "Downloading (…)a8e1d/tokenizer.json: 100%" - } - }, - "d45475a0ac0843e7b1e6fb46a814f38a": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_e45f220255754ac49964f3cf9d920378", - "max": 466021, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_f0706984071246a990fd520506a9de01", - "value": 466021 - } - }, - "a133e353ea4c4b1ba01d480ebe019718": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_a5dbccbe5f62496e9dc8fa52ca45372f", - "placeholder": "​", - "style": "IPY_MODEL_8fa2df8de1dc4be9be80d7954b48f733", - "value": " 466k/466k [00:00<00:00, 1.36MB/s]" - } - }, - "4d31c82cb41c4950987b94bf04452b4e": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "62d3345b8edd4333be4edb3574ff25c8": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "f621c577fa8445e497bbfa23eaa0799c": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "e45f220255754ac49964f3cf9d920378": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "f0706984071246a990fd520506a9de01": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "a5dbccbe5f62496e9dc8fa52ca45372f": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "8fa2df8de1dc4be9be80d7954b48f733": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "be611c0c9a93464e9ab15bd2fc0bcfaf": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_dc75e9229daf4cbfa8ce4c2810c66225", - "IPY_MODEL_e1603a0acd2747d58faf8b3be00036cc", - "IPY_MODEL_57374ecd652d4f19b506cb2823007f06" - ], - "layout": "IPY_MODEL_c23d91bc9af74a00b05e19f896dd1d5c" - } - }, - "dc75e9229daf4cbfa8ce4c2810c66225": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_f8058b6ff1f947e7bccf7f3e67d8f64c", - "placeholder": "​", - "style": "IPY_MODEL_9170abbea31a4041977f078d2ef35b93", - "value": "Downloading (…)okenizer_config.json: 100%" - } - }, - "e1603a0acd2747d58faf8b3be00036cc": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_7d7368d36e424da8af1ce3f76d0ad452", - "max": 363, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_96a8964214524dc1a6c3ebbf8e64083d", - "value": 363 - } - }, - "57374ecd652d4f19b506cb2823007f06": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_47120b1c06dd43ba915c71e94b3eb4bd", - "placeholder": "​", - "style": "IPY_MODEL_5adc6ac114744809a9aa82b5062e69f9", - "value": " 363/363 [00:00<00:00, 6.38kB/s]" - } - }, - "c23d91bc9af74a00b05e19f896dd1d5c": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "f8058b6ff1f947e7bccf7f3e67d8f64c": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "9170abbea31a4041977f078d2ef35b93": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "7d7368d36e424da8af1ce3f76d0ad452": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "96a8964214524dc1a6c3ebbf8e64083d": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "47120b1c06dd43ba915c71e94b3eb4bd": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "5adc6ac114744809a9aa82b5062e69f9": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "f6a49b8efdb34aa79b9fb86f9c344d8f": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_870bf9edfd77416995f414adacce18d8", - "IPY_MODEL_c16b028441d547f4a28af3d525115f75", - "IPY_MODEL_ae5e57fd98ef4d0da5052482686cf682" - ], - "layout": "IPY_MODEL_ce13508fd18a4cf083f690b85c87d86f" - } - }, - "870bf9edfd77416995f414adacce18d8": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_0b779cef3aa0408ea4e42ffc96d667c0", - "placeholder": "​", - "style": "IPY_MODEL_5510334f685346c59a3e0505c75b16f7", - "value": "Downloading (…)8e1d/train_script.py: 100%" - } - }, - "c16b028441d547f4a28af3d525115f75": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_0586119f450849bb976b032d4e1be4e7", - "max": 13123, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_939a74a7562a4f6fa36d5d4b6953b3f3", - "value": 13123 - } - }, - "ae5e57fd98ef4d0da5052482686cf682": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_3809185f89a84e9d80cbf52ddb4ceba5", - "placeholder": "​", - "style": "IPY_MODEL_38b53b47b3b44873981934cb25355f34", - "value": " 13.1k/13.1k [00:00<00:00, 215kB/s]" - } - }, - "ce13508fd18a4cf083f690b85c87d86f": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "0b779cef3aa0408ea4e42ffc96d667c0": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "5510334f685346c59a3e0505c75b16f7": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "0586119f450849bb976b032d4e1be4e7": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "939a74a7562a4f6fa36d5d4b6953b3f3": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "3809185f89a84e9d80cbf52ddb4ceba5": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "38b53b47b3b44873981934cb25355f34": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "a95f175763694bc88dab702583cdcfb2": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_4d4f60c9d53a48e0b59e83996852d020", - "IPY_MODEL_9bd48266d6af4eaf874bd83418ffcfde", - "IPY_MODEL_0f48441e94094032986a0f8b1e8a83f6" - ], - "layout": "IPY_MODEL_5b52364e02644d2493a4151feb44c8e4" - } - }, - "4d4f60c9d53a48e0b59e83996852d020": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_f391ce0c3efb44ef9ec2f29fdfc7c3ac", - "placeholder": "​", - "style": "IPY_MODEL_f93fa7f62d6a4856be5ebdbf67255ceb", - "value": "Downloading (…)b20bca8e1d/vocab.txt: 100%" - } - }, - "9bd48266d6af4eaf874bd83418ffcfde": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_c352199812564c918730dd1f21804a6e", - "max": 231536, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_294410dabf574325b2c917f0403552f8", - "value": 231536 - } - }, - "0f48441e94094032986a0f8b1e8a83f6": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_e9e3cde5aa2b477086f06088b4311dbf", - "placeholder": "​", - "style": "IPY_MODEL_0116e5fe60df4786994674ca18f2419b", - "value": " 232k/232k [00:00<00:00, 898kB/s]" - } - }, - "5b52364e02644d2493a4151feb44c8e4": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "f391ce0c3efb44ef9ec2f29fdfc7c3ac": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "f93fa7f62d6a4856be5ebdbf67255ceb": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "c352199812564c918730dd1f21804a6e": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "294410dabf574325b2c917f0403552f8": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "e9e3cde5aa2b477086f06088b4311dbf": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "0116e5fe60df4786994674ca18f2419b": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "2298451522a8489ebdfde3e2f094e2a9": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_451ae7bf10dd4ade90d6de235d49206b", - "IPY_MODEL_6fd4e0412e1c42168af489b822c801bd", - "IPY_MODEL_5bb03492ddf74a66a96acad54a1e7400" - ], - "layout": "IPY_MODEL_3be8d43893e64992b88af0cf9565b50a" - } - }, - "451ae7bf10dd4ade90d6de235d49206b": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_122f2a85c70a47b69fb7d4edc6291083", - "placeholder": "​", - "style": "IPY_MODEL_e4892c81eb014480bf48c4ee31b32aa9", - "value": "Downloading (…)bca8e1d/modules.json: 100%" - } - }, - "6fd4e0412e1c42168af489b822c801bd": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_4873ade6343c42c98a5cf61cec784641", - "max": 349, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_c2b17653f2a74476af1e061bd5f41c46", - "value": 349 - } - }, - "5bb03492ddf74a66a96acad54a1e7400": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_95fba4a2255641958831bd0a8b90375a", - "placeholder": "​", - "style": "IPY_MODEL_c83bcc1a36bc47d8bac05e3d78439f14", - "value": " 349/349 [00:00<00:00, 6.15kB/s]" - } - }, - "3be8d43893e64992b88af0cf9565b50a": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "122f2a85c70a47b69fb7d4edc6291083": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "e4892c81eb014480bf48c4ee31b32aa9": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "4873ade6343c42c98a5cf61cec784641": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "c2b17653f2a74476af1e061bd5f41c46": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "95fba4a2255641958831bd0a8b90375a": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "c83bcc1a36bc47d8bac05e3d78439f14": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "f4c53a0f298242ef94529842098c91b8": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_c612999b883440acabf6511c6196b4e4", - "IPY_MODEL_0e512ae328b3493ba9f323a5d63c0a92", - "IPY_MODEL_459ac2cfbc994436b7a7b774540365af" - ], - "layout": "IPY_MODEL_f3a5cf91b0a8443c99e9de5edd32c219" - } - }, - "c612999b883440acabf6511c6196b4e4": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_2257eaf6330941ff85c8ce774a43644a", - "placeholder": "​", - "style": "IPY_MODEL_2c6799fae7b64ee79201b4a2cef1b7bb", - "value": "Downloading (…)e9125/.gitattributes: 100%" - } - }, - "0e512ae328b3493ba9f323a5d63c0a92": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_5ff313f69c61401a9bfcbaf747847fa6", - "max": 1175, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_c8382a3c925e4655901932e67a873221", - "value": 1175 - } - }, - "459ac2cfbc994436b7a7b774540365af": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_e755a8d1c5144d1c8ee9f41ba0684510", - "placeholder": "​", - "style": "IPY_MODEL_71eb4a5664004d21aaecf1fe257ebdcd", - "value": " 1.18k/1.18k [00:00<00:00, 39.1kB/s]" - } - }, - "f3a5cf91b0a8443c99e9de5edd32c219": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "2257eaf6330941ff85c8ce774a43644a": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "2c6799fae7b64ee79201b4a2cef1b7bb": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "5ff313f69c61401a9bfcbaf747847fa6": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "c8382a3c925e4655901932e67a873221": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "e755a8d1c5144d1c8ee9f41ba0684510": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "71eb4a5664004d21aaecf1fe257ebdcd": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "58b6ae35c57149d4acb74eb38bed046e": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_0975d05ef17b4a018e5266cab2bb32d3", - "IPY_MODEL_1dbac1fbf6164e63aa345cd7a3ed7006", - "IPY_MODEL_5252e2a069a04cc2a96d6276728f3135" - ], - "layout": "IPY_MODEL_1e1f4f179dfd48f59b09856f00150b2d" - } - }, - "0975d05ef17b4a018e5266cab2bb32d3": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_2b93a5d27d6c4c4d9a11848291831d53", - "placeholder": "​", - "style": "IPY_MODEL_769d16edcb924464ae5ee40e8751a56d", - "value": "Downloading (…)_Pooling/config.json: 100%" - } - }, - "1dbac1fbf6164e63aa345cd7a3ed7006": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_a427c92b69f84ee4a110f8dff977edae", - "max": 190, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_b19072f3b0304b66a47a9bed572d301b", - "value": 190 - } - }, - "5252e2a069a04cc2a96d6276728f3135": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_29895716b4a24db7aedd8491db50f28e", - "placeholder": "​", - "style": "IPY_MODEL_1049a76c561d4dd6ad59bd430542bfe3", - "value": " 190/190 [00:00<00:00, 9.75kB/s]" - } - }, - "1e1f4f179dfd48f59b09856f00150b2d": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "2b93a5d27d6c4c4d9a11848291831d53": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "769d16edcb924464ae5ee40e8751a56d": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "a427c92b69f84ee4a110f8dff977edae": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "b19072f3b0304b66a47a9bed572d301b": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "29895716b4a24db7aedd8491db50f28e": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "1049a76c561d4dd6ad59bd430542bfe3": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "416bc5a589ed45f6bb62b015ec6e4288": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_d4b5f0bfbdc44c9abf7223a201bc694f", - "IPY_MODEL_2e90842e75ca4b5ca24de8da4bd5bb2f", - "IPY_MODEL_e3bfe4c74cf94c069f36546750ee5fca" - ], - "layout": "IPY_MODEL_6f7f7fbbd12a4376a24e9b6cdcb79c1a" - } - }, - "d4b5f0bfbdc44c9abf7223a201bc694f": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_58cdb1676a514c87b8ae4f98d4edf090", - "placeholder": "​", - "style": "IPY_MODEL_70c118904b6c4e97bcf68ca8e061b788", - "value": "Downloading (…)7e55de9125/README.md: 100%" - } - }, - "2e90842e75ca4b5ca24de8da4bd5bb2f": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_5335049c2dc5476b951e88d53a314f5c", - "max": 10610, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_cdf4eb99a76841319f635be11a3edd7d", - "value": 10610 - } - }, - "e3bfe4c74cf94c069f36546750ee5fca": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_e5efc4ba1d4c44bab650c3df62fa81e1", - "placeholder": "​", - "style": "IPY_MODEL_3534a5cc550c46baabd736f5173ccb74", - "value": " 10.6k/10.6k [00:00<00:00, 526kB/s]" - } - }, - "6f7f7fbbd12a4376a24e9b6cdcb79c1a": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "58cdb1676a514c87b8ae4f98d4edf090": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "70c118904b6c4e97bcf68ca8e061b788": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "5335049c2dc5476b951e88d53a314f5c": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "cdf4eb99a76841319f635be11a3edd7d": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "e5efc4ba1d4c44bab650c3df62fa81e1": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "3534a5cc550c46baabd736f5173ccb74": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "d36059e943f6447f823603c3c26671fd": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_035e1e1e77834a7fb867a963f5d99386", - "IPY_MODEL_f22de385f59e497a9cb47d3f87475d2a", - "IPY_MODEL_4e6e1fe741694d07a48440a618ce36ce" - ], - "layout": "IPY_MODEL_531407ec69d14786aae4fe91e7bc841d" - } - }, - "035e1e1e77834a7fb867a963f5d99386": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_67d7251325264a73b283d576cd469223", - "placeholder": "​", - "style": "IPY_MODEL_c551f8ec597540ceb2fee9adcbbe35f2", - "value": "Downloading (…)55de9125/config.json: 100%" - } - }, - "f22de385f59e497a9cb47d3f87475d2a": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_5c05e966f98e487681371d8a7afb7eed", - "max": 612, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_7c500be6e2be4e61beeabd3a158bd362", - "value": 612 - } - }, - "4e6e1fe741694d07a48440a618ce36ce": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_68816b339c964f178280e4e0e582b3e6", - "placeholder": "​", - "style": "IPY_MODEL_ec65c4173f594d01b0c95c8c99405983", - "value": " 612/612 [00:00<00:00, 32.6kB/s]" - } - }, - "531407ec69d14786aae4fe91e7bc841d": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "67d7251325264a73b283d576cd469223": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "c551f8ec597540ceb2fee9adcbbe35f2": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "5c05e966f98e487681371d8a7afb7eed": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "7c500be6e2be4e61beeabd3a158bd362": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "68816b339c964f178280e4e0e582b3e6": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "ec65c4173f594d01b0c95c8c99405983": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "6722f43ff37a40e4810ed739a7a467ed": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_59b7c5a0459e4f638381a59e6cecb590", - "IPY_MODEL_cb6c027da3f04e86b9994c0b1f011c7d", - "IPY_MODEL_e7894a0c26514ec793924390fc5dc72f" - ], - "layout": "IPY_MODEL_1f223c84466b4f5186450c267124cbc7" - } - }, - "59b7c5a0459e4f638381a59e6cecb590": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_5c29bdd5bb4144fdae42b73925d70293", - "placeholder": "​", - "style": "IPY_MODEL_b3ab4f2645924b54869c00f75f7be9f0", - "value": "Downloading (…)ce_transformers.json: 100%" - } - }, - "cb6c027da3f04e86b9994c0b1f011c7d": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_396d04b7101a4daa943ceaeb14b4d43f", - "max": 116, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_e1a3418d9d2b4666917407a0ac39ab56", - "value": 116 - } - }, - "e7894a0c26514ec793924390fc5dc72f": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_3d17c90990074d68ab4b417acbe96589", - "placeholder": "​", - "style": "IPY_MODEL_423a2b1c83d349c4acbd051cd3f400fa", - "value": " 116/116 [00:00<00:00, 1.77kB/s]" - } - }, - "1f223c84466b4f5186450c267124cbc7": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "5c29bdd5bb4144fdae42b73925d70293": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "b3ab4f2645924b54869c00f75f7be9f0": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "396d04b7101a4daa943ceaeb14b4d43f": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "e1a3418d9d2b4666917407a0ac39ab56": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "3d17c90990074d68ab4b417acbe96589": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "423a2b1c83d349c4acbd051cd3f400fa": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "7ba0d04f85864598ae5924bccc91b5ae": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_c1e0c41650744d5bb342e18785eb8b33", - "IPY_MODEL_47a1f912b382461c8c038c5d5790c742", - "IPY_MODEL_ceba1e0399d14ed8a85d043750697619" - ], - "layout": "IPY_MODEL_4a1fd672778b43bf88a1108413e14464" - } - }, - "c1e0c41650744d5bb342e18785eb8b33": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_81a19a7b9f274be8ad5d25bbe3932336", - "placeholder": "​", - "style": "IPY_MODEL_76757c22809647229451b4adb4a3f4ed", - "value": "Downloading (…)125/data_config.json: 100%" - } - }, - "47a1f912b382461c8c038c5d5790c742": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_ab3c4408e73045299febbbd7e34769dd", - "max": 39265, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_a1a8a624984c454f92097eb14c26928b", - "value": 39265 - } - }, - "ceba1e0399d14ed8a85d043750697619": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_f60715763140436aba25d5347f046a74", - "placeholder": "​", - "style": "IPY_MODEL_48bde9bee9ca4204a9172cc2119b2eab", - "value": " 39.3k/39.3k [00:00<00:00, 176kB/s]" - } - }, - "4a1fd672778b43bf88a1108413e14464": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "81a19a7b9f274be8ad5d25bbe3932336": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "76757c22809647229451b4adb4a3f4ed": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "ab3c4408e73045299febbbd7e34769dd": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "a1a8a624984c454f92097eb14c26928b": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "f60715763140436aba25d5347f046a74": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "48bde9bee9ca4204a9172cc2119b2eab": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "f1a29de1fa424d96bd012276e14e0c64": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_9fcbcfe37e734f37aa750ebc0e685a28", - "IPY_MODEL_72db8cd085954912b7c092c2f2f9efa1", - "IPY_MODEL_c3888c8d6c86437586b0dd00a4d66ea7" - ], - "layout": "IPY_MODEL_753a3e1b65db48338c0ccd0a3e55321b" - } - }, - "9fcbcfe37e734f37aa750ebc0e685a28": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_77d912f8885e4117a540b9e6cd04ceab", - "placeholder": "​", - "style": "IPY_MODEL_9d8fa8fdcd834dcaaf287b3107bbac98", - "value": "Downloading (…)"pytorch_model.bin";: 100%" - } - }, - "72db8cd085954912b7c092c2f2f9efa1": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_7b07be9848ec4a0c812cfbd8e99ce7ed", - "max": 90888945, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_e0760e323fc84392b399fa5ef09964cf", - "value": 90888945 - } - }, - "c3888c8d6c86437586b0dd00a4d66ea7": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_6fc6ea2d6f464af69989bec9d6479242", - "placeholder": "​", - "style": "IPY_MODEL_f09c7cccd90e4d9198c8479c1e823217", - "value": " 90.9M/90.9M [00:00<00:00, 252MB/s]" - } - }, - "753a3e1b65db48338c0ccd0a3e55321b": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "77d912f8885e4117a540b9e6cd04ceab": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "9d8fa8fdcd834dcaaf287b3107bbac98": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "7b07be9848ec4a0c812cfbd8e99ce7ed": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "e0760e323fc84392b399fa5ef09964cf": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "6fc6ea2d6f464af69989bec9d6479242": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "f09c7cccd90e4d9198c8479c1e823217": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "8f30ad3287a2427ca6b6033aa03add3f": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_ff792f071d144d69ba397c002c40856b", - "IPY_MODEL_81c8486a80e14b0e93ade5e227907bda", - "IPY_MODEL_158c142e2c19479ebbfd0cd29d4c83e9" - ], - "layout": "IPY_MODEL_9c9bad9029994456927408d6918b500e" - } - }, - "ff792f071d144d69ba397c002c40856b": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_51f71a69dd0d4e5f9d5d498e20485002", - "placeholder": "​", - "style": "IPY_MODEL_f6fb712d6f3b44b89f03597a654791c6", - "value": "Downloading (…)nce_bert_config.json: 100%" - } - }, - "81c8486a80e14b0e93ade5e227907bda": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_c8ce88790b704e598d09ca5568c9fa41", - "max": 53, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_666b55a5619a4085a8ac607059f80f76", - "value": 53 - } - }, - "158c142e2c19479ebbfd0cd29d4c83e9": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_6758207d392d47aa97ede45f9c564821", - "placeholder": "​", - "style": "IPY_MODEL_3c44c920740a47f5aef4fe25599f556b", - "value": " 53.0/53.0 [00:00<00:00, 729B/s]" - } - }, - "9c9bad9029994456927408d6918b500e": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "51f71a69dd0d4e5f9d5d498e20485002": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "f6fb712d6f3b44b89f03597a654791c6": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "c8ce88790b704e598d09ca5568c9fa41": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "666b55a5619a4085a8ac607059f80f76": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "6758207d392d47aa97ede45f9c564821": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "3c44c920740a47f5aef4fe25599f556b": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "f8f4f54f6c0f42e49ac78f27bdd1c094": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_9f60e16e704047a0989cf5df719775b0", - "IPY_MODEL_d43401e08394417ca8bdae3fe1a337ae", - "IPY_MODEL_62400773046845d1b3361f4cbb548d3f" - ], - "layout": "IPY_MODEL_ca064c96051d4ed290cecb67c2233fd5" - } - }, - "9f60e16e704047a0989cf5df719775b0": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_4f67f17b46da4956b607ab22dbc75fc3", - "placeholder": "​", - "style": "IPY_MODEL_abb7db54524448dc8c9ff2dce38988f4", - "value": "Downloading (…)cial_tokens_map.json: 100%" - } - }, - "d43401e08394417ca8bdae3fe1a337ae": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_2899a639465d4617ac4ed12a4299f5bb", - "max": 112, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_dc91ad497fc3469d9b223a6616b11d5c", - "value": 112 - } - }, - "62400773046845d1b3361f4cbb548d3f": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_4ddd144a8a644d87913c450c387863fa", - "placeholder": "​", - "style": "IPY_MODEL_f3dcd1cfe8924e8bb2446782c17285a9", - "value": " 112/112 [00:00<00:00, 1.93kB/s]" - } - }, - "ca064c96051d4ed290cecb67c2233fd5": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "4f67f17b46da4956b607ab22dbc75fc3": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "abb7db54524448dc8c9ff2dce38988f4": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "2899a639465d4617ac4ed12a4299f5bb": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "dc91ad497fc3469d9b223a6616b11d5c": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "4ddd144a8a644d87913c450c387863fa": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "f3dcd1cfe8924e8bb2446782c17285a9": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "091a687dc828465e81c2bd141ea1878b": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_a705421ef9c94f2496e29867eb23e2fa", - "IPY_MODEL_d9844c36ffb14a34a41094c968004f5d", - "IPY_MODEL_d3b1fb6debd6478b86c130f5222c17ef" - ], - "layout": "IPY_MODEL_c2092d84df5d45b08c00068cc1cecbfd" - } - }, - "a705421ef9c94f2496e29867eb23e2fa": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_69bdd894ca2c4f569b5bf417e354800e", - "placeholder": "​", - "style": "IPY_MODEL_f02ce6d91a36490a9f5e678b12972917", - "value": "Downloading (…)e9125/tokenizer.json: 100%" - } - }, - "d9844c36ffb14a34a41094c968004f5d": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_e09e3f2189c74fc5ad9e41b7e2b5426e", - "max": 466247, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_fe4e6c9bdc8646b09db0acacdb0763b4", - "value": 466247 - } - }, - "d3b1fb6debd6478b86c130f5222c17ef": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_a5065670314f4161ba179879cb6f86f1", - "placeholder": "​", - "style": "IPY_MODEL_79ba228b90e04f1ea4280e5dc73fa046", - "value": " 466k/466k [00:01<00:00, 423kB/s]" - } - }, - "c2092d84df5d45b08c00068cc1cecbfd": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "69bdd894ca2c4f569b5bf417e354800e": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "f02ce6d91a36490a9f5e678b12972917": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "e09e3f2189c74fc5ad9e41b7e2b5426e": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "fe4e6c9bdc8646b09db0acacdb0763b4": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "a5065670314f4161ba179879cb6f86f1": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "79ba228b90e04f1ea4280e5dc73fa046": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "b93eb4746c464efe924e2c873b527dd4": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_244141fc966743919b252c6fd38ac113", - "IPY_MODEL_378f2be57e4a402c9eab086851f2e588", - "IPY_MODEL_a234dd67ca294d53bea14b2047279d5d" - ], - "layout": "IPY_MODEL_82af6c19ca164d3690ad566f388496bb" - } - }, - "244141fc966743919b252c6fd38ac113": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_fa104392266b409eb4b149d40b3f63e0", - "placeholder": "​", - "style": "IPY_MODEL_5d9791e37ae047c4a0b8256a2cd3f11f", - "value": "Downloading (…)okenizer_config.json: 100%" - } - }, - "378f2be57e4a402c9eab086851f2e588": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_9954c192c730456db9370c5f7b4ff1e2", - "max": 350, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_2a747ee11e674ad79e657b40c43e273d", - "value": 350 - } - }, - "a234dd67ca294d53bea14b2047279d5d": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_a6b29ddb1c87465fb391fd72cdd46724", - "placeholder": "​", - "style": "IPY_MODEL_9c92ca391cd64a68ab5093acd4c81b79", - "value": " 350/350 [00:00<00:00, 12.1kB/s]" - } - }, - "82af6c19ca164d3690ad566f388496bb": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "fa104392266b409eb4b149d40b3f63e0": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "5d9791e37ae047c4a0b8256a2cd3f11f": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "9954c192c730456db9370c5f7b4ff1e2": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "2a747ee11e674ad79e657b40c43e273d": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "a6b29ddb1c87465fb391fd72cdd46724": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "9c92ca391cd64a68ab5093acd4c81b79": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "f267c042987c4b3cb3150ddf75157555": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_c8aa0f8b58654ed0a840e90e34d5005e", - "IPY_MODEL_a080e0c1b7ff4516b814b3fbe2a2dfc2", - "IPY_MODEL_d425b9261ede48e9a8244103d88ba019" - ], - "layout": "IPY_MODEL_55d35c3456974dfca4f7d040070bd75e" - } - }, - "c8aa0f8b58654ed0a840e90e34d5005e": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_7f10de3bae624b51b463ddaa002b0481", - "placeholder": "​", - "style": "IPY_MODEL_3c2ecfd91223473f8a25992eea749e78", - "value": "Downloading (…)9125/train_script.py: 100%" - } - }, - "a080e0c1b7ff4516b814b3fbe2a2dfc2": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_c04d48469bba4e45a676f02741e38d6e", - "max": 13156, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_d757de8e597c4b4eb1f908ba911578c4", - "value": 13156 - } - }, - "d425b9261ede48e9a8244103d88ba019": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_2348a979cdfb4a278361ddb8df9afb68", - "placeholder": "​", - "style": "IPY_MODEL_4ccd896252ef427d816fc3b4d3df420d", - "value": " 13.2k/13.2k [00:00<00:00, 170kB/s]" - } - }, - "55d35c3456974dfca4f7d040070bd75e": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "7f10de3bae624b51b463ddaa002b0481": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "3c2ecfd91223473f8a25992eea749e78": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "c04d48469bba4e45a676f02741e38d6e": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "d757de8e597c4b4eb1f908ba911578c4": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "2348a979cdfb4a278361ddb8df9afb68": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "4ccd896252ef427d816fc3b4d3df420d": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "fd80b692836f41c89ccd018ccc604180": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_273393f708a242d9abc1b906152219f3", - "IPY_MODEL_0c02b9c33dfd47a4815ba45766bb1fb2", - "IPY_MODEL_5e1d0261564944fca9198f304accda62" - ], - "layout": "IPY_MODEL_e60b341e4af04ab1bdcd2a8a7311bea6" - } - }, - "273393f708a242d9abc1b906152219f3": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_7a0030b0f58e4fdcbadec017a0b3409c", - "placeholder": "​", - "style": "IPY_MODEL_12476643822c4b09a2d6fd4d981fada0", - "value": "Downloading (…)7e55de9125/vocab.txt: 100%" - } - }, - "0c02b9c33dfd47a4815ba45766bb1fb2": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_48567107db734caaaa74ecec7337148e", - "max": 231508, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_f46b4f5300f44aa28a8cc44468053c15", - "value": 231508 - } - }, - "5e1d0261564944fca9198f304accda62": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_ea0c07f59f3d4798bb22ab7954b1854f", - "placeholder": "​", - "style": "IPY_MODEL_7d26ed2bf05a4d3293c5668d81a6b33f", - "value": " 232k/232k [00:00<00:00, 262kB/s]" - } - }, - "e60b341e4af04ab1bdcd2a8a7311bea6": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "7a0030b0f58e4fdcbadec017a0b3409c": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "12476643822c4b09a2d6fd4d981fada0": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "48567107db734caaaa74ecec7337148e": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "f46b4f5300f44aa28a8cc44468053c15": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "ea0c07f59f3d4798bb22ab7954b1854f": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "7d26ed2bf05a4d3293c5668d81a6b33f": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "3e2c3a1cc5254a8fb61712eadc580503": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_350ee7fe8da84634ad17cf5e5c77e6ed", - "IPY_MODEL_3d57bb07e348405db980b6558715e498", - "IPY_MODEL_195d4fd3d7384230a90812a73225ed9f" - ], - "layout": "IPY_MODEL_344a3c024ac443acb487a3b1af61c24b" - } - }, - "350ee7fe8da84634ad17cf5e5c77e6ed": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_57ab3a85fec5481dbaaec5e50ccd962c", - "placeholder": "​", - "style": "IPY_MODEL_66b799217d314097b08ceb22be97e4c7", - "value": "Downloading (…)5de9125/modules.json: 100%" - } - }, - "3d57bb07e348405db980b6558715e498": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_6ad2f27a57054787ba9b2ec77d3346c7", - "max": 349, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_ef85f3146c994b76b9c54f115fa4549d", - "value": 349 - } - }, - "195d4fd3d7384230a90812a73225ed9f": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_f8887b3234784548a939f47943cd95ac", - "placeholder": "​", - "style": "IPY_MODEL_7262343c69764ce6ba29e60ccd98134c", - "value": " 349/349 [00:00<00:00, 12.4kB/s]" - } - }, - "344a3c024ac443acb487a3b1af61c24b": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "57ab3a85fec5481dbaaec5e50ccd962c": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "66b799217d314097b08ceb22be97e4c7": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "6ad2f27a57054787ba9b2ec77d3346c7": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "ef85f3146c994b76b9c54f115fa4549d": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "f8887b3234784548a939f47943cd95ac": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "7262343c69764ce6ba29e60ccd98134c": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "7e7e38f10aa94fe98287fdc3b28312ce": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_5dbd640038a749e49e48a78eb55cf63e", - "IPY_MODEL_20e85aec6768457a887fcba9655ea231", - "IPY_MODEL_e98b5b07efdf404180c00793fdec702f" - ], - "layout": "IPY_MODEL_97850805bbec4179a813d34c5c4d6666" - } - }, - "5dbd640038a749e49e48a78eb55cf63e": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_7a83ce729ba84b8a8ef4336c01d90375", - "placeholder": "​", - "style": "IPY_MODEL_1750499a72d844afa913dc3be2a7f98a", - "value": "Downloading (…)okenizer_config.json: 100%" - } - }, - "20e85aec6768457a887fcba9655ea231": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_826c2371fac043c1887d0d9c87d3c29b", - "max": 90, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_119c64acb1684921be0b4408e4c3faa6", - "value": 90 - } - }, - "e98b5b07efdf404180c00793fdec702f": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_0684d35cc9404c25914e02aedd940a2e", - "placeholder": "​", - "style": "IPY_MODEL_3fcc9b142b2a44f3b9548eac92d5faa2", - "value": " 90.0/90.0 [00:00<00:00, 4.49kB/s]" - } - }, - "97850805bbec4179a813d34c5c4d6666": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "7a83ce729ba84b8a8ef4336c01d90375": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "1750499a72d844afa913dc3be2a7f98a": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "826c2371fac043c1887d0d9c87d3c29b": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "119c64acb1684921be0b4408e4c3faa6": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "0684d35cc9404c25914e02aedd940a2e": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "3fcc9b142b2a44f3b9548eac92d5faa2": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "038bc306d8724b819db47a316bfdd6e1": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_a3543d96d8a545f89afb98d76a1181c7", - "IPY_MODEL_eeaa4857fc974ee3b9b46941c754342b", - "IPY_MODEL_1049029c16114bc086cf4484f6f45468" - ], - "layout": "IPY_MODEL_42618b87f90a453c93aa4dc856f28630" - } - }, - "a3543d96d8a545f89afb98d76a1181c7": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_5bd670ec62424fd0b84046b6ddeedec1", - "placeholder": "​", - "style": "IPY_MODEL_e624983aa54d439a900cf81de2ccf499", - "value": "Downloading (…)lve/main/config.json: 100%" - } - }, - "eeaa4857fc974ee3b9b46941c754342b": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_4a67ea3dedd94023aecf6450800341d3", - "max": 1016, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_0938d2ea9bd44a6ba2731db87f3bcc1d", - "value": 1016 - } - }, - "1049029c16114bc086cf4484f6f45468": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_db57ea17fe814f26a9f03af638a2df7f", - "placeholder": "​", - "style": "IPY_MODEL_dcb7522e31594b8192989c360a88381a", - "value": " 1.02k/1.02k [00:00<00:00, 50.5kB/s]" - } - }, - "42618b87f90a453c93aa4dc856f28630": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "5bd670ec62424fd0b84046b6ddeedec1": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "e624983aa54d439a900cf81de2ccf499": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "4a67ea3dedd94023aecf6450800341d3": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "0938d2ea9bd44a6ba2731db87f3bcc1d": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "db57ea17fe814f26a9f03af638a2df7f": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "dcb7522e31594b8192989c360a88381a": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "86f8f138760c46f6aee850a6c35886fe": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_f657e5d88eb243ed9073d2556b18f99e", - "IPY_MODEL_cd456e3407a34c07b3958a139bd72029", - "IPY_MODEL_d85a06fc6d6a415ab68f18091c383751" - ], - "layout": "IPY_MODEL_89af788b799145da9203d0ff8a6b317a" - } - }, - "f657e5d88eb243ed9073d2556b18f99e": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_877b17b9a3e941b882881fbb1c6f3011", - "placeholder": "​", - "style": "IPY_MODEL_084aef287cba4ff09d86037f5be92b83", - "value": "Downloading (…)ve/main/spiece.model: 100%" - } - }, - "cd456e3407a34c07b3958a139bd72029": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_a3f594af952d4d309078aec2cfdadf9c", - "max": 791656, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_4c7d76b649924e189b9943eb3c418ae6", - "value": 791656 - } - }, - "d85a06fc6d6a415ab68f18091c383751": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_73d2fa425c07444995921484801fb61a", - "placeholder": "​", - "style": "IPY_MODEL_8ae83fee6ab34f3f9f8a7ac9df924b99", - "value": " 792k/792k [00:00<00:00, 876kB/s]" - } - }, - "89af788b799145da9203d0ff8a6b317a": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "877b17b9a3e941b882881fbb1c6f3011": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "084aef287cba4ff09d86037f5be92b83": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "a3f594af952d4d309078aec2cfdadf9c": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "4c7d76b649924e189b9943eb3c418ae6": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "73d2fa425c07444995921484801fb61a": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "8ae83fee6ab34f3f9f8a7ac9df924b99": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "0705c058cf9d4b659a7ad8f7561b435d": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_e3cee51ab6d144c0ac261ef042d60cc1", - "IPY_MODEL_2cbddff099374748ac780bdef7385554", - "IPY_MODEL_c15b320d28a440c2b9ae2e2b0ee28dce" - ], - "layout": "IPY_MODEL_869a40f46cb44006a946bd505cb6fcf9" - } - }, - "e3cee51ab6d144c0ac261ef042d60cc1": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_ace02805323a4340a7bc665d774a5af6", - "placeholder": "​", - "style": "IPY_MODEL_4d6d8c76910e48f0b41be8cba213b0d5", - "value": "Downloading (…)in/added_tokens.json: 100%" - } - }, - "2cbddff099374748ac780bdef7385554": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_cd763505148b46faa0c468fae438a4fc", - "max": 31, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_d402eb965c104f8d9fe85b71247d285d", - "value": 31 - } - }, - "c15b320d28a440c2b9ae2e2b0ee28dce": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_685a398dd23a4b3e90afdaa3c52ea228", - "placeholder": "​", - "style": "IPY_MODEL_3957cc8d70384c5cb8d71d856b6ff55f", - "value": " 31.0/31.0 [00:00<00:00, 645B/s]" - } - }, - "869a40f46cb44006a946bd505cb6fcf9": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "ace02805323a4340a7bc665d774a5af6": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "4d6d8c76910e48f0b41be8cba213b0d5": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "cd763505148b46faa0c468fae438a4fc": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "d402eb965c104f8d9fe85b71247d285d": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "685a398dd23a4b3e90afdaa3c52ea228": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "3957cc8d70384c5cb8d71d856b6ff55f": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "389bbd8aa9454c458a47d210c49388b4": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_cedbbbf348b340c8994a9c9f28ca3712", - "IPY_MODEL_7abf1bf2ba6c4678adf806d642db9447", - "IPY_MODEL_62586c7f4fec480d8817b5838d471292" - ], - "layout": "IPY_MODEL_02f0d07f1ddf461b9e46c754f41f9e8f" - } - }, - "cedbbbf348b340c8994a9c9f28ca3712": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_e982dbb2751f4b138da521cb5aad859a", - "placeholder": "​", - "style": "IPY_MODEL_6e786b66c62142eaa1a4e4f307d967f7", - "value": "Downloading (…)cial_tokens_map.json: 100%" - } - }, - "7abf1bf2ba6c4678adf806d642db9447": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_ff16a1b598c04b11af3b8226772ed93a", - "max": 65, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_130ca14d7b5b48dba8a1c7f9778be403", - "value": 65 - } - }, - "62586c7f4fec480d8817b5838d471292": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_814b42c13a11426f8845545c76364243", - "placeholder": "​", - "style": "IPY_MODEL_e05e42b190f64e1b90d4ddb10fac8e3e", - "value": " 65.0/65.0 [00:00<00:00, 1.92kB/s]" - } - }, - "02f0d07f1ddf461b9e46c754f41f9e8f": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "e982dbb2751f4b138da521cb5aad859a": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "6e786b66c62142eaa1a4e4f307d967f7": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "ff16a1b598c04b11af3b8226772ed93a": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "130ca14d7b5b48dba8a1c7f9778be403": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "814b42c13a11426f8845545c76364243": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "e05e42b190f64e1b90d4ddb10fac8e3e": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "79e82e893a1b450ca92d253598e98d8a": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_77fec345d20847a3b64ecb3f2e815f29", - "IPY_MODEL_babe5ebf81234a33805b9ba24a6f9674", - "IPY_MODEL_8cce81f4d37c455097e4c8e05aabac91" - ], - "layout": "IPY_MODEL_e0cd9f25d9844aeb8427c6f9951bcb9c" - } - }, - "77fec345d20847a3b64ecb3f2e815f29": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_55e80af70c1e4eacbd7f2832c8a7e54f", - "placeholder": "​", - "style": "IPY_MODEL_3e5d9eef4e624d699179cd9581511fdb", - "value": "Downloading (…)"pytorch_model.bin";: 100%" - } - }, - "babe5ebf81234a33805b9ba24a6f9674": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_6e215160abf14d2c983e394070a3e4cd", - "max": 242013444, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_170402145a27405db96320ad7f2e3123", - "value": 242013444 - } - }, - "8cce81f4d37c455097e4c8e05aabac91": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_5e23840c4a724648ae3fd0473e6721e1", - "placeholder": "​", - "style": "IPY_MODEL_f5e04127de9e4b34941907e5828bbc7e", - "value": " 242M/242M [00:14<00:00, 18.4MB/s]" - } - }, - "e0cd9f25d9844aeb8427c6f9951bcb9c": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "55e80af70c1e4eacbd7f2832c8a7e54f": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "3e5d9eef4e624d699179cd9581511fdb": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "6e215160abf14d2c983e394070a3e4cd": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "170402145a27405db96320ad7f2e3123": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "5e23840c4a724648ae3fd0473e6721e1": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "f5e04127de9e4b34941907e5828bbc7e": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "a201cb89320745ebb9978118c9249c6d": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_afbf9212553e4f75acaad0b8663e9aa4", - "IPY_MODEL_30e70c78f6274714b0525407f0181883", - "IPY_MODEL_345bd1436cb54e0faf647be0e52f4272" - ], - "layout": "IPY_MODEL_bc1d1492ca2d4551ac55add2c55f4706" - } - }, - "afbf9212553e4f75acaad0b8663e9aa4": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_e7127b0c73d24eb19accb78684f6541e", - "placeholder": "​", - "style": "IPY_MODEL_eaf5fa1c744e49ec9753d5de2040e007", - "value": "Downloading (…)okenizer_config.json: 100%" - } - }, - "30e70c78f6274714b0525407f0181883": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_1de2224a85094dfab088532901d072a6", - "max": 90, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_a9508eb88ffc4171aff3c3bcfa06e4bb", - "value": 90 - } - }, - "345bd1436cb54e0faf647be0e52f4272": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_203cb33a4b934b339dd2e6b7c988706e", - "placeholder": "​", - "style": "IPY_MODEL_ed123811f1934957929ef5cb41a6dd46", - "value": " 90.0/90.0 [00:00<00:00, 5.83kB/s]" - } - }, - "bc1d1492ca2d4551ac55add2c55f4706": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "e7127b0c73d24eb19accb78684f6541e": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "eaf5fa1c744e49ec9753d5de2040e007": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "1de2224a85094dfab088532901d072a6": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "a9508eb88ffc4171aff3c3bcfa06e4bb": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "203cb33a4b934b339dd2e6b7c988706e": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "ed123811f1934957929ef5cb41a6dd46": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "a6b8ce325ae74a219365d19ed19273a9": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_2e20c81fce5b4ee0a587f8c0e801fbdc", - "IPY_MODEL_921019803b7746b493c6c4b5c5383999", - "IPY_MODEL_3d6149799670461b9a196bfa109f6b10" - ], - "layout": "IPY_MODEL_3860fb266cd249fc83c7e066c4d200db" - } - }, - "2e20c81fce5b4ee0a587f8c0e801fbdc": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_139516f851734832ac685bfb8bab203c", - "placeholder": "​", - "style": "IPY_MODEL_c39f2be309a54a4ba1d1b6998bb8461f", - "value": "Downloading (…)lve/main/config.json: 100%" - } - }, - "921019803b7746b493c6c4b5c5383999": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_afcc251cf1ba42f0a0ce4dc2bc820318", - "max": 656, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_8af00812cef64c61a2dad0c1f816a258", - "value": 656 - } - }, - "3d6149799670461b9a196bfa109f6b10": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_b7fc6d319f334f409bddcb0c11c7931e", - "placeholder": "​", - "style": "IPY_MODEL_8970818f144645aa925859d7ed0117b1", - "value": " 656/656 [00:00<00:00, 37.7kB/s]" - } - }, - "3860fb266cd249fc83c7e066c4d200db": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "139516f851734832ac685bfb8bab203c": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "c39f2be309a54a4ba1d1b6998bb8461f": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "afcc251cf1ba42f0a0ce4dc2bc820318": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "8af00812cef64c61a2dad0c1f816a258": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "b7fc6d319f334f409bddcb0c11c7931e": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "8970818f144645aa925859d7ed0117b1": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "508256a0faa744a2ada73490936457cb": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_a538077c611d4c83babef437dd4d8e37", - "IPY_MODEL_2474fe56f3e14655aa408cd55e3399af", - "IPY_MODEL_ea95800cf34a4747b2e7ae28f0f7f714" - ], - "layout": "IPY_MODEL_c2df070863b44dbea451cc4846b6d518" - } - }, - "a538077c611d4c83babef437dd4d8e37": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_223a8ea2a0064e2ca43c8991f304b9ec", - "placeholder": "​", - "style": "IPY_MODEL_7b6485ae773f4b078176a47787b1e9a0", - "value": "Downloading (…)ve/main/spiece.model: 100%" - } - }, - "2474fe56f3e14655aa408cd55e3399af": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_42382568fad34605870930c177c4083a", - "max": 791656, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_79abb633f893488293a79aac83c393b3", - "value": 791656 - } - }, - "ea95800cf34a4747b2e7ae28f0f7f714": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_8f5b9374e841480a88aef33d002352b9", - "placeholder": "​", - "style": "IPY_MODEL_2996260887e546958e77a5d8a3752548", - "value": " 792k/792k [00:01<00:00, 707kB/s]" - } - }, - "c2df070863b44dbea451cc4846b6d518": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "223a8ea2a0064e2ca43c8991f304b9ec": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "7b6485ae773f4b078176a47787b1e9a0": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "42382568fad34605870930c177c4083a": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "79abb633f893488293a79aac83c393b3": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "8f5b9374e841480a88aef33d002352b9": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "2996260887e546958e77a5d8a3752548": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "811e32888d4c4c3f83c7114cae008635": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_4a40053ddecc403eb34518781f340412", - "IPY_MODEL_0293bd85ae24433d997c3d17a6fd34c7", - "IPY_MODEL_324e2dce7da64ca0a9e7316f69011eb9" - ], - "layout": "IPY_MODEL_9b839ef650d34c998f79cce95f3c163c" - } - }, - "4a40053ddecc403eb34518781f340412": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_3e885927cd2345308f0066af888bed29", - "placeholder": "​", - "style": "IPY_MODEL_b5faffa173e04a86a52749f6237e5df1", - "value": "Downloading (…)in/added_tokens.json: 100%" - } - }, - "0293bd85ae24433d997c3d17a6fd34c7": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_2d053b5d1e2f434aa78dca1c38eff8ce", - "max": 31, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_2710f9ca5992473084f0deae2d7fae27", - "value": 31 - } - }, - "324e2dce7da64ca0a9e7316f69011eb9": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_7ccb839bf9e54214b79a9877d98043f4", - "placeholder": "​", - "style": "IPY_MODEL_37e15e1c19874f83a5e2bf88115813f7", - "value": " 31.0/31.0 [00:00<00:00, 1.67kB/s]" - } - }, - "9b839ef650d34c998f79cce95f3c163c": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "3e885927cd2345308f0066af888bed29": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "b5faffa173e04a86a52749f6237e5df1": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "2d053b5d1e2f434aa78dca1c38eff8ce": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "2710f9ca5992473084f0deae2d7fae27": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "7ccb839bf9e54214b79a9877d98043f4": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "37e15e1c19874f83a5e2bf88115813f7": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "2b6c9ada8e814ae29e2693c302c5d51e": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_a0802f067a8f47f7bf7358dd5e5c028d", - "IPY_MODEL_e0f201f43829442c85a0cf1a2b9b0f1d", - "IPY_MODEL_844e3c0b5fa041829e9f596943609e99" - ], - "layout": "IPY_MODEL_c1ff358d1878418db0d61735c156e198" - } - }, - "a0802f067a8f47f7bf7358dd5e5c028d": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_42fbdabd4f9a44568830cb0d7f3ec236", - "placeholder": "​", - "style": "IPY_MODEL_0c2a4dfe8a7f416dacb8d2a382cc8a2e", - "value": "Downloading (…)cial_tokens_map.json: 100%" - } - }, - "e0f201f43829442c85a0cf1a2b9b0f1d": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_649f77b65bb744b1b7c8ead20b0a7f40", - "max": 65, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_5b80e90d75a64fdca4d72428d06cc2e0", - "value": 65 - } - }, - "844e3c0b5fa041829e9f596943609e99": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_2350da77d45c4d74ad4712cbef575ae2", - "placeholder": "​", - "style": "IPY_MODEL_162f4eb2e00349b0ab7020a39f83cce9", - "value": " 65.0/65.0 [00:00<00:00, 3.39kB/s]" - } - }, - "c1ff358d1878418db0d61735c156e198": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "42fbdabd4f9a44568830cb0d7f3ec236": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "0c2a4dfe8a7f416dacb8d2a382cc8a2e": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "649f77b65bb744b1b7c8ead20b0a7f40": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "5b80e90d75a64fdca4d72428d06cc2e0": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "2350da77d45c4d74ad4712cbef575ae2": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "162f4eb2e00349b0ab7020a39f83cce9": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "6e98579562fa467daffabe1e8b20e250": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_678df1aa0221426ea93033e9d331118a", - "IPY_MODEL_89f47931ca294279a3cf9009e0e8fcfb", - "IPY_MODEL_f60f7a16dc484590adb80bd0f11e82db" - ], - "layout": "IPY_MODEL_92d70794ea174a70ab5cf09873a5f4e4" - } - }, - "678df1aa0221426ea93033e9d331118a": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_04f96e3455024a27b9739998a07b779a", - "placeholder": "​", - "style": "IPY_MODEL_6234b01ab4fd4387a98fe55152cdf7b1", - "value": "Downloading (…)"pytorch_model.bin";: 100%" - } - }, - "89f47931ca294279a3cf9009e0e8fcfb": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_e1063f93970344bea56c25fbcf91985b", - "max": 242013376, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_60b24a7a6e7848c1b9dd7644177e1061", - "value": 242013376 - } - }, - "f60f7a16dc484590adb80bd0f11e82db": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_d49a5df75df0476093fef03b80dd3559", - "placeholder": "​", - "style": "IPY_MODEL_2fe9a19eed874204b85a6233c333d818", - "value": " 242M/242M [00:02<00:00, 127MB/s]" - } - }, - "92d70794ea174a70ab5cf09873a5f4e4": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "04f96e3455024a27b9739998a07b779a": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "6234b01ab4fd4387a98fe55152cdf7b1": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "e1063f93970344bea56c25fbcf91985b": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "60b24a7a6e7848c1b9dd7644177e1061": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "d49a5df75df0476093fef03b80dd3559": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "2fe9a19eed874204b85a6233c333d818": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "d3773a7e74224e48891f9308e177e9d7": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_7d48a0bfa50847529dd478d5ea121298", - "IPY_MODEL_34953ac98cdf4c189d0cbc9546f40da3", - "IPY_MODEL_9621d144941540d7b1dfc4dfdcd49e49" - ], - "layout": "IPY_MODEL_e7a82f8e15c342a883296d93284bd1ea" - } - }, - "7d48a0bfa50847529dd478d5ea121298": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_c10c94daeb914f54afba35a383c79cba", - "placeholder": "​", - "style": "IPY_MODEL_63ab639c624e443faa9328e5c1db950c", - "value": "Downloading data files: 100%" - } - }, - "34953ac98cdf4c189d0cbc9546f40da3": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_8a60430c7b9347729bded0521988b41a", - "max": 2, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_3a69f3fe8ebd46c6aa9ed4c4c9a787ff", - "value": 2 - } - }, - "9621d144941540d7b1dfc4dfdcd49e49": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_7bdd3b8e2f674b8b9762aa5c3bce43c7", - "placeholder": "​", - "style": "IPY_MODEL_7cac04f67ad94682bfe0ebec28b09724", - "value": " 2/2 [00:00<00:00, 61.93it/s]" - } - }, - "e7a82f8e15c342a883296d93284bd1ea": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "c10c94daeb914f54afba35a383c79cba": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "63ab639c624e443faa9328e5c1db950c": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "8a60430c7b9347729bded0521988b41a": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "3a69f3fe8ebd46c6aa9ed4c4c9a787ff": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "7bdd3b8e2f674b8b9762aa5c3bce43c7": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "7cac04f67ad94682bfe0ebec28b09724": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "bfbfa2b6b7924b58bb2662d01ef3aa2a": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_14e052da4fc34abfa6588f235c5e0693", - "IPY_MODEL_f6f9f6660d2b42629da4a99090dd0591", - "IPY_MODEL_8ab259dd59124e01a91a7aeb0f9dd90f" - ], - "layout": "IPY_MODEL_debeeedef4674ae4b66d1bbc7a1f7f7a" - } - }, - "14e052da4fc34abfa6588f235c5e0693": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_a5a65a328dba4946a597717314c295bc", - "placeholder": "​", - "style": "IPY_MODEL_777a695b711a459896cccb6068579ee2", - "value": "Extracting data files: 100%" - } - }, - "f6f9f6660d2b42629da4a99090dd0591": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_9ff42f2a16c1401786051504985b960e", - "max": 2, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_6d9700aa23154c59bdb37104284638a9", - "value": 2 - } - }, - "8ab259dd59124e01a91a7aeb0f9dd90f": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_a6f0992ad8b74900a0e7b47829ff1ba9", - "placeholder": "​", - "style": "IPY_MODEL_0f6b49abc7fe47eab324b66a59f5f73f", - "value": " 2/2 [00:00<00:00, 59.02it/s]" - } - }, - "debeeedef4674ae4b66d1bbc7a1f7f7a": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "a5a65a328dba4946a597717314c295bc": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "777a695b711a459896cccb6068579ee2": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "9ff42f2a16c1401786051504985b960e": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "6d9700aa23154c59bdb37104284638a9": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "a6f0992ad8b74900a0e7b47829ff1ba9": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "0f6b49abc7fe47eab324b66a59f5f73f": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "e1b528e0e2634912a848c382cef7d446": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_73da950916b0448a8f9d26257f6dfdc9", - "IPY_MODEL_3e5b193ab66a44c2a3f437779380d190", - "IPY_MODEL_97f5dca7a1124c93a371af54247ddafe" - ], - "layout": "IPY_MODEL_74780bf716de4e9ab4dd557b8e0ba369" - } - }, - "73da950916b0448a8f9d26257f6dfdc9": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_dd5a03574ed5406586e76260e43526da", - "placeholder": "​", - "style": "IPY_MODEL_9228be25539b4038a85e885afee25ba8", - "value": "Generating train split: " - } - }, - "3e5b193ab66a44c2a3f437779380d190": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "info", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_6c1ad43f31a04c60875ab261bb788696", - "max": 1, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_2a804f2ca96e4a5cb8c6dfe2dc5504b7", - "value": 1 - } - }, - "97f5dca7a1124c93a371af54247ddafe": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_2400e2f72ce94e0ab5f9c8da7150a59b", - "placeholder": "​", - "style": "IPY_MODEL_958f9f56cb0542dc8e0711ccd1631b39", - "value": " 0/0 [00:00<?, ? examples/s]" - } - }, - "74780bf716de4e9ab4dd557b8e0ba369": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": "hidden", - "width": null - } - }, - "dd5a03574ed5406586e76260e43526da": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "9228be25539b4038a85e885afee25ba8": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "6c1ad43f31a04c60875ab261bb788696": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": "20px" - } - }, - "2a804f2ca96e4a5cb8c6dfe2dc5504b7": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "2400e2f72ce94e0ab5f9c8da7150a59b": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "958f9f56cb0542dc8e0711ccd1631b39": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "54120104915344638c71f433d78717bf": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_ecaf7b13dbde4a4582e30b1ddbb48de3", - "IPY_MODEL_33fc36ee0c2e48db8911a418d1f097d5", - "IPY_MODEL_93926979e4ab4af98cf6e55fbce13e0c" - ], - "layout": "IPY_MODEL_e09dd5ca52e44a1e880a86d99e6e5661" - } - }, - "ecaf7b13dbde4a4582e30b1ddbb48de3": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_c913a5bdb86a4d0bb56dabca50a2464d", - "placeholder": "​", - "style": "IPY_MODEL_e183390684cd4e539b8af9723aa0d87d", - "value": "Generating test split: " - } - }, - "33fc36ee0c2e48db8911a418d1f097d5": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "info", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_ac6db5f390134b28890c747aaa9d2997", - "max": 1, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_ca7bc519044e46fcabc7b8a5df61cc4a", - "value": 1 - } - }, - "93926979e4ab4af98cf6e55fbce13e0c": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_d77393d4af3f4c40b5f4e2b96ee098b3", - "placeholder": "​", - "style": "IPY_MODEL_06253d68a1d9419387403e7091e45b00", - "value": " 0/0 [00:00<?, ? examples/s]" - } - }, - "e09dd5ca52e44a1e880a86d99e6e5661": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": "hidden", - "width": null - } - }, - "c913a5bdb86a4d0bb56dabca50a2464d": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "e183390684cd4e539b8af9723aa0d87d": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "ac6db5f390134b28890c747aaa9d2997": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": "20px" - } - }, - "ca7bc519044e46fcabc7b8a5df61cc4a": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "d77393d4af3f4c40b5f4e2b96ee098b3": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "06253d68a1d9419387403e7091e45b00": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "94d6da6b9d8e481f94dd9c997fa8a8aa": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_895d37502e8c4e5abae22a02818fa4d4", - "IPY_MODEL_2ba42c8510f2495faa830b6c865c0f71", - "IPY_MODEL_c311b1118a1c41cf99716dfce72e1484" - ], - "layout": "IPY_MODEL_2619f81a06d84ad2bed53c3ba6de45f1" - } - }, - "895d37502e8c4e5abae22a02818fa4d4": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_ba87ec97784b45318d132a5de128e9e2", - "placeholder": "​", - "style": "IPY_MODEL_2cf7ab309070425e82ccbc19dd32cf5d", - "value": "100%" - } - }, - "2ba42c8510f2495faa830b6c865c0f71": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_b569f02afc7e45c68b4d85f119b3ac0c", - "max": 2, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_94831ae081324b418157d75d6257bccd", - "value": 2 - } - }, - "c311b1118a1c41cf99716dfce72e1484": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_57504cf16cad42f0bfb0865164b8e2de", - "placeholder": "​", - "style": "IPY_MODEL_a589d15010314b7f805a13c6f11545f6", - "value": " 2/2 [00:00<00:00, 44.00it/s]" - } - }, - "2619f81a06d84ad2bed53c3ba6de45f1": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "ba87ec97784b45318d132a5de128e9e2": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "2cf7ab309070425e82ccbc19dd32cf5d": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "b569f02afc7e45c68b4d85f119b3ac0c": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "94831ae081324b418157d75d6257bccd": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "57504cf16cad42f0bfb0865164b8e2de": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "a589d15010314b7f805a13c6f11545f6": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "6f2ce04309ed4641a7eddbe1f56459bc": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_30dde65cebdc474ebdd0b0b02653f1de", - "IPY_MODEL_769bacb626c94efe8eff1065dd48d168", - "IPY_MODEL_acf7bf3d3afa4d5893fd043b12be4fff" - ], - "layout": "IPY_MODEL_cc02494ae7944b989dbd65443d63e003" - } - }, - "30dde65cebdc474ebdd0b0b02653f1de": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_2f612cb1006947b999708fd0409fa34e", - "placeholder": "​", - "style": "IPY_MODEL_7c4f793b01cc462d88bdeb2dc347a6af", - "value": "100%" - } - }, - "769bacb626c94efe8eff1065dd48d168": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_15ba34e91ec04453934e57e194877210", - "max": 1, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_f5c632a336f14554afc5bff54535cb8d", - "value": 1 - } - }, - "acf7bf3d3afa4d5893fd043b12be4fff": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_4fc7773178d848268023f8a508b5d652", - "placeholder": "​", - "style": "IPY_MODEL_8a8f44db920c4232a6142cdf45b84d67", - "value": " 1/1 [00:00<00:00, 4.00ba/s]" - } - }, - "cc02494ae7944b989dbd65443d63e003": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "2f612cb1006947b999708fd0409fa34e": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "7c4f793b01cc462d88bdeb2dc347a6af": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "15ba34e91ec04453934e57e194877210": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "f5c632a336f14554afc5bff54535cb8d": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "4fc7773178d848268023f8a508b5d652": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "8a8f44db920c4232a6142cdf45b84d67": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "edd15e8996f84cac87ada11501cb44b9": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_ec44dffc1d5e42d9a260fb752358c67e", - "IPY_MODEL_f6fb07afd7e04e0bacef997c088bf3c9", - "IPY_MODEL_4e229e7be3bf44c5a820088253946e2a" - ], - "layout": "IPY_MODEL_90fb27e38fa746b8bf3da2161ee94fb5" - } - }, - "ec44dffc1d5e42d9a260fb752358c67e": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_bc1c5890244c4918a6d923132cbe4abd", - "placeholder": "​", - "style": "IPY_MODEL_fc1409287d904c5b840a66ea58df4b7f", - "value": "100%" - } - }, - "f6fb07afd7e04e0bacef997c088bf3c9": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_77bcc49e0ef74d09814e6a8c540083f7", - "max": 1, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_e14dbdfe59834647845b5bd30af40953", - "value": 1 - } - }, - "4e229e7be3bf44c5a820088253946e2a": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_b528dbefd64a4908bf7b8a5206d3eb16", - "placeholder": "​", - "style": "IPY_MODEL_d0373a8397084cd28ca8a0cc09512b50", - "value": " 1/1 [00:00<00:00, 11.36ba/s]" - } - }, - "90fb27e38fa746b8bf3da2161ee94fb5": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "bc1c5890244c4918a6d923132cbe4abd": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "fc1409287d904c5b840a66ea58df4b7f": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "77bcc49e0ef74d09814e6a8c540083f7": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "e14dbdfe59834647845b5bd30af40953": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "b528dbefd64a4908bf7b8a5206d3eb16": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "d0373a8397084cd28ca8a0cc09512b50": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - } - } - }, - "accelerator": "GPU", - "gpuClass": "standard" - }, - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "id": "view-in-github", - "colab_type": "text" - }, - "source": [ - "\"Open" - ] - }, - { - "cell_type": "markdown", - "source": [ - "#Instructions\n", - "\n", - "####This notebook is divided into two sections --- >\n", - "\n", - "\n", - "1. Fine-Tuning Scripts\\\n", - " This section is implemenation of our fine-tuning methodology discussed in the report.\n", - " Briefly, we first cluster the train data, and fine-tune the pre-trained Question-Answer Models on the clusters. Also, we have generated dataset of sentence triplets and fine-tuned our embedding generating model on it. \n", - "\n", - " **Note : Since, there was no clarification on 12 hour training time limit i.e. if 12 hrs is the time limit for fine-tuning single model or the total fine-tuning time. We raised a query regarding this on 1st Feb 2023 but have recieved no response yet. We fine-tuned and saved models for each cluster but use only the base-model for prediction and had to abandon the fine-tuned models to avoid any unwanted penalty.**\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "2. Evaluation Day Fine-Tuning\\\n", - " On evaluation day we classified the given themes into old clusters. Since our base model - \"electra-base\" is pre-trained on SQuAD v2 dataset, we decided to generate questions on the non - SQuAD theme and fine-tuned the clusters in which those themes lies.\n", - "\n", - " **Time Alloted** : 6 Hours\n", - "\n", - "\n", - "\n", - "### Running The Notebook\n", - "\n", - "To fit within the 12 hour training time limit we are only fine-tuning our embedding generating model - Mpnet for submission. Follow the following steps to run the fine-tuning script\n", - "\n", - "\n", - "\n", - "1. Run Dataset Gen Section. The dataset will be saved into the drive.\n", - "2. Delete, Disconnect and restart the runtime to clear the RAM\n", - "3. Run the embedding model fine-tune section. The fine-tuned model will be saved to the drive.\n", - "\n", - "\n", - "\n" - ], - "metadata": { - "id": "S9BFvFw6DuqS" - } - }, - { - "cell_type": "markdown", - "source": [ - "# Fine-tuning Script" - ], - "metadata": { - "id": "Re6Q2ErFPbLG" - } - }, - { - "cell_type": "markdown", - "source": [ - "## MPNet Finetuning" - ], - "metadata": { - "id": "z-RkMOR-YHt-" - } - }, - { - "cell_type": "markdown", - "metadata": { - "id": "Wof0Ix6nHVCS" - }, - "source": [ - "### Dataset Gen" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "YfseoiG3IxNR", - "outputId": "86e778d0-1f90-4d2d-96ba-8205166ce19c" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Drive already mounted at /content/gdrive; to attempt to forcibly remount, call drive.mount(\"/content/gdrive\", force_remount=True).\n" - ] - } - ], - "source": [ - "from google.colab import drive\n", - "drive.mount('/content/gdrive')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "shtwYAUtHgC_", - "outputId": "a380fd21-cb30-4efc-9222-18dfad2082eb" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", - "Requirement already satisfied: sentence-transformers in /usr/local/lib/python3.8/dist-packages (2.2.2)\n", - "Requirement already satisfied: transformers<5.0.0,>=4.6.0 in /usr/local/lib/python3.8/dist-packages (from sentence-transformers) (4.26.0)\n", - "Requirement already satisfied: torch>=1.6.0 in /usr/local/lib/python3.8/dist-packages (from sentence-transformers) (1.13.1+cu116)\n", - "Requirement already satisfied: scikit-learn in /usr/local/lib/python3.8/dist-packages (from sentence-transformers) (1.0.2)\n", - "Requirement already satisfied: numpy in /usr/local/lib/python3.8/dist-packages (from sentence-transformers) (1.21.6)\n", - "Requirement already satisfied: scipy in /usr/local/lib/python3.8/dist-packages (from sentence-transformers) (1.7.3)\n", - "Requirement already satisfied: torchvision in /usr/local/lib/python3.8/dist-packages (from sentence-transformers) (0.14.1+cu116)\n", - "Requirement already satisfied: huggingface-hub>=0.4.0 in /usr/local/lib/python3.8/dist-packages (from sentence-transformers) (0.12.0)\n", - "Requirement already satisfied: nltk in /usr/local/lib/python3.8/dist-packages (from sentence-transformers) (3.7)\n", - "Requirement already satisfied: sentencepiece in /usr/local/lib/python3.8/dist-packages (from sentence-transformers) (0.1.97)\n", - "Requirement already satisfied: tqdm in /usr/local/lib/python3.8/dist-packages (from sentence-transformers) (4.64.1)\n", - "Requirement already satisfied: requests in /usr/local/lib/python3.8/dist-packages (from huggingface-hub>=0.4.0->sentence-transformers) (2.25.1)\n", - "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.8/dist-packages (from huggingface-hub>=0.4.0->sentence-transformers) (5.4.1)\n", - "Requirement already satisfied: typing-extensions>=3.7.4.3 in /usr/local/lib/python3.8/dist-packages (from huggingface-hub>=0.4.0->sentence-transformers) (4.4.0)\n", - "Requirement already satisfied: packaging>=20.9 in /usr/local/lib/python3.8/dist-packages (from huggingface-hub>=0.4.0->sentence-transformers) (23.0)\n", - "Requirement already satisfied: filelock in /usr/local/lib/python3.8/dist-packages (from huggingface-hub>=0.4.0->sentence-transformers) (3.9.0)\n", - "Requirement already satisfied: regex!=2019.12.17 in /usr/local/lib/python3.8/dist-packages (from transformers<5.0.0,>=4.6.0->sentence-transformers) (2022.6.2)\n", - "Requirement already satisfied: tokenizers!=0.11.3,<0.14,>=0.11.1 in /usr/local/lib/python3.8/dist-packages (from transformers<5.0.0,>=4.6.0->sentence-transformers) (0.13.2)\n", - "Requirement already satisfied: click in /usr/local/lib/python3.8/dist-packages (from nltk->sentence-transformers) (7.1.2)\n", - "Requirement already satisfied: joblib in /usr/local/lib/python3.8/dist-packages (from nltk->sentence-transformers) (1.2.0)\n", - "Requirement already satisfied: threadpoolctl>=2.0.0 in /usr/local/lib/python3.8/dist-packages (from scikit-learn->sentence-transformers) (3.1.0)\n", - "Requirement already satisfied: pillow!=8.3.*,>=5.3.0 in /usr/local/lib/python3.8/dist-packages (from torchvision->sentence-transformers) (7.1.2)\n", - "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.8/dist-packages (from requests->huggingface-hub>=0.4.0->sentence-transformers) (2022.12.7)\n", - "Requirement already satisfied: chardet<5,>=3.0.2 in /usr/local/lib/python3.8/dist-packages (from requests->huggingface-hub>=0.4.0->sentence-transformers) (4.0.0)\n", - "Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.8/dist-packages (from requests->huggingface-hub>=0.4.0->sentence-transformers) (1.26.14)\n", - "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.8/dist-packages (from requests->huggingface-hub>=0.4.0->sentence-transformers) (2.10)\n", - "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", - "Requirement already satisfied: gdown in /usr/local/lib/python3.8/dist-packages (4.4.0)\n", - "Requirement already satisfied: six in /usr/local/lib/python3.8/dist-packages (from gdown) (1.15.0)\n", - "Requirement already satisfied: tqdm in /usr/local/lib/python3.8/dist-packages (from gdown) (4.64.1)\n", - "Requirement already satisfied: filelock in /usr/local/lib/python3.8/dist-packages (from gdown) (3.9.0)\n", - "Requirement already satisfied: requests[socks] in /usr/local/lib/python3.8/dist-packages (from gdown) (2.25.1)\n", - "Requirement already satisfied: beautifulsoup4 in /usr/local/lib/python3.8/dist-packages (from gdown) (4.6.3)\n", - "Requirement already satisfied: chardet<5,>=3.0.2 in /usr/local/lib/python3.8/dist-packages (from requests[socks]->gdown) (4.0.0)\n", - "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.8/dist-packages (from requests[socks]->gdown) (2.10)\n", - "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.8/dist-packages (from requests[socks]->gdown) (2022.12.7)\n", - "Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.8/dist-packages (from requests[socks]->gdown) (1.26.14)\n", - "Requirement already satisfied: PySocks!=1.5.7,>=1.5.6 in /usr/local/lib/python3.8/dist-packages (from requests[socks]->gdown) (1.7.1)\n" - ] - } - ], - "source": [ - "!pip install sentence-transformers\n", - "!pip install --no-cache-dir gdown" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "nnXYWE5GHohk", - "outputId": "8b6cb6f3-ba2b-43d8-fcba-d8bab2e2924e" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Downloading...\n", - "From: https://drive.google.com/uc?id=1Z-yb752A3o7b9dqrGt24XU0sl53FVqya\n", - "To: /content/train_data.csv\n", - "100% 65.6M/65.6M [00:00<00:00, 194MB/s]\n" - ] - } - ], - "source": [ - "!gdown 1Z-yb752A3o7b9dqrGt24XU0sl53FVqya" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "Z93DIJJsHq_Q" - }, - "outputs": [], - "source": [ - "import csv\n", - "import requests\n", - "\n", - "# load training dataset\n", - "def load_data():\n", - " CSV_URL = 'https://drive.google.com/u/0/uc?id=1Z-yb752A3o7b9dqrGt24XU0sl53FVqya&export=download'\n", - "\n", - " with requests.Session() as s:\n", - " download = s.get(CSV_URL)\n", - " decoded_content = download.content.decode('utf-8')\n", - " cr = csv.reader(decoded_content.splitlines(), delimiter=',')\n", - " train_data = list(cr)\n", - "\n", - " print(f\"Number of examples = {len(train_data)}\")\n", - " ans, noans = 0, 0\n", - " for x in train_data:\n", - " if x[4] == 'False':\n", - " noans += 1\n", - " else:\n", - " ans += 1\n", - " print(f\"\\tAnswerable questions = {ans}\")\n", - " print(f\"\\tNon-Answerable questions = {noans}\\n\")\n", - " print(\"Examples:\")\n", - " for i in [0, 1000, 1300]:\n", - " print(' | '.join(train_data[i][:2]), ' | ', train_data[i][2][:20] + '...', ' | ', ' | '.join(train_data[i][3:]))\n", - " return train_data" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "EQ6OEXFwHt-c" - }, - "outputs": [], - "source": [ - "def load_theme_wise_data(train_data):\n", - " theme_wise_data = {}\n", - " for x in train_data[1:]:\n", - " if x[1] not in theme_wise_data:\n", - " theme_wise_data[x[1]] = {\n", - " 'para': [],\n", - " 'ques': [],\n", - " 'ans': []\n", - " }\n", - " if x[2] not in theme_wise_data[x[1]]['para']:\n", - " theme_wise_data[x[1]]['para'].append(x[2])\n", - " theme_wise_data[x[1]]['ques'].append(x[3])\n", - " # ans contains a list -> [Para_Number, Answer_possible, Answer_text, Answer_start]\n", - " theme_wise_data[x[1]]['ans'].append([theme_wise_data[x[1]]['para'].index(x[2])] + x[4:])\n", - " print(f'\\nTotal {len(theme_wise_data)} themes present.')\n", - " return theme_wise_data" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "BEcxtCF2HwNm" - }, - "outputs": [], - "source": [ - "def load_ques_by_theme(theme, theme_wise_data, answerable_only = False):\n", - " paras = theme_wise_data[theme]['para']\n", - " ques = []\n", - " gold_para = []\n", - " ans = []\n", - " for i in range(len(theme_wise_data[theme]['ques'])):\n", - " if answerable_only and theme_wise_data[theme]['ans'][i][1] == 'False':\n", - " continue\n", - " ques.append(theme_wise_data[theme]['ques'][i])\n", - " gold_para.append(theme_wise_data[theme]['ans'][i][0])\n", - " ans.append(theme_wise_data[theme]['ans'][i][1:])\n", - "\n", - " print(\"Total Questions:\", len(ques))\n", - " print(\"Total Paragraphs:\", len(paras))\n", - " return paras, ques, gold_para, ans" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "8AI96qQeHzzK", - "outputId": "8a345ce8-5f25-4a34-d86d-45a0b0c03aad" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Number of examples = 75056\n", - "\tAnswerable questions = 50126\n", - "\tNon-Answerable questions = 24930\n", - "\n", - "Examples:\n", - " | Theme | Paragraph... | Question | Answer_possible | Answer_text | Answer_start\n", - "1430 | Frédéric_Chopin | Some modern commenta... | Who said Chopin's works were modeled after Bach, Beethoven, Schubert and Field? | True | ['Richard Taruskin'] | [543]\n", - "2196 | The_Legend_of_Zelda:_Twilight_Princess | Twilight Princess ta... | Who releases Bulbins from the Realm of Twilight? | False | [] | []\n", - "\n", - "Total 361 themes present.\n" - ] - } - ], - "source": [ - "train_data = load_data()\n", - "theme_wise_data = load_theme_wise_data(train_data)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "XkU8G5BGH2dT", - "outputId": "9ae847c6-2713-4add-9605-de25a2ac89fc" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", - "Requirement already satisfied: transformers in /usr/local/lib/python3.8/dist-packages (4.26.0)\n", - "Requirement already satisfied: tqdm>=4.27 in /usr/local/lib/python3.8/dist-packages (from transformers) (4.64.1)\n", - "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.8/dist-packages (from transformers) (5.4.1)\n", - "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.8/dist-packages (from transformers) (23.0)\n", - "Requirement already satisfied: numpy>=1.17 in /usr/local/lib/python3.8/dist-packages (from transformers) (1.21.6)\n", - "Requirement already satisfied: huggingface-hub<1.0,>=0.11.0 in /usr/local/lib/python3.8/dist-packages (from transformers) (0.12.0)\n", - "Requirement already satisfied: requests in /usr/local/lib/python3.8/dist-packages (from transformers) (2.25.1)\n", - "Requirement already satisfied: tokenizers!=0.11.3,<0.14,>=0.11.1 in /usr/local/lib/python3.8/dist-packages (from transformers) (0.13.2)\n", - "Requirement already satisfied: filelock in /usr/local/lib/python3.8/dist-packages (from transformers) (3.9.0)\n", - "Requirement already satisfied: regex!=2019.12.17 in /usr/local/lib/python3.8/dist-packages (from transformers) (2022.6.2)\n", - "Requirement already satisfied: typing-extensions>=3.7.4.3 in /usr/local/lib/python3.8/dist-packages (from huggingface-hub<1.0,>=0.11.0->transformers) (4.4.0)\n", - "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (2022.12.7)\n", - "Requirement already satisfied: chardet<5,>=3.0.2 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (4.0.0)\n", - "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (2.10)\n", - "Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (1.26.14)\n", - "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", - "Requirement already satisfied: transformers in /usr/local/lib/python3.8/dist-packages (4.26.0)\n", - "Collecting faiss-cpu\n", - " Downloading faiss_cpu-1.7.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.0 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m17.0/17.0 MB\u001b[0m \u001b[31m43.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.8/dist-packages (from transformers) (23.0)\n", - "Requirement already satisfied: requests in /usr/local/lib/python3.8/dist-packages (from transformers) (2.25.1)\n", - "Requirement already satisfied: filelock in /usr/local/lib/python3.8/dist-packages (from transformers) (3.9.0)\n", - "Requirement already satisfied: regex!=2019.12.17 in /usr/local/lib/python3.8/dist-packages (from transformers) (2022.6.2)\n", - "Requirement already satisfied: huggingface-hub<1.0,>=0.11.0 in /usr/local/lib/python3.8/dist-packages (from transformers) (0.12.0)\n", - "Requirement already satisfied: numpy>=1.17 in /usr/local/lib/python3.8/dist-packages (from transformers) (1.21.6)\n", - "Requirement already satisfied: tokenizers!=0.11.3,<0.14,>=0.11.1 in /usr/local/lib/python3.8/dist-packages (from transformers) (0.13.2)\n", - "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.8/dist-packages (from transformers) (5.4.1)\n", - "Requirement already satisfied: tqdm>=4.27 in /usr/local/lib/python3.8/dist-packages (from transformers) (4.64.1)\n", - "Requirement already satisfied: typing-extensions>=3.7.4.3 in /usr/local/lib/python3.8/dist-packages (from huggingface-hub<1.0,>=0.11.0->transformers) (4.4.0)\n", - "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (2.10)\n", - "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (2022.12.7)\n", - "Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (1.26.14)\n", - "Requirement already satisfied: chardet<5,>=3.0.2 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (4.0.0)\n", - "Installing collected packages: faiss-cpu\n", - "Successfully installed faiss-cpu-1.7.3\n" - ] - } - ], - "source": [ - "!pip install transformers\n", - "!pip install transformers faiss-cpu\n", - "\n", - "from transformers import AutoModel, AutoTokenizer\n", - "\n", - "import faiss\n", - "import matplotlib.pyplot as plt\n", - "import tensorflow as tf\n", - "import tensorflow_hub as hub\n", - "import torch\n", - "\n", - "metric = faiss.METRIC_INNER_PRODUCT" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 1000, - "referenced_widgets": [ - "554f751b8ff0416e809602ac66615ed8", - "dede7caf3da240c7b2af4a141a756daf", - "da5a0e71855648568c51e9db0668f6ed", - "3b997150790849ab909538413619eeaf", - "9123dde4f5d9484283a83609c89e6c2e", - "8a6e3c80dbb94a209c07998a62c6424b", - "4952fe1eb12a457282cbd051015c0f03", - "790ca395bcb04e129dfac303dd7f5980", - "cd873d375db74670a2d04057805997c8", - "ddacf97f240a447cbc099934940c2d1d", - "db386f546e3648f5aef6cf6f6b7a6290", - "09c8feb67fb84803b5cca7faea69eaae", - "ded5c38db5184a9293627478a55d3047", - "d25b36bbddc54cc4af0a4adbf101b5c9", - "2335bff7077442969bcc90df9bfbdef1", - "1fa191e9d3f14ffbb75cb85e483986fd", - "b80531b31123448fa86bff0edd6ff723", - "72be47de22a4455abd173fe25feb1c80", - "88f776a99ff14395984db84b27e4a307", - "7cc9e76eae3746c79a9c2d83f4850c43", - "6265a76b869f4eb1aa6ca13a6900e7b1", - "d4e7c76601b44b3ab34f968165f465f3", - "9e6665522e694fd2b53100dae136c454", - "9ca58304673f466ab6cb16936871443f", - "97af9180432e451cbaec77e67fb91ff5", - "d5387f63b562430581aa4678ceeb2d4f", - "9113c79a6788460789cf0691cfdc1294", - "be244da2ab744f2b99889d7a5ba5d71d", - "940c4b568b2e4c259e4a8ddbb9b58f2b", - "fc141e0a0d194d4096beb99c2bc48a8d", - "8141a848dfc84a6a86d77bdc4db80606", - "37681c9d9dc440b987e14110f401679e", - "f5c6b4411fd3491ca59dd700dee25db0", - "dc4932dac5fc4cc0952919974e9785c8", - "e29e83d5dd5648ec854d79b873153709", - "bc0f9445d806467e8aecea40c810e421", - "b3d6a9cbfdcd4ee4af73175fff255bd2", - "900aac83a71b4db88611e3ef0dc5f28d", - "7fd38e429c634221afdb2133e7219e4b", - "0254340b0b7c43acb40cdc0f353d96da", - "434633248ef74025b9a52104396cade3", - "217c550442f449fa9218818bf88367ea", - "4fff0fa185254860a42170d2aae5e61f", - "17581e32619e4bf28cd0e5c6a9dcfb33", - "c7556a28d9734c58943797d1b8a08d5f", - "5d01acbcc2164131a1238da70b5ff07c", - "c5fd8d13c2364146bd88a8748c717758", - "99943b8f2a1447ca9561f6d6161c5f4d", - "6025ace7bb0c44aaac1e48a82ba0501b", - "e4bdaf9ddcb74b35b00e8669593b3da9", - "8bbcd0a287754783a907013dd0a38f84", - "d82ffe7434d6472989afc21d8b458c0c", - "a213284196d54a10ad891cbf4b918495", - "12f23949347a4f80938e1e5f95fc0941", - "ba0552fb4a1a4ababc6ddffe7ab6d924", - "04044ce9e4ee4780b8905b68eaca1d52", - "a4451bf8009a48a18d8239cf86b824a1", - "3d30b30763fe402d843128420425c5db", - "bda95c5f68894cdb90d0eaec3f74e0fc", - "acc78125a9ea44fe9e2b7fa4da275e73", - "04548febb66248e58d1763b9dcce792e", - "4cee068c213a43dd80f1c5ae55b45d72", - "ffffdc63166a478c85a8b49f407571bb", - "bc547a732251480a9d694af49753a825", - "1464808e564f42df8d5f3f3cbcf8e100", - "28ddfda379994f5cae51c18fa105a432", - "f93fc289f5b343c2b82eb948e646f4cd", - "551373c16fdc4e4c9dd6ad3be59bf789", - "ace4b7ed42904e938f693a18b5836958", - "47cf4f01a9a54590a9824bb878d85935", - "9e2e5cd8aff049a6b4a6b43c9212452e", - "32ee63859fe7461c8bbcffada86f3baf", - "2925784ceb6a43019acd142d1dc8d8bd", - "efd338c7a25c4685843f05dafd2c539e", - "e00638c7c7db47968b8e25ebc45e863a", - "2a033cf9e93749b6a3cd6a89f99a26f3", - "5b70f4f70277496f85475dba8e1b6897", - "ffaf9b40feae489d960fb819ef3549f6", - "954602f84a3f4cdf8f447e944e7b2776", - "1949dfdeda5c44848fee8984fea4bbb6", - "a1fc49270d684f31b7148615d42086a2", - "4c74c39cbf114aa9a414aff3143d86ff", - "e0434647bd544cbaad40287211c50735", - "0ba082705a424b99b9bba69722f5d0cb", - "fb178827efa647cc81f65be593990d82", - "747907457ca745e49563f3473979cdd4", - "de6ca80f55154894afdfe282a663b3c4", - "11883abab80e4e8d825bd6887beb2c09", - "330ce7bec1af4967af7a0a55bd2d3dca", - "1a4f2fcde3a5400285883371f6dca329", - "36b6d74732834535a3ccdae1a8de8151", - "7fd267a6b06944c189ec524f801c1d98", - "475615e9501b4ec9a46fdffab75eaf1c", - "82031bbb91a9401294ed5533a0068165", - "a85557e74b5e49ab8e515081ef86a560", - "e38ca107f5f94b8fbb61be8126e6b38c", - "2afd4ae6e6b54ed3b4cc334e96602fd9", - "a81e4fb49e60401eab79f4e3761ab306", - "ead7b89bc6bb442682424e44ab1295bb", - "9a4ea61b822d402f86d64fd38eab793e", - "429130db6e7448f2a8722aa81dd146e0", - "d45475a0ac0843e7b1e6fb46a814f38a", - "a133e353ea4c4b1ba01d480ebe019718", - "4d31c82cb41c4950987b94bf04452b4e", - "62d3345b8edd4333be4edb3574ff25c8", - "f621c577fa8445e497bbfa23eaa0799c", - "e45f220255754ac49964f3cf9d920378", - "f0706984071246a990fd520506a9de01", - "a5dbccbe5f62496e9dc8fa52ca45372f", - "8fa2df8de1dc4be9be80d7954b48f733", - "be611c0c9a93464e9ab15bd2fc0bcfaf", - "dc75e9229daf4cbfa8ce4c2810c66225", - "e1603a0acd2747d58faf8b3be00036cc", - "57374ecd652d4f19b506cb2823007f06", - "c23d91bc9af74a00b05e19f896dd1d5c", - "f8058b6ff1f947e7bccf7f3e67d8f64c", - "9170abbea31a4041977f078d2ef35b93", - "7d7368d36e424da8af1ce3f76d0ad452", - "96a8964214524dc1a6c3ebbf8e64083d", - "47120b1c06dd43ba915c71e94b3eb4bd", - "5adc6ac114744809a9aa82b5062e69f9", - "f6a49b8efdb34aa79b9fb86f9c344d8f", - "870bf9edfd77416995f414adacce18d8", - "c16b028441d547f4a28af3d525115f75", - "ae5e57fd98ef4d0da5052482686cf682", - "ce13508fd18a4cf083f690b85c87d86f", - "0b779cef3aa0408ea4e42ffc96d667c0", - "5510334f685346c59a3e0505c75b16f7", - "0586119f450849bb976b032d4e1be4e7", - "939a74a7562a4f6fa36d5d4b6953b3f3", - "3809185f89a84e9d80cbf52ddb4ceba5", - "38b53b47b3b44873981934cb25355f34", - "a95f175763694bc88dab702583cdcfb2", - "4d4f60c9d53a48e0b59e83996852d020", - "9bd48266d6af4eaf874bd83418ffcfde", - "0f48441e94094032986a0f8b1e8a83f6", - "5b52364e02644d2493a4151feb44c8e4", - "f391ce0c3efb44ef9ec2f29fdfc7c3ac", - "f93fa7f62d6a4856be5ebdbf67255ceb", - "c352199812564c918730dd1f21804a6e", - "294410dabf574325b2c917f0403552f8", - "e9e3cde5aa2b477086f06088b4311dbf", - "0116e5fe60df4786994674ca18f2419b", - "2298451522a8489ebdfde3e2f094e2a9", - "451ae7bf10dd4ade90d6de235d49206b", - "6fd4e0412e1c42168af489b822c801bd", - "5bb03492ddf74a66a96acad54a1e7400", - "3be8d43893e64992b88af0cf9565b50a", - "122f2a85c70a47b69fb7d4edc6291083", - "e4892c81eb014480bf48c4ee31b32aa9", - "4873ade6343c42c98a5cf61cec784641", - "c2b17653f2a74476af1e061bd5f41c46", - "95fba4a2255641958831bd0a8b90375a", - "c83bcc1a36bc47d8bac05e3d78439f14" - ] - }, - "id": "bmzCSKZ0IAAF", - "outputId": "62b8d4f4-f021-417c-fd0d-cfe0712b0dcf" - }, - "outputs": [ - { - "output_type": "display_data", - "data": { - "text/plain": [ - "Downloading (…)a8e1d/.gitattributes: 0%| | 0.00/1.18k [00:00 0.8):\n", - "\n", - " # print(sent_comb[I[0][j]])\n", - " non_similar_sent.append(sent_comb[I[0][j]])\n", - " break\n", - " # for j in range(7):\n", - "\n", - " # if(D[0][j]>0.7):\n", - " # #print(sent_comb[I[0][i]])\n", - " # #print(D[0][i])\n", - " # non_similar_sent.append(sent_comb[I[0][j]])\n", - " # break\n", - " # if(D[0][6]<=0.7):\n", - " # non_similar_sent.append(sent_comb[I[0][4]])\n", - " # break\n", - " #fifth_sim.append(results[4]['sentence'][0])\n", - "\n", - " ans_sent = []\n", - " for i in rndm:\n", - " sntncs = nltk.sent_tokenize(theme_wise_data[theme]['para'][theme_wise_data[theme]['ans'][i][0]])\n", - " char_no = 0\n", - " for j in range(len(sntncs)):\n", - " if(int(char_nos[i])!=-1):\n", - " if(char_no <= int(char_nos[i])):\n", - " char_no+=len(sntncs[j])\n", - " if(char_no>int(char_nos[i])):\n", - " break\n", - "\n", - " if(char_nos[i]!='-1'):\n", - " ans_sent.append(sntncs[j])\n", - " else:\n", - " ans_sent.append('')\n", - "\n", - " return query_vec, ans_sent, non_similar_sent" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "7XxL-YbuIZA2" - }, - "outputs": [], - "source": [ - "themes_not_unique = []\n", - "for i in range(1, 75056):\n", - " themes_not_unique.append(train_data[i][1])\n", - "\n", - "themelist = set(themes_not_unique)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "QHXm_smmIdea", - "outputId": "042f5910-8ee3-4030-dd2f-75d38326ec82" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", - "Requirement already satisfied: tqdm in /usr/local/lib/python3.8/dist-packages (4.64.1)\n" - ] - }, - { - "output_type": "stream", - "name": "stderr", - "text": [ - "100%|██████████| 361/361 [08:02<00:00, 1.34s/it]\n" - ] - } - ], - "source": [ - "!pip install tqdm\n", - "from tqdm import tqdm\n", - "\n", - "qu = []\n", - "an = []\n", - "si = []\n", - "for theme in tqdm(themelist):\n", - " qu, an, si = (val + delta for val, delta in zip((qu, an, si), (make_dataset(theme))))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "OUup-vRTIubD" - }, - "outputs": [], - "source": [ - "import pandas as pd\n", - "data = {'Query':qu, 'Actual Answer':an, 'Fifth Similar':si}\n", - "df = pd.DataFrame(data)\n", - "df.to_csv('CompleteDataset.csv')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "f-_1LMLQOOgL" - }, - "outputs": [], - "source": [ - "del model\n", - "del an\n", - "del data\n", - "del df\n", - "del i\n", - "del metric\n", - "del qu\n", - "del si\n", - "del theme\n", - "del theme_wise_data\n", - "del themelist\n", - "del themes_not_unique" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "I3iZzub5Izf8" - }, - "outputs": [], - "source": [ - "!cp CompleteDataset.csv gdrive/MyDrive/CompleteDataset.csv" - ] - }, - { - "cell_type": "markdown", - "source": [ - "### Embedding Model Finetune" - ], - "metadata": { - "id": "S4lJ54UBaKkB" - } - }, - { - "cell_type": "markdown", - "metadata": { - "id": "FOLezbJye_Zs" - }, - "source": [ - "#### Load Data" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "RqN5QpjvVQt9", - "colab": { - "base_uri": "https://localhost:8080/" - }, - "outputId": "e3cc798e-ed5e-4d4f-c4a2-b57854540cc9" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Drive already mounted at /content/gdrive; to attempt to forcibly remount, call drive.mount(\"/content/gdrive\", force_remount=True).\n" - ] - } - ], - "source": [ - "from google.colab import drive\n", - "drive.mount('/content/gdrive')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "BUFCb4k_jusb" - }, - "outputs": [], - "source": [ - "import pandas as pd\n", - "def load_data():\n", - " data = pd.read_csv('/content/gdrive/MyDrive/CompleteDataset.csv')\n", - " # data = data.sample(frac=0.28)\n", - " data = data.dropna()\n", - " return data" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "Gj3d537pfCr3" - }, - "source": [ - "#### Prepare For training" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "-hiv4vEpfKLS", - "outputId": "0bc0360f-d4b3-4ada-eb03-4afe9da67f5c" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", - "Requirement already satisfied: sentence_transformers in /usr/local/lib/python3.8/dist-packages (2.2.2)\n", - "Requirement already satisfied: transformers<5.0.0,>=4.6.0 in /usr/local/lib/python3.8/dist-packages (from sentence_transformers) (4.26.0)\n", - "Requirement already satisfied: torch>=1.6.0 in /usr/local/lib/python3.8/dist-packages (from sentence_transformers) (1.13.1+cu116)\n", - "Requirement already satisfied: torchvision in /usr/local/lib/python3.8/dist-packages (from sentence_transformers) (0.14.1+cu116)\n", - "Requirement already satisfied: numpy in /usr/local/lib/python3.8/dist-packages (from sentence_transformers) (1.21.6)\n", - "Requirement already satisfied: nltk in /usr/local/lib/python3.8/dist-packages (from sentence_transformers) (3.7)\n", - "Requirement already satisfied: sentencepiece in /usr/local/lib/python3.8/dist-packages (from sentence_transformers) (0.1.97)\n", - "Requirement already satisfied: tqdm in /usr/local/lib/python3.8/dist-packages (from sentence_transformers) (4.64.1)\n", - "Requirement already satisfied: scipy in /usr/local/lib/python3.8/dist-packages (from sentence_transformers) (1.7.3)\n", - "Requirement already satisfied: scikit-learn in /usr/local/lib/python3.8/dist-packages (from sentence_transformers) (1.0.2)\n", - "Requirement already satisfied: huggingface-hub>=0.4.0 in /usr/local/lib/python3.8/dist-packages (from sentence_transformers) (0.12.0)\n", - "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.8/dist-packages (from huggingface-hub>=0.4.0->sentence_transformers) (5.4.1)\n", - "Requirement already satisfied: packaging>=20.9 in /usr/local/lib/python3.8/dist-packages (from huggingface-hub>=0.4.0->sentence_transformers) (23.0)\n", - "Requirement already satisfied: filelock in /usr/local/lib/python3.8/dist-packages (from huggingface-hub>=0.4.0->sentence_transformers) (3.9.0)\n", - "Requirement already satisfied: requests in /usr/local/lib/python3.8/dist-packages (from huggingface-hub>=0.4.0->sentence_transformers) (2.25.1)\n", - "Requirement already satisfied: typing-extensions>=3.7.4.3 in /usr/local/lib/python3.8/dist-packages (from huggingface-hub>=0.4.0->sentence_transformers) (4.4.0)\n", - "Requirement already satisfied: tokenizers!=0.11.3,<0.14,>=0.11.1 in /usr/local/lib/python3.8/dist-packages (from transformers<5.0.0,>=4.6.0->sentence_transformers) (0.13.2)\n", - "Requirement already satisfied: regex!=2019.12.17 in /usr/local/lib/python3.8/dist-packages (from transformers<5.0.0,>=4.6.0->sentence_transformers) (2022.6.2)\n", - "Requirement already satisfied: click in /usr/local/lib/python3.8/dist-packages (from nltk->sentence_transformers) (7.1.2)\n", - "Requirement already satisfied: joblib in /usr/local/lib/python3.8/dist-packages (from nltk->sentence_transformers) (1.2.0)\n", - "Requirement already satisfied: threadpoolctl>=2.0.0 in /usr/local/lib/python3.8/dist-packages (from scikit-learn->sentence_transformers) (3.1.0)\n", - "Requirement already satisfied: pillow!=8.3.*,>=5.3.0 in /usr/local/lib/python3.8/dist-packages (from torchvision->sentence_transformers) (7.1.2)\n", - "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.8/dist-packages (from requests->huggingface-hub>=0.4.0->sentence_transformers) (2022.12.7)\n", - "Requirement already satisfied: chardet<5,>=3.0.2 in /usr/local/lib/python3.8/dist-packages (from requests->huggingface-hub>=0.4.0->sentence_transformers) (4.0.0)\n", - "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.8/dist-packages (from requests->huggingface-hub>=0.4.0->sentence_transformers) (2.10)\n", - "Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.8/dist-packages (from requests->huggingface-hub>=0.4.0->sentence_transformers) (1.26.14)\n" - ] - } - ], - "source": [ - "!pip install sentence_transformers" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "E2cgzLmvfTeG" - }, - "outputs": [], - "source": [ - "from sentence_transformers import InputExample\n", - "from torch.utils.data import DataLoader\n", - "\n", - "\n", - "def train_data(data):\n", - " train_data = []\n", - " for index, row in data.iterrows():\n", - " train_data.append(InputExample(texts=[row['Query'], row['Actual Answer'], row['Fifth Similar']]))\n", - "\n", - " train_dataloader = DataLoader(train_data, shuffle=True, batch_size=8)\n", - " return train_dataloader" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "U4FR3AN4gvBI" - }, - "source": [ - "#### Load Sentence Embedding Model" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "l05BPQBXhe4j" - }, - "outputs": [], - "source": [ - "from sentence_transformers import SentenceTransformer\n", - "\n", - "def load_model():\n", - " model_id = 'sentence-transformers/all-mpnet-base-v2'\n", - " model = SentenceTransformer(model_id)\n", - " return model" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "2QvkTOSPfHcG" - }, - "source": [ - "## Train" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "VBdlWX1Uhv5X" - }, - "outputs": [], - "source": [ - "from sentence_transformers import losses\n", - "import torch\n", - "\n", - "def train(model, dataloader, params):\n", - " train_loss = losses.TripletLoss(model=model)\n", - " model.fit(\n", - " [(dataloader, train_loss)],\n", - " None,\n", - " params['epochs'],\n", - " 100,\n", - " params['scheduler'],\n", - " params['warmup_steps'],\n", - " params['optimizer_class'],\n", - " params['optimizer_params'],\n", - " params['weight_decay'],\n", - " 0,\n", - " \"finetuned_mpnet_triplet\",\n", - " True,\n", - " params['max_grad_norm'],\n", - " params['use_amp'],\n", - " None,\n", - " False,\n", - " None,\n", - " 500,\n", - " 0\n", - " )" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "OmxmAyuqM0-f" - }, - "source": [ - "## Execution" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 814 - }, - "id": "eu6id_tikHAx", - "outputId": "d5f8ac1b-5f5a-41c1-e666-83a637f690cf" - }, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "

\n", - "
\n", - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Unnamed: 0QueryActual AnswerFifth Similar
00Sri Lankan law mixes what two categories of ju...The Sri Lanka judicial system is complex blend...In Sri Lanka, the Supreme Court of Sri Lanka w...
11What court sits in supremacy for cases related...The other branches of the German judicial syst...When it comes to civil and criminal cases, the...
22What is the highest court in Brazil?In Brazil, the Supreme Federal Tribunal (Supre...In Maine and Massachusetts the highest court i...
33A retrial is also called what?The Supreme Court also holds the unique power ...The Supreme Court also holds the unique power ...
44Besides chief justice, how many other judges s...The Irish Supreme Court consists of its presid...It also judges, in original jurisdiction, case...
...............
1415914159When did Zhuge Village isolate itself until?The village has intentionally isolated itself ...Some may have lost social privilege, and took ...
1416014160What type of umbrellas is Hangzhou known for?Hangzhou is also renowned for its silk umbrell...(The renowned Longjing tea is a product of Han...
1416114161What is Zhejiang's location vulnerable to from...Zhejiang benefited less from central governmen...Zhejiang is bordered by Jiangsu province and S...
1416214162Who is Yueju traditionally performed by?Yueju originated in Shengzhou and is tradition...Other important opera traditions include Yongj...
1416314163How many company vehicles did angry protesters...Angry protesters stormed the Zhejiang Jinko So...On Thursday, September 15, 2011, more than 500...
\n", - "

14164 rows × 4 columns

\n", - "
\n", - " \n", - " \n", - " \n", - "\n", - " \n", - "
\n", - "
\n", - " " - ], - "text/plain": [ - " Unnamed: 0 Query \\\n", - "0 0 Sri Lankan law mixes what two categories of ju... \n", - "1 1 What court sits in supremacy for cases related... \n", - "2 2 What is the highest court in Brazil? \n", - "3 3 A retrial is also called what? \n", - "4 4 Besides chief justice, how many other judges s... \n", - "... ... ... \n", - "14159 14159 When did Zhuge Village isolate itself until? \n", - "14160 14160 What type of umbrellas is Hangzhou known for? \n", - "14161 14161 What is Zhejiang's location vulnerable to from... \n", - "14162 14162 Who is Yueju traditionally performed by? \n", - "14163 14163 How many company vehicles did angry protesters... \n", - "\n", - " Actual Answer \\\n", - "0 The Sri Lanka judicial system is complex blend... \n", - "1 The other branches of the German judicial syst... \n", - "2 In Brazil, the Supreme Federal Tribunal (Supre... \n", - "3 The Supreme Court also holds the unique power ... \n", - "4 The Irish Supreme Court consists of its presid... \n", - "... ... \n", - "14159 The village has intentionally isolated itself ... \n", - "14160 Hangzhou is also renowned for its silk umbrell... \n", - "14161 Zhejiang benefited less from central governmen... \n", - "14162 Yueju originated in Shengzhou and is tradition... \n", - "14163 Angry protesters stormed the Zhejiang Jinko So... \n", - "\n", - " Fifth Similar \n", - "0 In Sri Lanka, the Supreme Court of Sri Lanka w... \n", - "1 When it comes to civil and criminal cases, the... \n", - "2 In Maine and Massachusetts the highest court i... \n", - "3 The Supreme Court also holds the unique power ... \n", - "4 It also judges, in original jurisdiction, case... \n", - "... ... \n", - "14159 Some may have lost social privilege, and took ... \n", - "14160 (The renowned Longjing tea is a product of Han... \n", - "14161 Zhejiang is bordered by Jiangsu province and S... \n", - "14162 Other important opera traditions include Yongj... \n", - "14163 On Thursday, September 15, 2011, more than 500... \n", - "\n", - "[14164 rows x 4 columns]" - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "data = load_data()\n", - "data" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "GK_79JtEEXVY" - }, - "outputs": [], - "source": [ - "data = data.loc[data['Actual Answer'] != \"[citation needed]\"]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 814 - }, - "id": "jsgQk6FdEXVa", - "outputId": "fb6d98e4-b49e-4d3e-d7a1-8badcd34b593" - }, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "
\n", - "
\n", - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Unnamed: 0QueryActual AnswerFifth Similar
00Sri Lankan law mixes what two categories of ju...The Sri Lanka judicial system is complex blend...In Sri Lanka, the Supreme Court of Sri Lanka w...
11What court sits in supremacy for cases related...The other branches of the German judicial syst...When it comes to civil and criminal cases, the...
22What is the highest court in Brazil?In Brazil, the Supreme Federal Tribunal (Supre...In Maine and Massachusetts the highest court i...
33A retrial is also called what?The Supreme Court also holds the unique power ...The Supreme Court also holds the unique power ...
44Besides chief justice, how many other judges s...The Irish Supreme Court consists of its presid...It also judges, in original jurisdiction, case...
...............
1415914159When did Zhuge Village isolate itself until?The village has intentionally isolated itself ...Some may have lost social privilege, and took ...
1416014160What type of umbrellas is Hangzhou known for?Hangzhou is also renowned for its silk umbrell...(The renowned Longjing tea is a product of Han...
1416114161What is Zhejiang's location vulnerable to from...Zhejiang benefited less from central governmen...Zhejiang is bordered by Jiangsu province and S...
1416214162Who is Yueju traditionally performed by?Yueju originated in Shengzhou and is tradition...Other important opera traditions include Yongj...
1416314163How many company vehicles did angry protesters...Angry protesters stormed the Zhejiang Jinko So...On Thursday, September 15, 2011, more than 500...
\n", - "

14164 rows × 4 columns

\n", - "
\n", - " \n", - " \n", - " \n", - "\n", - " \n", - "
\n", - "
\n", - " " - ], - "text/plain": [ - " Unnamed: 0 Query \\\n", - "0 0 Sri Lankan law mixes what two categories of ju... \n", - "1 1 What court sits in supremacy for cases related... \n", - "2 2 What is the highest court in Brazil? \n", - "3 3 A retrial is also called what? \n", - "4 4 Besides chief justice, how many other judges s... \n", - "... ... ... \n", - "14159 14159 When did Zhuge Village isolate itself until? \n", - "14160 14160 What type of umbrellas is Hangzhou known for? \n", - "14161 14161 What is Zhejiang's location vulnerable to from... \n", - "14162 14162 Who is Yueju traditionally performed by? \n", - "14163 14163 How many company vehicles did angry protesters... \n", - "\n", - " Actual Answer \\\n", - "0 The Sri Lanka judicial system is complex blend... \n", - "1 The other branches of the German judicial syst... \n", - "2 In Brazil, the Supreme Federal Tribunal (Supre... \n", - "3 The Supreme Court also holds the unique power ... \n", - "4 The Irish Supreme Court consists of its presid... \n", - "... ... \n", - "14159 The village has intentionally isolated itself ... \n", - "14160 Hangzhou is also renowned for its silk umbrell... \n", - "14161 Zhejiang benefited less from central governmen... \n", - "14162 Yueju originated in Shengzhou and is tradition... \n", - "14163 Angry protesters stormed the Zhejiang Jinko So... \n", - "\n", - " Fifth Similar \n", - "0 In Sri Lanka, the Supreme Court of Sri Lanka w... \n", - "1 When it comes to civil and criminal cases, the... \n", - "2 In Maine and Massachusetts the highest court i... \n", - "3 The Supreme Court also holds the unique power ... \n", - "4 It also judges, in original jurisdiction, case... \n", - "... ... \n", - "14159 Some may have lost social privilege, and took ... \n", - "14160 (The renowned Longjing tea is a product of Han... \n", - "14161 Zhejiang is bordered by Jiangsu province and S... \n", - "14162 Other important opera traditions include Yongj... \n", - "14163 On Thursday, September 15, 2011, more than 500... \n", - "\n", - "[14164 rows x 4 columns]" - ] - }, - "execution_count": 27, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "data" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "a8P6WsRnkNMa" - }, - "outputs": [], - "source": [ - "train_dataloader = train_data(data)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "YvcvtkeqlJ-s" - }, - "outputs": [], - "source": [ - "model = load_model()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "dMyg2U0DEXVe" - }, - "outputs": [], - "source": [ - "hyperparams = {\n", - " 'epochs': 10,\n", - " 'scheduler': 'WarmupLinear',\n", - " 'warmup_steps': 10000,\n", - " 'optimizer_class': torch.optim.AdamW,\n", - " 'optimizer_params': {'lr':2e-07},\n", - " 'weight_decay': 0.01,\n", - " 'max_grad_norm': 1,\n", - " 'use_amp':False,\n", - "}" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "colab": { - "background_save": true, - "base_uri": "https://localhost:8080/", - "height": 81, - "referenced_widgets": [ - "c7664fe4278f47a682487cf83d77fd2d", - "24e4ab2742294839ba66d6824b5fbc0e", - "21401c99b0d74b759c2b53594d66f38d", - "24c5de83221f494eacd975083893362e", - "ccc56dc55b5e49d1a05c6f12d0b4c4ab", - "4229b9e3af6f485aa010138848aa9fa1", - "fbffc711efcc47049f3051d39f02fe9a", - "5245291ba4514c7bb1a981a50ef1ec99", - "345604ef54794c90b303c4e6abeba43c", - "0e1d9c9747a1489c93ad6e86f379871e", - "140ba6d09dca49b4a079cc4dfd1eeb6c", - "dfa2eedf82bc4e6b8680c2863d9d120c", - "f8bd5998448d4d75ae760313c535d16f", - "34e75d1ee8b34ae09ced178e6e46fe5d", - "0e6668f81c914388920989b7842d3f4a", - "f17b8f0a607d421b8c7ecde835573594", - "c44a8fcc512c44c79541b66400813456", - "1270290fbfbf48a29419c7dbb87a441b", - "14bf58afb834415abb93e133e02144b2", - "83bada0733454cadb49a05dc7c1a3b38", - "0f49e1b90db844cca6e71aa6c47caeb6", - "beb049c962ca45beb15dc02deab1301f" - ] - }, - "id": "HtATIGfDlUmo", - "outputId": "0d0b259f-5a5e-464e-bbc0-5511de42ac05" - }, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "c7664fe4278f47a682487cf83d77fd2d", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "Epoch: 0%| | 0/1 [00:00 numpy array\n", - " topic_model.transform(documents = para_list, embeddings = para_embeddings) # Can use pre-trained embeddings directly\n", - "\n", - "def perform_cluster_prediction(topic_model, para_list, para_embeddings):\n", - " np_para_emb = para_embeddings #.numpy() # Converting the para_embeddings from EagerTensor -> numpy array\n", - " try:\n", - " topics, scores = topic_model.transform(para_list, np_para_emb) # Predicting the documents clusters\n", - " except:\n", - " topics\n", - " return topics, scores\n", - "\n", - "def get_max_cluster_id(theme_cluster_count_dict):\n", - " \"\"\"\n", - " Input: theme_cluster_count_dict : A dictionary with cluster_id as keys and their # of occurences as the value\n", - " \"\"\"\n", - " max_count = 0\n", - " cid = -1\n", - " for key in theme_cluster_count_dict:\n", - " if (theme_cluster_count_dict[key] > max_count):\n", - " max_count = theme_cluster_count_dict[key]\n", - " cid = key\n", - " return cid\n", - "\n", - "def get_cid_to_list_topics(mydic):\n", - " \"\"\"\n", - " Input: mydic: Dict mapping theme --> cluster id\n", - " Returns a dict with cluster id as key and the value is a list of themes associated to it.\n", - " \"\"\"\n", - " cluster_id_to_topic = {}\n", - " for topic, cluster_id in mydic.items():\n", - " if cluster_id not in cluster_id_to_topic:\n", - " cluster_id_to_topic[cluster_id] = [topic]\n", - " else:\n", - " cluster_id_to_topic[cluster_id].append(topic)\n", - " return cluster_id_to_topic\n", - "\n", - "def get_avg_themes_per_cluster(topic_model):\n", - " data = topic_model.get_topic_info()\n", - " avg = data[data['Topic']!=-1]['Count'].mean()\n", - " return avg\n", - "\n", - "def generate_theme_to_cluster_mapping(paragraphs, topics):\n", - " global_idx = 0\n", - "\n", - " theme_to_cluster_mapping = {} # This will hold the final theme to cluster mapping\n", - "\n", - " uniq_theme_list_df = paragraphs['theme'].unique()\n", - "\n", - " for theme in uniq_theme_list_df:\n", - "\n", - " theme_df = paragraphs[paragraphs['theme']==theme] # Getting the part of df with the curr theme\n", - " theme_cluster_count_dict = {} # To store the count of each cluster_id the prev theme was mapped to. '-1' cluster_id indicates that we'll be using the global model.\n", - "\n", - " for i in range(len(theme_df)):\n", - " curr_cid = topics[global_idx]\n", - " if theme_cluster_count_dict.get(curr_cid)==None:\n", - " theme_cluster_count_dict[curr_cid] = 0\n", - " theme_cluster_count_dict[curr_cid] += 1 # Incrementing the count\n", - " global_idx+=1\n", - " mode_cid = get_max_cluster_id(theme_cluster_count_dict)\n", - " theme_to_cluster_mapping[theme] = mode_cid\n", - "\n", - " return theme_to_cluster_mapping" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "whgkNAoGHpFH" - }, - "outputs": [], - "source": [ - "import pandas as pd\n", - "paragraphs2 = pd.read_csv('input_paragraph.csv')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "7EjwRCN6HsHy", - "outputId": "f75aef31-03c1-4e23-c99c-a9e326b14194" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "We have 13481 paragraphs in total & those belong to 361 unique themes\n" - ] - } - ], - "source": [ - "uniq_theme_list2 = list(paragraphs2['theme'].unique())\n", - "para_list2 = list(paragraphs2['paragraph'])\n", - "\n", - "print(f\"We have {len(para_list2)} paragraphs in total & those belong to {len(uniq_theme_list2)} unique themes\")" - ] - }, - { - "cell_type": "markdown", - "source": [ - "Concatenate the paragraphs of a theme as we would like to cluster themes and not paragraphs" - ], - "metadata": { - "id": "LZk7FItW_weo" - } - }, - { - "cell_type": "code", - "source": [ - "para_list2 = [' '.join(paragraphs2[paragraphs2['theme']==theme]['paragraph']) for theme in uniq_theme_list2]" - ], - "metadata": { - "id": "4F3hwqmr7FH9" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "cq8Po-9eJB0C" - }, - "source": [ - "### Main Pipeline" - ] - }, - { - "cell_type": "markdown", - "source": [ - "#### Generate Paragraph Embeddings" - ], - "metadata": { - "id": "u54Hem7sB3hX" - } - }, - { - "cell_type": "code", - "source": [ - "# Generating Embeddings Once\n", - "embedding_model = tensorflow_hub.load(\"https://tfhub.dev/google/universal-sentence-encoder/4\")\n", - "para_embeddings2 = generate_embeddings(embedding_model, para_list2)" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "x-MHH6h9B5wT", - "outputId": "27e102d2-50d3-49ff-c1e4-9014205b0423" - }, - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Generating the document embeddings...\n" - ] - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "mNJiDXAkoDJv" - }, - "source": [ - "#### Initialize BERTopic Model" - ] - }, - { - "cell_type": "code", - "source": [ - "vectorizer_model = CountVectorizer(stop_words=\"english\")\n", - "brc_model = Birch(branching_factor=50, n_clusters=None, threshold=0.4)\n", - "umap_model = UMAP(n_neighbors=15, n_components=6, min_dist=0.0, metric='cosine')\n", - "\n", - "\n", - "# topic_model = BERTopic(\n", - " # low_memory = True,\n", - " # umap_model = umap_model,\n", - " # hdbscan_model = brc_model,\n", - " # embedding_model = embedding_model,\n", - " # vectorizer_model = vectorizer_model,\n", - " # calculate_probabilities = True,\n", - " # verbose = True,\n", - " # nr_topics = int(0.3*len(uniq_theme_list2))\n", - " # )" - ], - "metadata": { - "id": "ApTbQk33Bx6z" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "old_model = BERTopic.load(\"cluster_model\")\n", - "topic_model = old_model" - ], - "metadata": { - "id": "duJnvp1KqMyE" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "markdown", - "source": [ - "### Running the Model" - ], - "metadata": { - "id": "zSnD_eqFB-sm" - } - }, - { - "cell_type": "code", - "source": [ - "fit_bertopic_model(topic_model, para_list2, para_embeddings2)\n", - "topics, scores = perform_cluster_prediction(topic_model, para_list2, para_embeddings2)\n", - "theme_to_cluster_mapping = generate_theme_to_cluster_mapping(paragraphs2, topics)\n", - "cid_to_themes_mapping = (get_cid_to_list_topics(theme_to_cluster_mapping))\n", - "avg_themes_per_cluster = get_avg_themes_per_cluster(topic_model)\n", - "topic_info = topic_model.get_topic_info()\n", - "unclustered = topic_info[topic_info['Topic']==-1]['Count']\n", - "if unclustered.empty:\n", - " unclustered = 0\n", - " num_clusters = len(topic_info['Topic'])\n", - "else:\n", - " unclustered = int(unclustered)\n", - " num_clusters = len(topic_info['Topic'])-1\n", - "print('--------------------------------------------------------------------------------------------------------------------------------------------')\n", - "print(f\"Main Dataset Results:\")\n", - "print(f\"#Themes unclustered = {unclustered}\\nAvg. #Themes / cluster = {avg_themes_per_cluster}\\n# clusters = {num_clusters}\")" - ], - "metadata": { - "id": "QBYiH0_j7M9H", - "colab": { - "base_uri": "https://localhost:8080/" - }, - "outputId": "57a6b28a-6367-4b1e-f007-0a659dada3e7" - }, - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Fitting the model using the paras & their embeddings\n", - "--------------------------------------------------------------------------------------------------------------------------------------------\n", - "Main Dataset Results:\n", - "#Themes unclustered = 0\n", - "Avg. #Themes / cluster = 11.093023255813954\n", - "# clusters = 43\n" - ] - } - ] - }, - { - "cell_type": "code", - "source": [ - "# topic_model.save('cluster_model', save_embedding_model=False)" - ], - "metadata": { - "id": "5lcia--BQnrS" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "topic_model.get_topic_info()" - ], - "metadata": { - "id": "QI6ARpw7_ePh", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 1000 - }, - "outputId": "f5e20ef5-6739-419b-88bc-fd8ef9b304d5" - }, - "execution_count": null, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - " Topic Count Name\n", - "0 0 38 0_data_apple_software_windows\n", - "1 1 14 1_chinese_china_dynasty_han\n", - "2 2 17 2_air_aircraft_forces_war\n", - "3 3 16 3_church_mary_pope_jesus\n", - "4 4 23 4_gaddafi_country_africa_children\n", - "5 5 19 5_theory_god_philosophy_enlightenment\n", - "6 6 9 6_london_southampton_beer_plymouth\n", - "7 7 18 7_language_languages_characters_dialects\n", - "8 8 24 8_used_antenna_light_copper\n", - "9 9 20 9_music_album_film_madonna\n", - "10 10 3 10_dollar_times_coins_ecb\n", - "11 11 23 11_cells_species_bacteria_cell\n", - "12 12 6 12_quran_al_ibn_text\n", - "13 13 8 13_species_hunting_dogs_dog\n", - "14 14 13 14_league_football_club_cup\n", - "15 15 6 15_alaska_mountains_montana_mountain\n", - "16 16 5 16_kerry_fbi_schwarzenegger_police\n", - "17 17 9 17_burke_victoria_queen_lodge\n", - "18 18 12 18_law_court_state_states\n", - "19 19 18 19_city_paris_red_mexico\n", - "20 20 12 20_island_islands_bermuda_tuvalu\n", - "21 21 29 21_city_new_state_area\n", - "22 22 8 22_energy_feynman_vacuum_matter\n", - "23 23 12 23_university_school_bell_college\n", - "24 24 10 24_ottoman_empire_armenian_armenia\n", - "25 25 20 25_french_france_napoleon_war\n", - "26 26 9 26_neptune_ice_antarctica_antarctic\n", - "27 27 1 27_pharmacy_pharmacists_pharmacies_patient\n", - "28 28 8 28_architecture_mosaic_mosaics_cubism\n", - "29 29 6 29_schools_education_universities_university\n", - "30 30 1 30_rhine_delta_river_flows\n", - "31 31 8 31_nasser_soviet_tito_estonia\n", - "32 32 4 32_jews_jewish_ashkenazi_orthodox\n", - "33 33 5 33_race_racial_black_african\n", - "34 34 2 34_shell_ge_company_oil\n", - "35 35 8 35_sexual_pain_memory_identity\n", - "36 36 5 36_dst_asthma_time_clock\n", - "37 37 6 37_greek_rome_roman_bc\n", - "38 38 5 38_israel_iran_myanmar_israeli\n", - "39 39 3 39_cotton_green_color_grapes\n", - "40 40 6 40_party_leader_parliament_minority\n", - "41 41 6 41_kathmandu_hyderabad_delhi_india\n", - "42 42 2 42_indigenous_peoples_neolithic_native" - ], - "text/html": [ - "\n", - "
\n", - "
\n", - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
TopicCountName
00380_data_apple_software_windows
11141_chinese_china_dynasty_han
22172_air_aircraft_forces_war
33163_church_mary_pope_jesus
44234_gaddafi_country_africa_children
55195_theory_god_philosophy_enlightenment
6696_london_southampton_beer_plymouth
77187_language_languages_characters_dialects
88248_used_antenna_light_copper
99209_music_album_film_madonna
1010310_dollar_times_coins_ecb
11112311_cells_species_bacteria_cell
1212612_quran_al_ibn_text
1313813_species_hunting_dogs_dog
14141314_league_football_club_cup
1515615_alaska_mountains_montana_mountain
1616516_kerry_fbi_schwarzenegger_police
1717917_burke_victoria_queen_lodge
18181218_law_court_state_states
19191819_city_paris_red_mexico
20201220_island_islands_bermuda_tuvalu
21212921_city_new_state_area
2222822_energy_feynman_vacuum_matter
23231223_university_school_bell_college
24241024_ottoman_empire_armenian_armenia
25252025_french_france_napoleon_war
2626926_neptune_ice_antarctica_antarctic
2727127_pharmacy_pharmacists_pharmacies_patient
2828828_architecture_mosaic_mosaics_cubism
2929629_schools_education_universities_university
3030130_rhine_delta_river_flows
3131831_nasser_soviet_tito_estonia
3232432_jews_jewish_ashkenazi_orthodox
3333533_race_racial_black_african
3434234_shell_ge_company_oil
3535835_sexual_pain_memory_identity
3636536_dst_asthma_time_clock
3737637_greek_rome_roman_bc
3838538_israel_iran_myanmar_israeli
3939339_cotton_green_color_grapes
4040640_party_leader_parliament_minority
4141641_kathmandu_hyderabad_delhi_india
4242242_indigenous_peoples_neolithic_native
\n", - "
\n", - " \n", - " \n", - " \n", - "\n", - " \n", - "
\n", - "
\n", - " " - ] - }, - "metadata": {}, - "execution_count": 20 - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "EUNhB9K-kuxl" - }, - "source": [ - "### Visualizing the clustered paragraphs" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "07NFWwtpIxrm" - }, - "outputs": [], - "source": [ - "train_data_map = cid_to_themes_mapping" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "fylds0DjI1hn" - }, - "outputs": [], - "source": [ - "# topic_model.visualize_barchart(top_n_topics=10)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "D3KMsMVmKFHK" - }, - "outputs": [], - "source": [ - "# topic_model.visualize_topics()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "_r3OCekx2P1l" - }, - "outputs": [], - "source": [ - "# hierarchical_topics = topic_model.hierarchical_topics(para_list2)\n", - "# tree = topic_model.get_topic_tree(hierarchical_topics)\n", - "# print(tree)" - ] - }, - { - "cell_type": "code", - "source": [ - "import csv\n", - "topic_info.to_csv('/content/gdrive/MyDrive/Colab Notebooks/Final/theme_to_cluster_mapping.csv')" - ], - "metadata": { - "id": "615Jz2azeJ9d" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "markdown", - "source": [ - "## Fine-Tuning QA Models On Clusters" - ], - "metadata": { - "id": "Y2IkKEv5k0yG" - } - }, - { - "cell_type": "markdown", - "source": [ - "### Mount Google Drive" - ], - "metadata": { - "id": "Vq2kimzxiOYS" - } - }, - { - "cell_type": "code", - "source": [ - "from google.colab import drive\n", - "drive.mount('/content/gdrive')" - ], - "metadata": { - "id": "klcNO2pHiNmu" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "-1PSyNND4a4Q" - }, - "source": [ - "### Imports\n", - "\n", - "\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "vcBT6tLgYwwm" - }, - "outputs": [], - "source": [ - "%%capture\n", - "!pip install datasets\n", - "!pip install -U transformers\n", - "!apt install git-lfs\n", - "!pip install optimum\n", - "!pip install onnx\n", - "!pip install onnxruntime" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "Mh30HOkS4mC0" - }, - "outputs": [], - "source": [ - "import json\n", - "import torch\n", - "import nltk\n", - "import pandas as pd\n", - "from sklearn.model_selection import train_test_split\n", - "from transformers import TrainingArguments, Trainer, AutoTokenizer, BertTokenizerFast, BertForQuestionAnswering, AutoModelForQuestionAnswering\n", - "import transformers\n", - "from transformers import pipeline\n", - "from datasets import load_dataset, load_metric\n", - "from transformers import default_data_collator\n", - "from torch.utils.data import DataLoader\n", - "from transformers import get_scheduler\n", - "from transformers import AdamW\n", - "from tqdm.auto import tqdm\n", - "from transformers import AutoTokenizer\n", - "from optimum.onnxruntime import ORTOptimizer\n", - "from optimum.onnxruntime.configuration import OptimizationConfig\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "Av0r8paULkIC" - }, - "source": [ - "### Load Data" - ] - }, - { - "cell_type": "code", - "source": [ - "#loading cluster-wise csvs\n", - "%%capture\n", - "! gdown 1JaMYQrbtpREDw7E8VUqtNAPSod_eP9u2\n", - "! unzip datasets.zip" - ], - "metadata": { - "id": "Cjwf_L3liuMg" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "2Mr4nTU4dpyu" - }, - "outputs": [], - "source": [ - "def loaddataset(cluster = 0):\n", - " base_url = 'datasets/'\n", - " data_files = {\"train\":base_url + \"{}_train.csv\".format(cluster), \"test\": base_url + \"{}_test.csv\".format(cluster)}\n", - " # data_files = {\"train\":base_url + \"{}_train.csv\".format(theme), \"test\": base_url + \"{}_test.csv\".format(theme)}\n", - " dataset = load_dataset(\"csv\", data_files=data_files)\n", - " return dataset" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "mNrvZPOZ6Bqn" - }, - "source": [ - "### Helper Functions\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "hbQemcukMPZz" - }, - "source": [ - "#### Device Setup\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "0YOQzlfiMjEO" - }, - "outputs": [], - "source": [ - "#setting up global variables\n", - "model_name = \"PremalMatalia/electra-base-best-squad2\"\n", - "batch_size = 8\n", - "max_length = 384 # The maximum length of a feature (question and context)\n", - "doc_stride = 128 # The authorized overlap between two part of the context when splitting it is needed.\n", - "data_collator = default_data_collator" - ] - }, - { - "cell_type": "code", - "source": [ - "def setup_device(model_name):\n", - " device = torch.device('cuda') if torch.cuda.is_available() else torch.device('cpu')\n", - " tokenizer = AutoTokenizer.from_pretrained(model_name)\n", - " assert isinstance(tokenizer, transformers.PreTrainedTokenizerFast), \"Fast Tokenizer Needed\"\n", - " model = AutoModelForQuestionAnswering.from_pretrained(model_name)\n", - " pad_on_right = tokenizer.padding_side == \"right\"\n", - " model.to(device)\n", - " return model, tokenizer, pad_on_right\n" - ], - "metadata": { - "id": "rxsKYTYBmAsC" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "X7ZX77CuxDxr" - }, - "source": [ - "#### Preprocessing for FineTuning\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "bwEoL09kxBcC" - }, - "outputs": [], - "source": [ - "def preprocess_for_training(dataset, tokenizer, pad_on_right):\n", - " dataset[\"Question\"] = [q.lstrip() for q in dataset[\"Question\"]]\n", - "\n", - " tokenized_examples = tokenizer(\n", - " dataset[\"Question\" if pad_on_right else \"Paragraph\"],\n", - " dataset[\"Paragraph\" if pad_on_right else \"Qustion\"],\n", - " truncation=\"only_second\" if pad_on_right else \"only_first\",\n", - " max_length=max_length,\n", - " stride=doc_stride,\n", - " return_overflowing_tokens=True,\n", - " return_offsets_mapping=True,\n", - " padding=\"max_length\",\n", - " )\n", - " sample_mapping = tokenized_examples.pop(\"overflow_to_sample_mapping\")\n", - " offset_mapping = tokenized_examples.pop(\"offset_mapping\")\n", - " # print(sample_mapping, offset_mapping)\n", - " # Let's label those examples!\n", - " tokenized_examples[\"start_positions\"] = []\n", - " tokenized_examples[\"end_positions\"] = []\n", - "\n", - " for i, offsets in enumerate(offset_mapping):\n", - " input_ids = tokenized_examples[\"input_ids\"][i]\n", - " cls_index = input_ids.index(tokenizer.cls_token_id)\n", - " #! WORKS\n", - "\n", - " sequence_ids = tokenized_examples.sequence_ids(i)\n", - " sample_index = sample_mapping[i]\n", - " answers = {\n", - " 'text' : (dataset[\"Answer_text\"][sample_index]),\n", - " 'answer_start' : [int(dataset[\"Answer_start\"][sample_index][1:-1])] if dataset[\"Answer_start\"][sample_index][1:-1] != '' else []\n", - " }\n", - " if len(answers[\"answer_start\"]) == 0:\n", - " tokenized_examples[\"start_positions\"].append(cls_index)\n", - " tokenized_examples[\"end_positions\"].append(cls_index)\n", - " else:\n", - " # Start/end character index of the answer in the text.\n", - " start_char = answers[\"answer_start\"][0]\n", - " end_char = start_char + len(answers[\"text\"]) - 4\n", - " token_start_index = 0\n", - " while sequence_ids[token_start_index] != (1 if pad_on_right else 0):\n", - " token_start_index += 1\n", - "\n", - " # End token index of the current span in the text.\n", - " token_end_index = len(input_ids) - 1\n", - " while sequence_ids[token_end_index] != (1 if pad_on_right else 0):\n", - " token_end_index -= 1\n", - " if not (offsets[token_start_index][0] <= start_char and offsets[token_end_index][1] >= end_char):\n", - " tokenized_examples[\"start_positions\"].append(cls_index)\n", - " tokenized_examples[\"end_positions\"].append(cls_index)\n", - " else:\n", - " # Otherwise move the token_start_index and token_end_index to the two ends of the answer.\n", - " # Note: we could go after the last offset if the answer is the last word (edge case).\n", - " while token_start_index < len(offsets) and offsets[token_start_index][0] <= start_char:\n", - " token_start_index += 1\n", - " tokenized_examples[\"start_positions\"].append(token_start_index - 1)\n", - " while offsets[token_end_index][1] >= end_char:\n", - " token_end_index -= 1\n", - " tokenized_examples[\"end_positions\"].append(token_end_index + 1)\n", - "\n", - " return tokenized_examples\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "Da_ikmbr_ExC" - }, - "source": [ - "#### Finetuning" - ] - }, - { - "cell_type": "code", - "source": [ - "def optimize_model(model_path):\n", - " for i in range(10):\n", - " try:\n", - " ort_model = ORTModelForQuestionAnswering.from_pretrained(model_path, from_transformers=True, provider=\"CUDAExecutionProvider\")\n", - " except:\n", - " continue\n", - " else:\n", - " break\n", - " optimizer = ORTOptimizer.from_pretrained(ort_model)\n", - " optimization_config = OptimizationConfig(optimization_level=99)\n", - " optimizer.optimize(save_dir=model_path, optimization_config=optimization_config)" - ], - "metadata": { - "id": "DtbiXGnc1bcu" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "-8YOZf1HmaMq" - }, - "outputs": [], - "source": [ - "def fine_tune_using_api(model, tokenizer, pad_on_right, cluster = 0, learning_rate = 7e-7, epochs = 4, scheduler = 'linear'):\n", - " dataset = loaddataset(cluster)\n", - " #Training Args\n", - " model_name_ = model_name.split(\"/\")[-1]\n", - " args = TrainingArguments(\n", - " f\"{model_name_}-finetuned-squad-{cluster}-trainedfor-{epochs}\",\n", - " evaluation_strategy = \"epoch\",\n", - " learning_rate=learning_rate,\n", - " per_device_train_batch_size=batch_size,\n", - " per_device_eval_batch_size=batch_size,\n", - " lr_scheduler_type = \"linear\",\n", - " optim = \"adamw_hf\",\n", - " # warmup_proportion = 0.2,\n", - " num_train_epochs=epochs,\n", - " weight_decay=0.01,\n", - " save_strategy = \"no\",\n", - " push_to_hub=False,\n", - " )\n", - " tokenized_datasets = dataset.map(lambda x : preprocess_for_training(x, tokenizer, pad_on_right), batched=True, remove_columns=dataset[\"train\"].column_names)\n", - " trainer = Trainer(\n", - " model,\n", - " args,\n", - " train_dataset=tokenized_datasets[\"train\"],\n", - " eval_dataset=tokenized_datasets[\"test\"],\n", - " data_collator=data_collator,\n", - " tokenizer=tokenizer,\n", - " )\n", - " trainer.train()\n", - " trainer.save_model(f\"/content/gdrive/MyDrive/Colab Notebooks/Final/{model_name_}-finetuned-squad-{cluster}\")\n", - " optimize_model(f\"/content/gdrive/MyDrive/Colab Notebooks/Final/{model_name_}-finetuned-squad-{cluster}\")\n", - " return model" - ] - }, - { - "cell_type": "markdown", - "source": [ - "### Main" - ], - "metadata": { - "id": "8A6-NBrAfn8W" - } - }, - { - "cell_type": "code", - "source": [ - "model, tokenizer, pad_on_right = setup_device(model_name)\n", - "for i in range(1):\n", - " fine_tune_using_api(model, tokenizer, pad_on_right, cluster = 0, learning_rate = 7e-7, epochs = 4, scheduler = 'linear')" - ], - "metadata": { - "id": "yDZzQUgTfqMr" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "markdown", - "source": [ - "# Evaluation Day Script" - ], - "metadata": { - "id": "cnYLfxPbXZAz" - } - }, - { - "cell_type": "markdown", - "metadata": { - "id": "HH-5KMkZ-QR6" - }, - "source": [ - "## Fitting new Themes into Previous Clusters" - ] - }, - { - "cell_type": "markdown", - "source": [ - "### Mount Google Drive" - ], - "metadata": { - "id": "My-SD3nf-88t" - } - }, - { - "cell_type": "code", - "source": [ - "from google.colab import drive\n", - "drive.mount('/content/gdrive')" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "outputId": "054f9f0a-3498-4253-edbe-e15ae0522db0", - "id": "TEFxBPEx-88u" - }, - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Mounted at /content/gdrive\n" - ] - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "42-Rf1Yy-QSA" - }, - "source": [ - "### Installing and importing some libraries" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "zQpgrGg8-QSA" - }, - "outputs": [], - "source": [ - "%%capture\n", - "!pip install bertopic" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "M6DI89sF-QSA" - }, - "outputs": [], - "source": [ - "from bertopic import BERTopic\n", - "import tensorflow_hub\n", - "from umap import UMAP\n", - "import copy\n", - "from sklearn.feature_extraction.text import CountVectorizer\n", - "from sklearn.cluster import Birch" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "m6IBOXj2-QSA" - }, - "source": [ - "### Loading dataset\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "yImBlpBo-QSA" - }, - "outputs": [], - "source": [ - "import gdown\n", - "\n", - "def download_test_data():\n", - " \"\"\"Download the test data (4 csv files)\"\"\"\n", - "\n", - " ids = [\n", - " \"1-3fMldkBVsTAX3W5JewdAdlUG_agexG0\",\n", - " \"1-59pQe8TH7UaORF1RSqzFWybMJShdf1U\",\n", - " \"1-AbnJRRHQiTU5zyUdDC2gUwbIGkEF5l6\",\n", - " \"1-Px6FFj043L7lbAEBOAMSy2bdoPiVNhy\"\n", - " ]\n", - " for id in ids:\n", - " url = f\"https://drive.google.com/u/1/uc?id={id}&export=download\"\n", - " gdown.download(url, quiet=True)" - ] - }, - { - "cell_type": "code", - "source": [ - "!gdown 19QL-Ybk2GNlIQtcBZTYYSlLgsMGwJG_V" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "outputId": "8e083014-6ffc-412e-cf06-9b78046b45e4", - "id": "sK-jjdP9-QSA" - }, - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Downloading...\n", - "From: https://drive.google.com/uc?id=19QL-Ybk2GNlIQtcBZTYYSlLgsMGwJG_V\n", - "To: /content/cluster_model\n", - "\r 0% 0.00/8.85M [00:00 numpy array\n", - " topic_model.transform(documents = para_list, embeddings = para_embeddings) # Can use pre-trained embeddings directly\n", - "\n", - "def perform_cluster_prediction(topic_model, para_list, para_embeddings):\n", - " np_para_emb = para_embeddings #.numpy() # Converting the para_embeddings from EagerTensor -> numpy array\n", - " try:\n", - " topics, scores = topic_model.transform(para_list, np_para_emb) # Predicting the documents clusters\n", - " except:\n", - " topics\n", - " return topics, scores\n", - "\n", - "def get_max_cluster_id(theme_cluster_count_dict):\n", - " \"\"\"\n", - " Input: theme_cluster_count_dict : A dictionary with cluster_id as keys and their # of occurences as the value\n", - " \"\"\"\n", - " max_count = 0\n", - " cid = -1\n", - " for key in theme_cluster_count_dict:\n", - " if (theme_cluster_count_dict[key] > max_count):\n", - " max_count = theme_cluster_count_dict[key]\n", - " cid = key\n", - " return cid\n", - "\n", - "def get_cid_to_list_topics(mydic):\n", - " \"\"\"\n", - " Input: mydic: Dict mapping theme --> cluster id\n", - " Returns a dict with cluster id as key and the value is a list of themes associated to it.\n", - " \"\"\"\n", - " cluster_id_to_topic = {}\n", - " for topic, cluster_id in mydic.items():\n", - " if cluster_id not in cluster_id_to_topic:\n", - " cluster_id_to_topic[cluster_id] = [topic]\n", - " else:\n", - " cluster_id_to_topic[cluster_id].append(topic)\n", - " return cluster_id_to_topic\n", - "\n", - "def get_avg_themes_per_cluster(topic_model):\n", - " data = topic_model.get_topic_info()\n", - " avg = data[data['Topic']!=-1]['Count'].mean()\n", - " return avg\n", - "\n", - "def generate_theme_to_cluster_mapping(paragraphs, topics):\n", - " global_idx = 0\n", - "\n", - " theme_to_cluster_mapping = {} # This will hold the final theme to cluster mapping\n", - "\n", - " uniq_theme_list_df = paragraphs['theme'].unique()\n", - "\n", - " for theme in uniq_theme_list_df:\n", - "\n", - " theme_df = paragraphs[paragraphs['theme']==theme] # Getting the part of df with the curr theme\n", - " theme_cluster_count_dict = {} # To store the count of each cluster_id the prev theme was mapped to. '-1' cluster_id indicates that we'll be using the global model.\n", - "\n", - " for i in range(len(theme_df)):\n", - " curr_cid = topics[global_idx]\n", - " if theme_cluster_count_dict.get(curr_cid)==None:\n", - " theme_cluster_count_dict[curr_cid] = 0\n", - " theme_cluster_count_dict[curr_cid] += 1 # Incrementing the count\n", - " global_idx+=1\n", - " mode_cid = get_max_cluster_id(theme_cluster_count_dict)\n", - " theme_to_cluster_mapping[theme] = mode_cid\n", - "\n", - " return theme_to_cluster_mapping" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "C8SYEXEu-QSB" - }, - "outputs": [], - "source": [ - "import pandas as pd\n", - "paragraphs2 = pd.read_csv('input_paragraph.csv')\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "outputId": "c5998a15-1430-41cc-c509-c443d3cb5f90", - "id": "9M9SbU9P-QSB" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "We have 13481 paragraphs in total & those belong to 361 unique themes\n" - ] - } - ], - "source": [ - "uniq_theme_list2 = list(paragraphs2['theme'].unique())\n", - "para_list2 = list(paragraphs2['paragraph'])\n", - "\n", - "print(f\"We have {len(para_list2)} paragraphs in total & those belong to {len(uniq_theme_list2)} unique themes\")" - ] - }, - { - "cell_type": "markdown", - "source": [ - "Concatenate the paragraphs of a theme as we would like to cluster themes and not paragraphs" - ], - "metadata": { - "id": "9pxEeHpJ-QSB" - } - }, - { - "cell_type": "code", - "source": [ - "para_list2 = [' '.join(paragraphs2[paragraphs2['theme']==theme]['paragraph']) for theme in uniq_theme_list2]" - ], - "metadata": { - "id": "b1akL4Kc-QSB" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "0qb7iw0j-QSB" - }, - "source": [ - "### Main Pipeline" - ] - }, - { - "cell_type": "markdown", - "source": [ - "#### Generate Paragraph Embeddings" - ], - "metadata": { - "id": "7iZibHeb-QSB" - } - }, - { - "cell_type": "code", - "source": [ - "# Generating Embeddings Once\n", - "embedding_model = tensorflow_hub.load(\"https://tfhub.dev/google/universal-sentence-encoder/4\")\n", - "para_embeddings2 = generate_embeddings(embedding_model, para_list2)" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "outputId": "19d944ea-8137-4053-b468-fe005e863fa0", - "id": "Pl_fZAMB-QSB" - }, - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Generating the document embeddings...\n" - ] - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "FYK2El6D-QSB" - }, - "source": [ - "#### Initialize BERTopic Model" - ] - }, - { - "cell_type": "code", - "source": [ - "vectorizer_model = CountVectorizer(stop_words=\"english\")\n", - "brc_model = Birch(branching_factor=50, n_clusters=None, threshold=0.4)\n", - "umap_model = UMAP(n_neighbors=15, n_components=6, min_dist=0.0, metric='cosine')\n", - "\n", - "\n", - "# topic_model = BERTopic(\n", - " # low_memory = True,\n", - " # umap_model = umap_model,\n", - " # hdbscan_model = brc_model,\n", - " # embedding_model = embedding_model,\n", - " # vectorizer_model = vectorizer_model,\n", - " # calculate_probabilities = True,\n", - " # verbose = True,\n", - " # nr_topics = int(0.3*len(uniq_theme_list2))\n", - " # )" - ], - "metadata": { - "id": "C-qIAHOk-QSC" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "old_model = BERTopic.load(\"cluster_model\")\n", - "topic_model = old_model" - ], - "metadata": { - "id": "mKZs8jv8-QSC" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "markdown", - "source": [ - "### Running the Model" - ], - "metadata": { - "id": "x1h4R5vR-QSC" - } - }, - { - "cell_type": "code", - "source": [ - "fit_bertopic_model(topic_model, para_list2, para_embeddings2)\n", - "topics, scores = perform_cluster_prediction(topic_model, para_list2, para_embeddings2)\n", - "theme_to_cluster_mapping = generate_theme_to_cluster_mapping(paragraphs2, topics)\n", - "cid_to_themes_mapping = (get_cid_to_list_topics(theme_to_cluster_mapping))\n", - "avg_themes_per_cluster = get_avg_themes_per_cluster(topic_model)\n", - "topic_info = topic_model.get_topic_info()\n", - "unclustered = topic_info[topic_info['Topic']==-1]['Count']\n", - "if unclustered.empty:\n", - " unclustered = 0\n", - " num_clusters = len(topic_info['Topic'])\n", - "else:\n", - " unclustered = int(unclustered)\n", - " num_clusters = len(topic_info['Topic'])-1\n", - "print('--------------------------------------------------------------------------------------------------------------------------------------------')\n", - "print(f\"Main Dataset Results:\")\n", - "print(f\"#Themes unclustered = {unclustered}\\nAvg. #Themes / cluster = {avg_themes_per_cluster}\\n# clusters = {num_clusters}\")" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "outputId": "4f2200cd-d4b6-41a8-9164-1e16dee80084", - "id": "M6jV50cR-QSC" - }, - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Fitting the model using the paras & their embeddings\n", - "--------------------------------------------------------------------------------------------------------------------------------------------\n", - "Main Dataset Results:\n", - "#Themes unclustered = 0\n", - "Avg. #Themes / cluster = 11.093023255813954\n", - "# clusters = 43\n" - ] - } - ] - }, - { - "cell_type": "code", - "source": [ - "# topic_model.save('cluster_model', save_embedding_model=False)" - ], - "metadata": { - "id": "B9lAWg0t-QSC" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "topic_model.get_topic_info()" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "outputId": "2e5941f9-1f02-4317-b0ad-54484aad7eb5", - "id": "xQN0G4mG-QSC" - }, - "execution_count": null, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - " Topic Count Name\n", - "0 0 38 0_data_apple_software_windows\n", - "1 1 14 1_chinese_china_dynasty_han\n", - "2 2 17 2_air_aircraft_forces_war\n", - "3 3 16 3_church_mary_pope_jesus\n", - "4 4 23 4_gaddafi_country_africa_children\n", - "5 5 19 5_theory_god_philosophy_enlightenment\n", - "6 6 9 6_london_southampton_beer_plymouth\n", - "7 7 18 7_language_languages_characters_dialects\n", - "8 8 24 8_used_antenna_light_copper\n", - "9 9 20 9_music_album_film_madonna\n", - "10 10 3 10_dollar_times_coins_ecb\n", - "11 11 23 11_cells_species_bacteria_cell\n", - "12 12 6 12_quran_al_ibn_text\n", - "13 13 8 13_species_hunting_dogs_dog\n", - "14 14 13 14_league_football_club_cup\n", - "15 15 6 15_alaska_mountains_montana_mountain\n", - "16 16 5 16_kerry_fbi_schwarzenegger_police\n", - "17 17 9 17_burke_victoria_queen_lodge\n", - "18 18 12 18_law_court_state_states\n", - "19 19 18 19_city_paris_red_mexico\n", - "20 20 12 20_island_islands_bermuda_tuvalu\n", - "21 21 29 21_city_new_state_area\n", - "22 22 8 22_energy_feynman_vacuum_matter\n", - "23 23 12 23_university_school_bell_college\n", - "24 24 10 24_ottoman_empire_armenian_armenia\n", - "25 25 20 25_french_france_napoleon_war\n", - "26 26 9 26_neptune_ice_antarctica_antarctic\n", - "27 27 1 27_pharmacy_pharmacists_pharmacies_patient\n", - "28 28 8 28_architecture_mosaic_mosaics_cubism\n", - "29 29 6 29_schools_education_universities_university\n", - "30 30 1 30_rhine_delta_river_flows\n", - "31 31 8 31_nasser_soviet_tito_estonia\n", - "32 32 4 32_jews_jewish_ashkenazi_orthodox\n", - "33 33 5 33_race_racial_black_african\n", - "34 34 2 34_shell_ge_company_oil\n", - "35 35 8 35_sexual_pain_memory_identity\n", - "36 36 5 36_dst_asthma_time_clock\n", - "37 37 6 37_greek_rome_roman_bc\n", - "38 38 5 38_israel_iran_myanmar_israeli\n", - "39 39 3 39_cotton_green_color_grapes\n", - "40 40 6 40_party_leader_parliament_minority\n", - "41 41 6 41_kathmandu_hyderabad_delhi_india\n", - "42 42 2 42_indigenous_peoples_neolithic_native" - ], - "text/html": [ - "\n", - "
\n", - "
\n", - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
TopicCountName
00380_data_apple_software_windows
11141_chinese_china_dynasty_han
22172_air_aircraft_forces_war
33163_church_mary_pope_jesus
44234_gaddafi_country_africa_children
55195_theory_god_philosophy_enlightenment
6696_london_southampton_beer_plymouth
77187_language_languages_characters_dialects
88248_used_antenna_light_copper
99209_music_album_film_madonna
1010310_dollar_times_coins_ecb
11112311_cells_species_bacteria_cell
1212612_quran_al_ibn_text
1313813_species_hunting_dogs_dog
14141314_league_football_club_cup
1515615_alaska_mountains_montana_mountain
1616516_kerry_fbi_schwarzenegger_police
1717917_burke_victoria_queen_lodge
18181218_law_court_state_states
19191819_city_paris_red_mexico
20201220_island_islands_bermuda_tuvalu
21212921_city_new_state_area
2222822_energy_feynman_vacuum_matter
23231223_university_school_bell_college
24241024_ottoman_empire_armenian_armenia
25252025_french_france_napoleon_war
2626926_neptune_ice_antarctica_antarctic
2727127_pharmacy_pharmacists_pharmacies_patient
2828828_architecture_mosaic_mosaics_cubism
2929629_schools_education_universities_university
3030130_rhine_delta_river_flows
3131831_nasser_soviet_tito_estonia
3232432_jews_jewish_ashkenazi_orthodox
3333533_race_racial_black_african
3434234_shell_ge_company_oil
3535835_sexual_pain_memory_identity
3636536_dst_asthma_time_clock
3737637_greek_rome_roman_bc
3838538_israel_iran_myanmar_israeli
3939339_cotton_green_color_grapes
4040640_party_leader_parliament_minority
4141641_kathmandu_hyderabad_delhi_india
4242242_indigenous_peoples_neolithic_native
\n", - "
\n", - " \n", - " \n", - " \n", - "\n", - " \n", - "
\n", - "
\n", - " " - ] - }, - "metadata": {}, - "execution_count": 16 - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "HfIIvUXJ-QSC" - }, - "source": [ - "### Visualizing the clustered paragraphs" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "4HO-1rnU-QSC" - }, - "outputs": [], - "source": [ - "train_data_map = cid_to_themes_mapping" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "Lp_f2bht-QSC" - }, - "outputs": [], - "source": [ - "# topic_model.visualize_barchart(top_n_topics=10)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "gq0f8fLA-QSC" - }, - "outputs": [], - "source": [ - "# topic_model.visualize_topics()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "d8pPc5PJ-QSD" - }, - "outputs": [], - "source": [ - "# hierarchical_topics = topic_model.hierarchical_topics(para_list2)\n", - "# tree = topic_model.get_topic_tree(hierarchical_topics)\n", - "# print(tree)" - ] - }, - { - "cell_type": "markdown", - "source": [ - "### Predicting on new themes" - ], - "metadata": { - "id": "L-rJUMYpsWPE" - } - }, - { - "cell_type": "code", - "source": [ - "topic_info = topic_model.get_topic_info()\n", - "topic_info" - ], - "metadata": { - "id": "5qWfTgK57qrA", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 1000 - }, - "outputId": "1d3b6ae7-9c51-4726-907a-d274649f4d9f" - }, - "execution_count": null, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - " Topic Count Name\n", - "0 0 38 0_data_apple_software_windows\n", - "1 1 14 1_chinese_china_dynasty_han\n", - "2 2 17 2_air_aircraft_forces_war\n", - "3 3 16 3_church_mary_pope_jesus\n", - "4 4 23 4_gaddafi_country_africa_children\n", - "5 5 19 5_theory_god_philosophy_enlightenment\n", - "6 6 9 6_london_southampton_beer_plymouth\n", - "7 7 18 7_language_languages_characters_dialects\n", - "8 8 24 8_used_antenna_light_copper\n", - "9 9 20 9_music_album_film_madonna\n", - "10 10 3 10_dollar_times_coins_ecb\n", - "11 11 23 11_cells_species_bacteria_cell\n", - "12 12 6 12_quran_al_ibn_text\n", - "13 13 8 13_species_hunting_dogs_dog\n", - "14 14 13 14_league_football_club_cup\n", - "15 15 6 15_alaska_mountains_montana_mountain\n", - "16 16 5 16_kerry_fbi_schwarzenegger_police\n", - "17 17 9 17_burke_victoria_queen_lodge\n", - "18 18 12 18_law_court_state_states\n", - "19 19 18 19_city_paris_red_mexico\n", - "20 20 12 20_island_islands_bermuda_tuvalu\n", - "21 21 29 21_city_new_state_area\n", - "22 22 8 22_energy_feynman_vacuum_matter\n", - "23 23 12 23_university_school_bell_college\n", - "24 24 10 24_ottoman_empire_armenian_armenia\n", - "25 25 20 25_french_france_napoleon_war\n", - "26 26 9 26_neptune_ice_antarctica_antarctic\n", - "27 27 1 27_pharmacy_pharmacists_pharmacies_patient\n", - "28 28 8 28_architecture_mosaic_mosaics_cubism\n", - "29 29 6 29_schools_education_universities_university\n", - "30 30 1 30_rhine_delta_river_flows\n", - "31 31 8 31_nasser_soviet_tito_estonia\n", - "32 32 4 32_jews_jewish_ashkenazi_orthodox\n", - "33 33 5 33_race_racial_black_african\n", - "34 34 2 34_shell_ge_company_oil\n", - "35 35 8 35_sexual_pain_memory_identity\n", - "36 36 5 36_dst_asthma_time_clock\n", - "37 37 6 37_greek_rome_roman_bc\n", - "38 38 5 38_israel_iran_myanmar_israeli\n", - "39 39 3 39_cotton_green_color_grapes\n", - "40 40 6 40_party_leader_parliament_minority\n", - "41 41 6 41_kathmandu_hyderabad_delhi_india\n", - "42 42 2 42_indigenous_peoples_neolithic_native" - ], - "text/html": [ - "\n", - "
\n", - "
\n", - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
TopicCountName
00380_data_apple_software_windows
11141_chinese_china_dynasty_han
22172_air_aircraft_forces_war
33163_church_mary_pope_jesus
44234_gaddafi_country_africa_children
55195_theory_god_philosophy_enlightenment
6696_london_southampton_beer_plymouth
77187_language_languages_characters_dialects
88248_used_antenna_light_copper
99209_music_album_film_madonna
1010310_dollar_times_coins_ecb
11112311_cells_species_bacteria_cell
1212612_quran_al_ibn_text
1313813_species_hunting_dogs_dog
14141314_league_football_club_cup
1515615_alaska_mountains_montana_mountain
1616516_kerry_fbi_schwarzenegger_police
1717917_burke_victoria_queen_lodge
18181218_law_court_state_states
19191819_city_paris_red_mexico
20201220_island_islands_bermuda_tuvalu
21212921_city_new_state_area
2222822_energy_feynman_vacuum_matter
23231223_university_school_bell_college
24241024_ottoman_empire_armenian_armenia
25252025_french_france_napoleon_war
2626926_neptune_ice_antarctica_antarctic
2727127_pharmacy_pharmacists_pharmacies_patient
2828828_architecture_mosaic_mosaics_cubism
2929629_schools_education_universities_university
3030130_rhine_delta_river_flows
3131831_nasser_soviet_tito_estonia
3232432_jews_jewish_ashkenazi_orthodox
3333533_race_racial_black_african
3434234_shell_ge_company_oil
3535835_sexual_pain_memory_identity
3636536_dst_asthma_time_clock
3737637_greek_rome_roman_bc
3838538_israel_iran_myanmar_israeli
3939339_cotton_green_color_grapes
4040640_party_leader_parliament_minority
4141641_kathmandu_hyderabad_delhi_india
4242242_indigenous_peoples_neolithic_native
\n", - "
\n", - " \n", - " \n", - " \n", - "\n", - " \n", - "
\n", - "
\n", - " " - ] - }, - "metadata": {}, - "execution_count": 21 - } - ] - }, - { - "cell_type": "markdown", - "source": [ - "#### Preparing Test Data" - ], - "metadata": { - "id": "YofzVk1sCbGd" - } - }, - { - "cell_type": "code", - "source": [ - "!gdown 1RAD2mJbz4yQddZZaUvXDWQC6Okar-QVh" - ], - "metadata": { - "id": "GgKjCcutqrLg", - "colab": { - "base_uri": "https://localhost:8080/" - }, - "outputId": "683e9eaf-1946-4569-d026-1e27d6d3c58a" - }, - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Downloading...\n", - "From: https://drive.google.com/uc?id=1RAD2mJbz4yQddZZaUvXDWQC6Okar-QVh\n", - "To: /content/paragraphs.csv\n", - "\r 0% 0.00/704k [00:00\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mdisplay_comp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnew_map\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mtrain_data_map\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[0;32m\u001b[0m in \u001b[0;36mdisplay_comp\u001b[0;34m(n_map, o_map)\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mcluster\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mn_map\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34mf\"New Topics: {n_map[cluster]}\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 4\u001b[0;31m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34mf\"Assigned to: {o_map[cluster]}\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[0;31mKeyError\u001b[0m: 10" - ] - } - ] - }, - { - "cell_type": "code", - "source": [ - "# @title Get Squad Themes\n", - "squad_themes = [\n", - " 'Beyoncé',\n", - " 'Frédéric_Chopin',\n", - " 'Sino-Tibetan_relations_during_the_Ming_dynasty',\n", - " 'IPod',\n", - " 'The_Legend_of_Zelda:_Twilight_Princess',\n", - " 'Spectre_(2015_film)',\n", - " '2008_Sichuan_earthquake',\n", - " 'New_York_City',\n", - " 'To_Kill_a_Mockingbird',\n", - " 'Solar_energy',\n", - " 'Kanye_West',\n", - " 'Buddhism',\n", - " 'American_Idol',\n", - " 'Dog',\n", - " '2008_Summer_Olympics_torch_relay',\n", - " 'Genome',\n", - " 'Comprehensive_school',\n", - " 'Republic_of_the_Congo',\n", - " 'Prime_minister',\n", - " 'Institute_of_technology',\n", - " 'Wayback_Machine',\n", - " 'Dutch_Republic',\n", - " 'Symbiosis',\n", - " 'Canadian_Armed_Forces',\n", - " 'Cardinal_(Catholicism)',\n", - " 'Iranian_languages',\n", - " 'Lighting',\n", - " 'Separation_of_powers_under_the_United_States_Constitution',\n", - " 'Architecture',\n", - " 'Human_Development_Index',\n", - " 'Southern_Europe',\n", - " 'BBC_Television',\n", - " 'Arnold_Schwarzenegger',\n", - " 'Plymouth',\n", - " 'Heresy',\n", - " 'Warsaw_Pact',\n", - " 'Materialism',\n", - " 'Christian',\n", - " 'Sony_Music_Entertainment',\n", - " 'Oklahoma_City',\n", - " 'Hunter-gatherer',\n", - " 'United_Nations_Population_Fund',\n", - " 'Russian_Soviet_Federative_Socialist_Republic',\n", - " 'Alexander_Graham_Bell',\n", - " 'Pub',\n", - " 'Internet_service_provider',\n", - " 'Comics',\n", - " 'Saint_Helena',\n", - " 'Aspirated_consonant',\n", - " 'Hydrogen',\n", - " 'Space_Race',\n", - " 'Web_browser',\n", - " 'BeiDou_Navigation_Satellite_System',\n", - " 'Canon_law',\n", - " 'Communications_in_Somalia',\n", - " 'Catalan_language',\n", - " 'Boston',\n", - " 'Universal_Studios',\n", - " 'Estonian_language',\n", - " 'Paper',\n", - " 'Adult_contemporary_music',\n", - " 'Daylight_saving_time',\n", - " 'Royal_Institute_of_British_Architects',\n", - " 'National_Archives_and_Records_Administration',\n", - " 'Tristan_da_Cunha',\n", - " 'University_of_Kansas',\n", - " 'Nanjing',\n", - " 'Arena_Football_League',\n", - " 'Dialect',\n", - " 'Bern',\n", - " 'Westminster_Abbey',\n", - " 'Political_corruption',\n", - " 'Classical_music',\n", - " 'Slavs',\n", - " 'Southampton',\n", - " 'Treaty',\n", - " 'Josip_Broz_Tito',\n", - " 'Marshall_Islands',\n", - " 'Szlachta',\n", - " 'Virgil',\n", - " 'Alps',\n", - " 'Gene',\n", - " 'Guinea-Bissau',\n", - " 'List_of_numbered_streets_in_Manhattan',\n", - " 'Brain',\n", - " 'Near_East',\n", - " 'Zhejiang',\n", - " 'Ministry_of_Defence_(United_Kingdom)',\n", - " 'High-definition_television',\n", - " 'Wood',\n", - " 'Somalis',\n", - " 'Middle_Ages',\n", - " 'Phonology',\n", - " 'Computer',\n", - " 'Black_people',\n", - " 'The_Times',\n", - " 'New_Delhi',\n", - " 'Bird_migration',\n", - " 'Atlantic_City,_New_Jersey',\n", - " 'Immunology',\n", - " 'MP3',\n", - " 'House_music',\n", - " 'Letter_case',\n", - " 'Chihuahua_(state)',\n", - " 'Imamah_(Shia_doctrine)',\n", - " 'Pitch_(music)',\n", - " 'England_national_football_team',\n", - " 'Houston',\n", - " 'Copper',\n", - " 'Identity_(social_science)',\n", - " 'Himachal_Pradesh',\n", - " 'Communication',\n", - " 'Grape',\n", - " 'Computer_security',\n", - " 'Orthodox_Judaism',\n", - " 'Animal',\n", - " 'Beer',\n", - " 'Race_and_ethnicity_in_the_United_States_Census',\n", - " 'United_States_dollar',\n", - " 'Imperial_College_London',\n", - " 'Hanover',\n", - " 'Emotion',\n", - " 'Everton_F.C.',\n", - " 'Old_English',\n", - " 'Aircraft_carrier',\n", - " 'Federal_Aviation_Administration',\n", - " 'Lancashire',\n", - " 'Mesozoic',\n", - " 'Videoconferencing',\n", - " 'Gregorian_calendar',\n", - " 'Xbox_360',\n", - " 'Military_history_of_the_United_States',\n", - " 'Hard_rock',\n", - " 'Great_Plains',\n", - " 'Infrared',\n", - " 'Biodiversity',\n", - " 'ASCII',\n", - " 'Digestion',\n", - " 'Gymnastics',\n", - " 'FC_Barcelona',\n", - " 'Federal_Bureau_of_Investigation',\n", - " 'Mary_(mother_of_Jesus)',\n", - " 'Melbourne',\n", - " 'John,_King_of_England',\n", - " 'Macintosh',\n", - " 'Anti-aircraft_warfare',\n", - " 'Sanskrit',\n", - " 'Valencia',\n", - " 'General_Electric',\n", - " 'United_States_Army',\n", - " 'Franco-Prussian_War',\n", - " 'Adolescence',\n", - " 'Antarctica',\n", - " 'Eritrea',\n", - " 'Uranium',\n", - " 'Order_of_the_British_Empire',\n", - " 'Circadian_rhythm',\n", - " 'Elizabeth_II',\n", - " 'Sexual_orientation',\n", - " 'Dell',\n", - " 'Capital_punishment_in_the_United_States',\n", - " 'Age_of_Enlightenment',\n", - " 'Nintendo_Entertainment_System',\n", - " 'Athanasius_of_Alexandria',\n", - " 'Seattle',\n", - " 'Memory',\n", - " 'Multiracial_American',\n", - " 'Ashkenazi_Jews',\n", - " 'Pharmaceutical_industry',\n", - " 'Umayyad_Caliphate',\n", - " 'Asphalt',\n", - " 'Queen_Victoria',\n", - " 'Freemasonry',\n", - " 'Israel',\n", - " 'Hellenistic_period',\n", - " 'Bill_%26_Melinda_Gates_Foundation',\n", - " 'Montevideo',\n", - " 'Poultry',\n", - " 'Dutch_language',\n", - " 'Buckingham_Palace',\n", - " 'Incandescent_light_bulb',\n", - " 'Arsenal_F.C.',\n", - " 'Clothing',\n", - " 'Chicago_Cubs',\n", - " 'Korean_War',\n", - " 'Copyright_infringement',\n", - " 'Greece',\n", - " 'Royal_Dutch_Shell',\n", - " 'Mammal',\n", - " 'East_India_Company',\n", - " 'Hokkien',\n", - " 'Professional_wrestling',\n", - " 'Film_speed',\n", - " 'Mexico_City',\n", - " 'Napoleon',\n", - " 'Germans',\n", - " 'Southeast_Asia',\n", - " 'Brigham_Young_University',\n", - " 'Department_store',\n", - " 'Intellectual_property',\n", - " 'Florida',\n", - " 'Queen_(band)',\n", - " 'Presbyterianism',\n", - " 'Thuringia',\n", - " 'Predation',\n", - " 'Marvel_Comics',\n", - " 'British_Empire',\n", - " 'Botany',\n", - " 'Madonna_(entertainer)',\n", - " 'Law_of_the_United_States',\n", - " 'Myanmar',\n", - " 'Jews',\n", - " 'Cotton',\n", - " 'Data_compression',\n", - " 'The_Sun_(United_Kingdom)',\n", - " 'Pesticide',\n", - " 'Somerset',\n", - " 'Yale_University',\n", - " 'Late_Middle_Ages',\n", - " 'Ann_Arbor,_Michigan',\n", - " 'Gothic_architecture',\n", - " 'Cubism',\n", - " 'Political_philosophy',\n", - " 'Alloy',\n", - " 'Norfolk_Island',\n", - " 'Edmund_Burke',\n", - " 'Samoa',\n", - " 'Pope_Paul_VI',\n", - " 'Electric_motor',\n", - " 'Switzerland',\n", - " 'Mali',\n", - " 'Raleigh,_North_Carolina',\n", - " 'Nutrition',\n", - " 'Crimean_War',\n", - " 'Nonprofit_organization',\n", - " 'Literature',\n", - " 'Avicenna',\n", - " 'Chinese_characters',\n", - " 'Bermuda',\n", - " 'Nigeria',\n", - " 'Utrecht',\n", - " 'Molotov%E2%80%93Ribbentrop_Pact',\n", - " 'Capacitor',\n", - " 'History_of_science',\n", - " 'Digimon',\n", - " 'Glacier',\n", - " 'Comcast',\n", - " 'Tuberculosis',\n", - " 'Affirmative_action_in_the_United_States',\n", - " 'FA_Cup',\n", - " 'New_Haven,_Connecticut',\n", - " 'Alsace',\n", - " 'Carnival',\n", - " 'Baptists',\n", - " 'Child_labour',\n", - " 'North_Carolina',\n", - " 'Heian_period',\n", - " 'On_the_Origin_of_Species',\n", - " 'Dissolution_of_the_Soviet_Union',\n", - " 'Crucifixion_of_Jesus',\n", - " 'Supreme_court',\n", - " 'Textual_criticism',\n", - " 'Gramophone_record',\n", - " 'Turner_Classic_Movies',\n", - " 'Hindu_philosophy',\n", - " 'Political_party',\n", - " 'A_cappella',\n", - " 'Dominican_Order',\n", - " 'Eton_College',\n", - " 'Cork_(city)',\n", - " 'Galicia_(Spain)',\n", - " 'USB',\n", - " 'Sichuan',\n", - " 'Unicode',\n", - " 'Detroit',\n", - " 'London',\n", - " 'Culture',\n", - " 'Sahara',\n", - " 'Rule_of_law',\n", - " 'Tibet',\n", - " 'Exhibition_game',\n", - " 'Northwestern_University',\n", - " 'Strasbourg',\n", - " 'Oklahoma',\n", - " 'History_of_India',\n", - " 'Gamal_Abdel_Nasser',\n", - " 'Pope_John_XXIII',\n", - " 'Time',\n", - " 'European_Central_Bank',\n", - " 'St._John%27s,_Newfoundland_and_Labrador',\n", - " 'John_von_Neumann',\n", - " 'PlayStation_3',\n", - " 'Royal_assent',\n", - " 'Group_(mathematics)',\n", - " 'Central_African_Republic',\n", - " 'Asthma',\n", - " 'LaserDisc',\n", - " 'George_VI',\n", - " 'Federalism',\n", - " 'Annelid',\n", - " 'God',\n", - " 'War_on_Terror',\n", - " 'Labour_Party_(UK)',\n", - " 'Estonia',\n", - " 'Alaska',\n", - " 'Karl_Popper',\n", - " 'Mandolin',\n", - " 'Insect',\n", - " 'Race_(human_categorization)',\n", - " 'Paris',\n", - " 'Apollo',\n", - " 'United_States_presidential_election,_2004',\n", - " 'Liberal_Party_of_Australia',\n", - " 'Samurai',\n", - " 'Software_testing',\n", - " 'States_of_Germany',\n", - " 'Glass',\n", - " 'Planck_constant',\n", - " 'Renewable_energy_commercialization',\n", - " 'Palermo',\n", - " 'Green',\n", - " 'Zinc',\n", - " 'Neoclassical_architecture',\n", - " 'Serbo-Croatian',\n", - " 'CBC_Television',\n", - " 'Appalachian_Mountains',\n", - " 'IBM',\n", - " 'Energy',\n", - " 'East_Prussia',\n", - " 'Ottoman_Empire',\n", - " 'Philosophy_of_space_and_time',\n", - " 'Neolithic',\n", - " 'Friedrich_Hayek',\n", - " 'Diarrhea',\n", - " 'Madrasa',\n", - " 'Miami',\n", - " 'Philadelphia',\n", - " 'John_Kerry',\n", - " 'Rajasthan',\n", - " 'Guam',\n", - " 'Empiricism',\n", - " 'Idealism',\n", - " 'Czech_language',\n", - " 'Education',\n", - " 'Tennessee',\n", - " 'Post-punk',\n", - " 'Canadian_football',\n", - " 'Seven_Years%27_War',\n", - " 'Richard_Feynman',\n", - " 'Muammar_Gaddafi',\n", - " 'Cyprus',\n", - " 'Steven_Spielberg',\n", - " 'Elevator',\n", - " 'Neptune',\n", - " 'Railway_electrification_system',\n", - " 'Spanish_language_in_the_United_States',\n", - " 'Charleston,_South_Carolina',\n", - " 'The_Blitz',\n", - " 'Endangered_Species_Act',\n", - " 'Vacuum',\n", - " 'Han_dynasty',\n", - " 'Quran',\n", - " 'Geography_of_the_United_States',\n", - " 'Compact_disc',\n", - " 'Transistor',\n", - " 'Modern_history',\n", - " '51st_state',\n", - " 'Antenna_(radio)',\n", - " 'Flowering_plant',\n", - " 'Hyderabad',\n", - " 'Santa_Monica,_California',\n", - " 'Washington_University_in_St._Louis',\n", - " 'Central_Intelligence_Agency',\n", - " 'Pain',\n", - " 'Database',\n", - " 'Tucson,_Arizona',\n", - " 'Armenia',\n", - " 'Bacteria',\n", - " 'Printed_circuit_board',\n", - " 'Greeks',\n", - " 'Premier_League',\n", - " 'Roman_Republic',\n", - " 'Pacific_War',\n", - " 'San_Diego',\n", - " 'Muslim_world',\n", - " 'Iran',\n", - " 'British_Isles',\n", - " 'Association_football',\n", - " 'Georgian_architecture',\n", - " 'Liberia',\n", - " 'Alfred_North_Whitehead',\n", - " 'Antibiotics',\n", - " 'Windows_8',\n", - " 'Swaziland',\n", - " 'Translation',\n", - " 'Airport',\n", - " 'Kievan_Rus%27',\n", - " 'Super_Nintendo_Entertainment_System',\n", - " 'Sumer',\n", - " 'Tuvalu',\n", - " 'Immaculate_Conception',\n", - " 'Namibia',\n", - " 'Russian_language',\n", - " 'United_States_Air_Force',\n", - " 'Light-emitting_diode',\n", - " 'Great_power',\n", - " 'Bird',\n", - " 'Qing_dynasty',\n", - " 'Indigenous_peoples_of_the_Americas',\n", - " 'Red',\n", - " 'Egypt',\n", - " 'Mosaic',\n", - " 'University',\n", - " 'Religion_in_ancient_Rome',\n", - " 'YouTube',\n", - " 'Separation_of_church_and_state_in_the_United_States',\n", - " 'Protestantism',\n", - " 'Bras%C3%ADlia',\n", - " 'Economy_of_Greece',\n", - " 'Party_leaders_of_the_United_States_House_of_Representatives',\n", - " 'Armenians',\n", - " 'Jehovah%27s_Witnesses',\n", - " 'Dwight_D._Eisenhower',\n", - " 'The_Bronx',\n", - " 'Financial_crisis_of_2007%E2%80%9308',\n", - " 'Portugal',\n", - " 'Humanism',\n", - " 'Geological_history_of_Earth',\n", - " 'Police',\n", - " 'Genocide',\n", - " 'Saint_Barth%C3%A9lemy',\n", - " 'Tajikistan',\n", - " 'University_of_Notre_Dame',\n", - " 'Anthropology',\n", - " 'Montana',\n", - " 'Punjab,_Pakistan',\n", - " 'Richmond,_Virginia',\n", - " 'Infection',\n", - " 'Hunting',\n", - " 'Kathmandu',\n", - " 'Myocardial_infarction',\n", - " 'Matter']" - ], - "metadata": { - "cellView": "form", - "id": "ny9a2xIaEG3p" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "thm = []\n", - "for cluster in new_map:\n", - " for i in new_map[cluster]:\n", - " if i not in squad_themes:\n", - " thm.append(i)\n", - "\n", - "thm = []\n", - "for cluster in new_map:\n", - " for i in new_map[cluster]:\n", - " if i not in squad_themes:\n", - " thm.append((i, cluster))" - ], - "metadata": { - "id": "gOlgf_ntExoY" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "import pickle\n", - "\n", - "with open('/content/gdrive/MyDrive/Colab Notebooks/Final/new_themes', \"wb\") as fp: #Pickling\n", - " pickle.dump(thm, fp)\n", - "\n", - "with open('/content/gdrive/MyDrive/Colab Notebooks/Final/new_themes_with_context', \"wb\") as fp: #Pickling\n", - " pickle.dump(thm, fp)" - ], - "metadata": { - "id": "-GTnRdoSFvV1" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "markdown", - "source": [ - "## Synthetic Data Generation" - ], - "metadata": { - "id": "WjaS-omZkwhE" - } - }, - { - "cell_type": "markdown", - "source": [ - "### Connect to Google Drive\n", - "\n", - "Use:\n", - "* Saving the output file.\n", - "* Quicker loading of the heavy SynQA Model in between subsequent runs." - ], - "metadata": { - "id": "w-ETDXir9ues" - } - }, - { - "cell_type": "code", - "source": [ - "from google.colab import drive\n", - "drive.mount('/content/gdrive')" - ], - "metadata": { - "id": "SjJl58V59xfI", - "colab": { - "base_uri": "https://localhost:8080/" - }, - "outputId": "d8e11916-1ab4-49a0-fbf7-f7161e0e520b" - }, - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Mounted at /content/gdrive\n" - ] - } - ] - }, - { - "cell_type": "markdown", - "source": [ - "### Download and Imports\n", - "\n", - "Download all the required models and perform necessary imports for the models." - ], - "metadata": { - "id": "W597h23gXlG5" - } - }, - { - "cell_type": "markdown", - "source": [ - "#### KeyBert with KeyPhrase-Vectorizers\n", - "\n", - "Model used for Answer Generation (using NER) for synQA Model." - ], - "metadata": { - "id": "Gd1RGk1u7fpo" - } - }, - { - "cell_type": "code", - "source": [ - "!pip install keyphrase-vectorizers\n", - "!pip install keybert" - ], - "metadata": { - "id": "3rPUJSvFJumr", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 1000 - }, - "outputId": "12f85215-6f83-44f8-c442-853d28acfae6" - }, - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", - "Collecting keyphrase-vectorizers\n", - " Downloading keyphrase_vectorizers-0.0.11-py3-none-any.whl (29 kB)\n", - "Collecting psutil>=5.8.0\n", - " Downloading psutil-5.9.4-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (280 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m280.2/280.2 KB\u001b[0m \u001b[31m23.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: scikit-learn>=1.0 in /usr/local/lib/python3.8/dist-packages (from keyphrase-vectorizers) (1.0.2)\n", - "Requirement already satisfied: spacy>=3.0.1 in /usr/local/lib/python3.8/dist-packages (from keyphrase-vectorizers) (3.4.4)\n", - "Requirement already satisfied: nltk>=3.6.1 in /usr/local/lib/python3.8/dist-packages (from keyphrase-vectorizers) (3.7)\n", - "Requirement already satisfied: scipy>=1.7.3 in /usr/local/lib/python3.8/dist-packages (from keyphrase-vectorizers) (1.7.3)\n", - "Requirement already satisfied: numpy>=1.18.5 in /usr/local/lib/python3.8/dist-packages (from keyphrase-vectorizers) (1.21.6)\n", - "Collecting spacy-transformers>=1.1.6\n", - " Downloading spacy_transformers-1.2.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (193 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m193.5/193.5 KB\u001b[0m \u001b[31m19.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: click in /usr/local/lib/python3.8/dist-packages (from nltk>=3.6.1->keyphrase-vectorizers) (7.1.2)\n", - "Requirement already satisfied: joblib in /usr/local/lib/python3.8/dist-packages (from nltk>=3.6.1->keyphrase-vectorizers) (1.2.0)\n", - "Requirement already satisfied: tqdm in /usr/local/lib/python3.8/dist-packages (from nltk>=3.6.1->keyphrase-vectorizers) (4.64.1)\n", - "Requirement already satisfied: regex>=2021.8.3 in /usr/local/lib/python3.8/dist-packages (from nltk>=3.6.1->keyphrase-vectorizers) (2022.6.2)\n", - "Requirement already satisfied: threadpoolctl>=2.0.0 in /usr/local/lib/python3.8/dist-packages (from scikit-learn>=1.0->keyphrase-vectorizers) (3.1.0)\n", - "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.8/dist-packages (from spacy>=3.0.1->keyphrase-vectorizers) (23.0)\n", - "Requirement already satisfied: typer<0.8.0,>=0.3.0 in /usr/local/lib/python3.8/dist-packages (from spacy>=3.0.1->keyphrase-vectorizers) (0.7.0)\n", - "Requirement already satisfied: catalogue<2.1.0,>=2.0.6 in /usr/local/lib/python3.8/dist-packages (from spacy>=3.0.1->keyphrase-vectorizers) (2.0.8)\n", - "Requirement already satisfied: srsly<3.0.0,>=2.4.3 in /usr/local/lib/python3.8/dist-packages (from spacy>=3.0.1->keyphrase-vectorizers) (2.4.5)\n", - "Requirement already satisfied: langcodes<4.0.0,>=3.2.0 in /usr/local/lib/python3.8/dist-packages (from spacy>=3.0.1->keyphrase-vectorizers) (3.3.0)\n", - "Requirement already satisfied: spacy-legacy<3.1.0,>=3.0.10 in /usr/local/lib/python3.8/dist-packages (from spacy>=3.0.1->keyphrase-vectorizers) (3.0.12)\n", - "Requirement already satisfied: cymem<2.1.0,>=2.0.2 in /usr/local/lib/python3.8/dist-packages (from spacy>=3.0.1->keyphrase-vectorizers) (2.0.7)\n", - "Requirement already satisfied: smart-open<7.0.0,>=5.2.1 in /usr/local/lib/python3.8/dist-packages (from spacy>=3.0.1->keyphrase-vectorizers) (6.3.0)\n", - "Requirement already satisfied: pydantic!=1.8,!=1.8.1,<1.11.0,>=1.7.4 in /usr/local/lib/python3.8/dist-packages (from spacy>=3.0.1->keyphrase-vectorizers) (1.10.4)\n", - "Requirement already satisfied: murmurhash<1.1.0,>=0.28.0 in /usr/local/lib/python3.8/dist-packages (from spacy>=3.0.1->keyphrase-vectorizers) (1.0.9)\n", - "Requirement already satisfied: requests<3.0.0,>=2.13.0 in /usr/local/lib/python3.8/dist-packages (from spacy>=3.0.1->keyphrase-vectorizers) (2.25.1)\n", - "Requirement already satisfied: jinja2 in /usr/local/lib/python3.8/dist-packages (from spacy>=3.0.1->keyphrase-vectorizers) (2.11.3)\n", - "Requirement already satisfied: wasabi<1.1.0,>=0.9.1 in /usr/local/lib/python3.8/dist-packages (from spacy>=3.0.1->keyphrase-vectorizers) (0.10.1)\n", - "Requirement already satisfied: thinc<8.2.0,>=8.1.0 in /usr/local/lib/python3.8/dist-packages (from spacy>=3.0.1->keyphrase-vectorizers) (8.1.7)\n", - "Requirement already satisfied: spacy-loggers<2.0.0,>=1.0.0 in /usr/local/lib/python3.8/dist-packages (from spacy>=3.0.1->keyphrase-vectorizers) (1.0.4)\n", - "Requirement already satisfied: preshed<3.1.0,>=3.0.2 in /usr/local/lib/python3.8/dist-packages (from spacy>=3.0.1->keyphrase-vectorizers) (3.0.8)\n", - "Requirement already satisfied: pathy>=0.3.5 in /usr/local/lib/python3.8/dist-packages (from spacy>=3.0.1->keyphrase-vectorizers) (0.10.1)\n", - "Requirement already satisfied: setuptools in /usr/local/lib/python3.8/dist-packages (from spacy>=3.0.1->keyphrase-vectorizers) (57.4.0)\n", - "Collecting spacy-alignments<1.0.0,>=0.7.2\n", - " Downloading spacy_alignments-0.9.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.2/1.2 MB\u001b[0m \u001b[31m43.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: torch>=1.6.0 in /usr/local/lib/python3.8/dist-packages (from spacy-transformers>=1.1.6->keyphrase-vectorizers) (1.13.1+cu116)\n", - "Collecting transformers<4.27.0,>=3.4.0\n", - " Downloading transformers-4.26.0-py3-none-any.whl (6.3 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m6.3/6.3 MB\u001b[0m \u001b[31m92.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: typing-extensions>=4.2.0 in /usr/local/lib/python3.8/dist-packages (from pydantic!=1.8,!=1.8.1,<1.11.0,>=1.7.4->spacy>=3.0.1->keyphrase-vectorizers) (4.4.0)\n", - "Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.8/dist-packages (from requests<3.0.0,>=2.13.0->spacy>=3.0.1->keyphrase-vectorizers) (1.24.3)\n", - "Requirement already satisfied: chardet<5,>=3.0.2 in /usr/local/lib/python3.8/dist-packages (from requests<3.0.0,>=2.13.0->spacy>=3.0.1->keyphrase-vectorizers) (4.0.0)\n", - "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.8/dist-packages (from requests<3.0.0,>=2.13.0->spacy>=3.0.1->keyphrase-vectorizers) (2022.12.7)\n", - "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.8/dist-packages (from requests<3.0.0,>=2.13.0->spacy>=3.0.1->keyphrase-vectorizers) (2.10)\n", - "Requirement already satisfied: confection<1.0.0,>=0.0.1 in /usr/local/lib/python3.8/dist-packages (from thinc<8.2.0,>=8.1.0->spacy>=3.0.1->keyphrase-vectorizers) (0.0.4)\n", - "Requirement already satisfied: blis<0.8.0,>=0.7.8 in /usr/local/lib/python3.8/dist-packages (from thinc<8.2.0,>=8.1.0->spacy>=3.0.1->keyphrase-vectorizers) (0.7.9)\n", - "Collecting huggingface-hub<1.0,>=0.11.0\n", - " Downloading huggingface_hub-0.12.0-py3-none-any.whl (190 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m190.3/190.3 KB\u001b[0m \u001b[31m21.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hCollecting tokenizers!=0.11.3,<0.14,>=0.11.1\n", - " Downloading tokenizers-0.13.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.6 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m7.6/7.6 MB\u001b[0m \u001b[31m108.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.8/dist-packages (from transformers<4.27.0,>=3.4.0->spacy-transformers>=1.1.6->keyphrase-vectorizers) (6.0)\n", - "Requirement already satisfied: filelock in /usr/local/lib/python3.8/dist-packages (from transformers<4.27.0,>=3.4.0->spacy-transformers>=1.1.6->keyphrase-vectorizers) (3.9.0)\n", - "Requirement already satisfied: MarkupSafe>=0.23 in /usr/local/lib/python3.8/dist-packages (from jinja2->spacy>=3.0.1->keyphrase-vectorizers) (2.0.1)\n", - "Installing collected packages: tokenizers, spacy-alignments, psutil, huggingface-hub, transformers, spacy-transformers, keyphrase-vectorizers\n", - " Attempting uninstall: psutil\n", - " Found existing installation: psutil 5.4.8\n", - " Uninstalling psutil-5.4.8:\n", - " Successfully uninstalled psutil-5.4.8\n", - "Successfully installed huggingface-hub-0.12.0 keyphrase-vectorizers-0.0.11 psutil-5.9.4 spacy-alignments-0.9.0 spacy-transformers-1.2.1 tokenizers-0.13.2 transformers-4.26.0\n" - ] - }, - { - "output_type": "display_data", - "data": { - "application/vnd.colab-display-data+json": { - "pip_warning": { - "packages": [ - "psutil" - ] - } - } - }, - "metadata": {} - }, - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", - "Collecting keybert\n", - " Downloading keybert-0.7.0.tar.gz (21 kB)\n", - " Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - "Collecting sentence-transformers>=0.3.8\n", - " Downloading sentence-transformers-2.2.2.tar.gz (85 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m86.0/86.0 KB\u001b[0m \u001b[31m10.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25h Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - "Requirement already satisfied: scikit-learn>=0.22.2 in /usr/local/lib/python3.8/dist-packages (from keybert) (1.0.2)\n", - "Requirement already satisfied: numpy>=1.18.5 in /usr/local/lib/python3.8/dist-packages (from keybert) (1.21.6)\n", - "Collecting rich>=10.4.0\n", - " Downloading rich-13.3.1-py3-none-any.whl (239 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m239.0/239.0 KB\u001b[0m \u001b[31m27.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: typing-extensions<5.0,>=4.0.0 in /usr/local/lib/python3.8/dist-packages (from rich>=10.4.0->keybert) (4.4.0)\n", - "Collecting markdown-it-py<3.0.0,>=2.1.0\n", - " Downloading markdown_it_py-2.1.0-py3-none-any.whl (84 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m84.5/84.5 KB\u001b[0m \u001b[31m11.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hCollecting pygments<3.0.0,>=2.14.0\n", - " Downloading Pygments-2.14.0-py3-none-any.whl (1.1 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.1/1.1 MB\u001b[0m \u001b[31m61.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: threadpoolctl>=2.0.0 in /usr/local/lib/python3.8/dist-packages (from scikit-learn>=0.22.2->keybert) (3.1.0)\n", - "Requirement already satisfied: scipy>=1.1.0 in /usr/local/lib/python3.8/dist-packages (from scikit-learn>=0.22.2->keybert) (1.7.3)\n", - "Requirement already satisfied: joblib>=0.11 in /usr/local/lib/python3.8/dist-packages (from scikit-learn>=0.22.2->keybert) (1.2.0)\n", - "Requirement already satisfied: transformers<5.0.0,>=4.6.0 in /usr/local/lib/python3.8/dist-packages (from sentence-transformers>=0.3.8->keybert) (4.26.0)\n", - "Requirement already satisfied: tqdm in /usr/local/lib/python3.8/dist-packages (from sentence-transformers>=0.3.8->keybert) (4.64.1)\n", - "Requirement already satisfied: torch>=1.6.0 in /usr/local/lib/python3.8/dist-packages (from sentence-transformers>=0.3.8->keybert) (1.13.1+cu116)\n", - "Requirement already satisfied: torchvision in /usr/local/lib/python3.8/dist-packages (from sentence-transformers>=0.3.8->keybert) (0.14.1+cu116)\n", - "Requirement already satisfied: nltk in /usr/local/lib/python3.8/dist-packages (from sentence-transformers>=0.3.8->keybert) (3.7)\n", - "Collecting sentencepiece\n", - " Downloading sentencepiece-0.1.97-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.3/1.3 MB\u001b[0m \u001b[31m70.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: huggingface-hub>=0.4.0 in /usr/local/lib/python3.8/dist-packages (from sentence-transformers>=0.3.8->keybert) (0.12.0)\n", - "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.8/dist-packages (from huggingface-hub>=0.4.0->sentence-transformers>=0.3.8->keybert) (6.0)\n", - "Requirement already satisfied: requests in /usr/local/lib/python3.8/dist-packages (from huggingface-hub>=0.4.0->sentence-transformers>=0.3.8->keybert) (2.25.1)\n", - "Requirement already satisfied: filelock in /usr/local/lib/python3.8/dist-packages (from huggingface-hub>=0.4.0->sentence-transformers>=0.3.8->keybert) (3.9.0)\n", - "Requirement already satisfied: packaging>=20.9 in /usr/local/lib/python3.8/dist-packages (from huggingface-hub>=0.4.0->sentence-transformers>=0.3.8->keybert) (23.0)\n", - "Collecting mdurl~=0.1\n", - " Downloading mdurl-0.1.2-py3-none-any.whl (10.0 kB)\n", - "Requirement already satisfied: tokenizers!=0.11.3,<0.14,>=0.11.1 in /usr/local/lib/python3.8/dist-packages (from transformers<5.0.0,>=4.6.0->sentence-transformers>=0.3.8->keybert) (0.13.2)\n", - "Requirement already satisfied: regex!=2019.12.17 in /usr/local/lib/python3.8/dist-packages (from transformers<5.0.0,>=4.6.0->sentence-transformers>=0.3.8->keybert) (2022.6.2)\n", - "Requirement already satisfied: click in /usr/local/lib/python3.8/dist-packages (from nltk->sentence-transformers>=0.3.8->keybert) (7.1.2)\n", - "Requirement already satisfied: pillow!=8.3.*,>=5.3.0 in /usr/local/lib/python3.8/dist-packages (from torchvision->sentence-transformers>=0.3.8->keybert) (7.1.2)\n", - "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.8/dist-packages (from requests->huggingface-hub>=0.4.0->sentence-transformers>=0.3.8->keybert) (2.10)\n", - "Requirement already satisfied: chardet<5,>=3.0.2 in /usr/local/lib/python3.8/dist-packages (from requests->huggingface-hub>=0.4.0->sentence-transformers>=0.3.8->keybert) (4.0.0)\n", - "Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.8/dist-packages (from requests->huggingface-hub>=0.4.0->sentence-transformers>=0.3.8->keybert) (1.24.3)\n", - "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.8/dist-packages (from requests->huggingface-hub>=0.4.0->sentence-transformers>=0.3.8->keybert) (2022.12.7)\n", - "Building wheels for collected packages: keybert, sentence-transformers\n", - " Building wheel for keybert (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - " Created wheel for keybert: filename=keybert-0.7.0-py3-none-any.whl size=23800 sha256=17ed0f814c0d81b7f94b98e75e4a50fe5d779cf76888d92af34b502a07c22bf6\n", - " Stored in directory: /root/.cache/pip/wheels/6c/bc/8b/a51bee77aec33895e6c8c236144b4cc10875659c4d2c80f070\n", - " Building wheel for sentence-transformers (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - " Created wheel for sentence-transformers: filename=sentence_transformers-2.2.2-py3-none-any.whl size=125938 sha256=254896de1a4a07c5e26ab21ff92833362dc005c4790a2733f15ef7f23d7c53ab\n", - " Stored in directory: /root/.cache/pip/wheels/5e/6f/8c/d88aec621f3f542d26fac0342bef5e693335d125f4e54aeffe\n", - "Successfully built keybert sentence-transformers\n", - "Installing collected packages: sentencepiece, pygments, mdurl, markdown-it-py, rich, sentence-transformers, keybert\n", - " Attempting uninstall: pygments\n", - " Found existing installation: Pygments 2.6.1\n", - " Uninstalling Pygments-2.6.1:\n", - " Successfully uninstalled Pygments-2.6.1\n", - "\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n", - "ipython 7.9.0 requires jedi>=0.10, which is not installed.\u001b[0m\u001b[31m\n", - "\u001b[0mSuccessfully installed keybert-0.7.0 markdown-it-py-2.1.0 mdurl-0.1.2 pygments-2.14.0 rich-13.3.1 sentence-transformers-2.2.2 sentencepiece-0.1.97\n" - ] - } - ] - }, - { - "cell_type": "code", - "source": [ - "from keybert import KeyBERT\n", - "from keyphrase_vectorizers import KeyphraseCountVectorizer" - ], - "metadata": { - "id": "vPm3Y5zQJums" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "markdown", - "source": [ - "#### synQA-question-generators\n", - "\n", - "Answer Aware model for Question Generation." - ], - "metadata": { - "id": "gK6mYiOGJums" - } - }, - { - "cell_type": "code", - "source": [ - "!pip install transformers\n", - "!pip install fairseq" - ], - "metadata": { - "id": "1J5qmKP2Jums", - "colab": { - "base_uri": "https://localhost:8080/" - }, - "outputId": "737acd16-d72b-4b89-d6cf-b0dcae9c761b" - }, - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", - "Requirement already satisfied: transformers in /usr/local/lib/python3.8/dist-packages (4.26.0)\n", - "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.8/dist-packages (from transformers) (6.0)\n", - "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.8/dist-packages (from transformers) (23.0)\n", - "Requirement already satisfied: huggingface-hub<1.0,>=0.11.0 in /usr/local/lib/python3.8/dist-packages (from transformers) (0.12.0)\n", - "Requirement already satisfied: tqdm>=4.27 in /usr/local/lib/python3.8/dist-packages (from transformers) (4.64.1)\n", - "Requirement already satisfied: tokenizers!=0.11.3,<0.14,>=0.11.1 in /usr/local/lib/python3.8/dist-packages (from transformers) (0.13.2)\n", - "Requirement already satisfied: numpy>=1.17 in /usr/local/lib/python3.8/dist-packages (from transformers) (1.21.6)\n", - "Requirement already satisfied: requests in /usr/local/lib/python3.8/dist-packages (from transformers) (2.25.1)\n", - "Requirement already satisfied: filelock in /usr/local/lib/python3.8/dist-packages (from transformers) (3.9.0)\n", - "Requirement already satisfied: regex!=2019.12.17 in /usr/local/lib/python3.8/dist-packages (from transformers) (2022.6.2)\n", - "Requirement already satisfied: typing-extensions>=3.7.4.3 in /usr/local/lib/python3.8/dist-packages (from huggingface-hub<1.0,>=0.11.0->transformers) (4.4.0)\n", - "Requirement already satisfied: chardet<5,>=3.0.2 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (4.0.0)\n", - "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (2.10)\n", - "Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (1.24.3)\n", - "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (2022.12.7)\n", - "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", - "Collecting fairseq\n", - " Downloading fairseq-0.12.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl (11.0 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m11.0/11.0 MB\u001b[0m \u001b[31m53.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: tqdm in /usr/local/lib/python3.8/dist-packages (from fairseq) (4.64.1)\n", - "Requirement already satisfied: numpy in /usr/local/lib/python3.8/dist-packages (from fairseq) (1.21.6)\n", - "Requirement already satisfied: torchaudio>=0.8.0 in /usr/local/lib/python3.8/dist-packages (from fairseq) (0.13.1+cu116)\n", - "Requirement already satisfied: cython in /usr/local/lib/python3.8/dist-packages (from fairseq) (0.29.33)\n", - "Collecting sacrebleu>=1.4.12\n", - " Downloading sacrebleu-2.3.1-py3-none-any.whl (118 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m118.9/118.9 KB\u001b[0m \u001b[31m14.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: regex in /usr/local/lib/python3.8/dist-packages (from fairseq) (2022.6.2)\n", - "Collecting bitarray\n", - " Downloading bitarray-2.6.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (240 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m240.4/240.4 KB\u001b[0m \u001b[31m10.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hCollecting hydra-core<1.1,>=1.0.7\n", - " Downloading hydra_core-1.0.7-py3-none-any.whl (123 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m123.8/123.8 KB\u001b[0m \u001b[31m12.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: cffi in /usr/local/lib/python3.8/dist-packages (from fairseq) (1.15.1)\n", - "Collecting omegaconf<2.1\n", - " Downloading omegaconf-2.0.6-py3-none-any.whl (36 kB)\n", - "Requirement already satisfied: torch in /usr/local/lib/python3.8/dist-packages (from fairseq) (1.13.1+cu116)\n", - "Collecting antlr4-python3-runtime==4.8\n", - " Downloading antlr4-python3-runtime-4.8.tar.gz (112 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m112.4/112.4 KB\u001b[0m \u001b[31m6.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25h Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - "Requirement already satisfied: importlib-resources in /usr/local/lib/python3.8/dist-packages (from hydra-core<1.1,>=1.0.7->fairseq) (5.10.2)\n", - "Requirement already satisfied: typing-extensions in /usr/local/lib/python3.8/dist-packages (from omegaconf<2.1->fairseq) (4.4.0)\n", - "Requirement already satisfied: PyYAML>=5.1.* in /usr/local/lib/python3.8/dist-packages (from omegaconf<2.1->fairseq) (6.0)\n", - "Collecting portalocker\n", - " Downloading portalocker-2.7.0-py2.py3-none-any.whl (15 kB)\n", - "Requirement already satisfied: tabulate>=0.8.9 in /usr/local/lib/python3.8/dist-packages (from sacrebleu>=1.4.12->fairseq) (0.8.10)\n", - "Requirement already satisfied: lxml in /usr/local/lib/python3.8/dist-packages (from sacrebleu>=1.4.12->fairseq) (4.9.2)\n", - "Collecting colorama\n", - " Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB)\n", - "Requirement already satisfied: pycparser in /usr/local/lib/python3.8/dist-packages (from cffi->fairseq) (2.21)\n", - "Requirement already satisfied: zipp>=3.1.0 in /usr/local/lib/python3.8/dist-packages (from importlib-resources->hydra-core<1.1,>=1.0.7->fairseq) (3.12.0)\n", - "Building wheels for collected packages: antlr4-python3-runtime\n", - " Building wheel for antlr4-python3-runtime (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - " Created wheel for antlr4-python3-runtime: filename=antlr4_python3_runtime-4.8-py3-none-any.whl size=141231 sha256=9c5408b6f59e95071c4e1eb4041c1990aac802c18bc027506fd9799776d3ce25\n", - " Stored in directory: /root/.cache/pip/wheels/c8/d0/ab/d43c02eaddc5b9004db86950802442ad9a26f279c619e28da0\n", - "Successfully built antlr4-python3-runtime\n", - "Installing collected packages: bitarray, antlr4-python3-runtime, portalocker, omegaconf, colorama, sacrebleu, hydra-core, fairseq\n", - "Successfully installed antlr4-python3-runtime-4.8 bitarray-2.6.2 colorama-0.4.6 fairseq-0.12.2 hydra-core-1.0.7 omegaconf-2.0.6 portalocker-2.7.0 sacrebleu-2.3.1\n" - ] - } - ] - }, - { - "cell_type": "code", - "source": [ - "import requests\n", - "import tarfile\n", - "from tqdm import tqdm\n", - "import os\n", - "from fairseq.models.transformer import TransformerModel" - ], - "metadata": { - "id": "DlJqM50rJums" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "def download_synQA(url: str, fname: str, desc: str = None) -> None:\n", - " desc = desc if desc is not None else fname\n", - " resp = requests.get(url, stream=True)\n", - " total = int(resp.headers.get(\"content-length\", 0))\n", - " with open(fname, \"wb\") as file, tqdm(\n", - " desc=fname, total=total, unit=\"iB\", unit_scale=True, unit_divisor=1024\n", - " ) as bar:\n", - " for data in resp.iter_content(chunk_size=1024):\n", - " size = file.write(data)\n", - " bar.update(size)" - ], - "metadata": { - "id": "mfgDFY8eJums" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "def download_and_extract_synQA(MODEL_URL, MODELS_DIR):\n", - " for model_filename, url in MODEL_URL.items():\n", - " model_name = model_filename.split(\".\")[0]\n", - " model_tarfile_path = os.path.join(MODELS_DIR, model_filename)\n", - " model_dir = os.path.join(MODELS_DIR, model_name)\n", - "\n", - " if not os.path.exists(os.path.join(model_dir, \"checkpoint_best.pt\")):\n", - " if not os.path.exists(model_tarfile_path):\n", - " download_synQA(url, model_tarfile_path, url)\n", - "\n", - " # Extracting {model_filename} to {model_dir}\n", - " with tarfile.open(model_tarfile_path) as f:\n", - " # Get only the members with extensions (i.e. no directories)\n", - " members = [\n", - " m\n", - " for m in f.getmembers()\n", - " if os.path.splitext(os.path.join(model_dir, m.name))[-1]\n", - " ]\n", - " # Flatten (i.e. remove directory info)\n", - " for m in members:\n", - " m.name = os.path.basename(m.name)\n", - " # Extract\n", - " def is_within_directory(directory, target):\n", - " abs_directory = os.path.abspath(directory)\n", - " abs_target = os.path.abspath(target)\n", - " prefix = os.path.commonprefix([abs_directory, abs_target])\n", - " return prefix == abs_directory\n", - "\n", - " def safe_extract(tar, path=\".\", members=None, *, numeric_owner=False):\n", - " for member in tar.getmembers():\n", - " member_path = os.path.join(path, member.name)\n", - " if not is_within_directory(path, member_path):\n", - " raise Exception(\"Attempted Path Traversal in Tar File\")\n", - " tar.extractall(path, members, numeric_owner=numeric_owner)\n", - "\n", - " safe_extract(f, model_dir, members=members)\n", - "\n", - " # Remove tarfile\n", - " os.remove(model_tarfile_path)" - ], - "metadata": { - "id": "BnXaNvDgJums" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "markdown", - "source": [ - "#### t5_small\n", - "\n", - "Answer Agnostic model for generating Question-Answer pairs." - ], - "metadata": { - "id": "6scOL0-NJums" - } - }, - { - "cell_type": "code", - "source": [ - "!pip install transformers\n", - "!python -m nltk.downloader punkt\n", - "!git clone https://github.com/patil-suraj/question_generation.git" - ], - "metadata": { - "id": "sfuvXVK2Jumt", - "colab": { - "base_uri": "https://localhost:8080/" - }, - "outputId": "3cf4052d-3ac5-4b6d-c2b9-48429537e003" - }, - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", - "Requirement already satisfied: transformers in /usr/local/lib/python3.8/dist-packages (4.26.0)\n", - "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.8/dist-packages (from transformers) (23.0)\n", - "Requirement already satisfied: regex!=2019.12.17 in /usr/local/lib/python3.8/dist-packages (from transformers) (2022.6.2)\n", - "Requirement already satisfied: huggingface-hub<1.0,>=0.11.0 in /usr/local/lib/python3.8/dist-packages (from transformers) (0.12.0)\n", - "Requirement already satisfied: filelock in /usr/local/lib/python3.8/dist-packages (from transformers) (3.9.0)\n", - "Requirement already satisfied: tqdm>=4.27 in /usr/local/lib/python3.8/dist-packages (from transformers) (4.64.1)\n", - "Requirement already satisfied: requests in /usr/local/lib/python3.8/dist-packages (from transformers) (2.25.1)\n", - "Requirement already satisfied: tokenizers!=0.11.3,<0.14,>=0.11.1 in /usr/local/lib/python3.8/dist-packages (from transformers) (0.13.2)\n", - "Requirement already satisfied: numpy>=1.17 in /usr/local/lib/python3.8/dist-packages (from transformers) (1.21.6)\n", - "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.8/dist-packages (from transformers) (6.0)\n", - "Requirement already satisfied: typing-extensions>=3.7.4.3 in /usr/local/lib/python3.8/dist-packages (from huggingface-hub<1.0,>=0.11.0->transformers) (4.4.0)\n", - "Requirement already satisfied: chardet<5,>=3.0.2 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (4.0.0)\n", - "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (2022.12.7)\n", - "Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (1.24.3)\n", - "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (2.10)\n", - "/usr/lib/python3.8/runpy.py:127: RuntimeWarning: 'nltk.downloader' found in sys.modules after import of package 'nltk', but prior to execution of 'nltk.downloader'; this may result in unpredictable behaviour\n", - " warn(RuntimeWarning(msg))\n", - "[nltk_data] Downloading package punkt to /root/nltk_data...\n", - "[nltk_data] Unzipping tokenizers/punkt.zip.\n", - "Cloning into 'question_generation'...\n", - "remote: Enumerating objects: 268, done.\u001b[K\n", - "remote: Total 268 (delta 0), reused 0 (delta 0), pack-reused 268\u001b[K\n", - "Receiving objects: 100% (268/268), 299.04 KiB | 19.94 MiB/s, done.\n", - "Resolving deltas: 100% (140/140), done.\n" - ] - } - ] - }, - { - "cell_type": "code", - "source": [ - "%cd question_generation\n", - "from pipelines import pipeline" - ], - "metadata": { - "id": "fMpNq6WAJumt", - "colab": { - "base_uri": "https://localhost:8080/" - }, - "outputId": "81cf08a5-dc30-4633-911d-1b97f8224528" - }, - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "/content/question_generation\n" - ] - } - ] - }, - { - "cell_type": "markdown", - "source": [ - "#### Spacy\n", - "\n", - "NER Model which is used to decide which model is to be used for Question Generation." - ], - "metadata": { - "id": "3bjMkpZ_Jumt" - } - }, - { - "cell_type": "code", - "source": [ - "import spacy\n", - "from spacy.symbols import *\n", - "import spacy.cli\n", - "spacy.cli.download(\"en_core_web_sm\")" - ], - "metadata": { - "id": "_9BL2n6WJumt", - "colab": { - "base_uri": "https://localhost:8080/" - }, - "outputId": "be16cd1a-f85f-4b6c-fae8-b42b21c1ca7c" - }, - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "\u001b[38;5;2m✔ Download and installation successful\u001b[0m\n", - "You can now load the package via spacy.load('en_core_web_sm')\n" - ] - } - ] - }, - { - "cell_type": "markdown", - "source": [ - "#### Other Imports" - ], - "metadata": { - "id": "o37fR_5DKA2F" - } - }, - { - "cell_type": "code", - "source": [ - "import csv\n", - "import json\n", - "import random\n", - "import pandas as pd\n", - "import pickle" - ], - "metadata": { - "id": "HA9-COPvJumt" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "markdown", - "source": [ - "### Question-Answer Generator Functions" - ], - "metadata": { - "id": "m--Fa5KRJumu" - } - }, - { - "cell_type": "code", - "source": [ - "def get_ans_phrases(kw_model, context, top_n=10, use_maxsum=True, diversity=0.2, nr_candidates=20):\n", - " contexts = [context]\n", - " keyphr = kw_model.extract_keywords(docs=contexts, vectorizer=KeyphraseCountVectorizer(), top_n = top_n, use_maxsum=True, diversity=0.2, nr_candidates=20)\n", - " keybert_phrases=[]\n", - " for i in range(len(keyphr)):\n", - " keybert_phrases.append(keyphr[i][0])\n", - " return keybert_phrases" - ], - "metadata": { - "id": "nX1hv1XlJumu" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "def convert_example_to_input(example):\n", - " ex_input_inner = f\" {SPECIAL_TOKENS['sep_token']} \".join(example)\n", - " ex_input = (\n", - " f\"{SPECIAL_TOKENS['bos_token']} {ex_input_inner} {SPECIAL_TOKENS['eos_token']}\"\n", - " )\n", - " return ex_input" - ], - "metadata": { - "id": "CFXk_4pCJumu" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "def clean_special_tokens(text):\n", - " for _, special_tok in SPECIAL_TOKENS.items():\n", - " text = text.replace(special_tok, \"\")\n", - " return text.strip()" - ], - "metadata": { - "id": "xfK82qZ5Jumu" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "def generate_using_synQA(context, generator, answer_phrases, num_questions):\n", - " s_ans = []\n", - " s_ques = []\n", - " for i in range(min(len(answer_phrases), num_questions)):\n", - " # if answer_phrases[i] not in context:\n", - " # print(f\"The answer provided ({answer_phrases[i]}) is not in the context.\")\n", - " example = [answer_phrases[i], context]\n", - " ex_input = convert_example_to_input(example)\n", - " ex_inputs = [ex_input]\n", - " for _ in range(1):\n", - " output = generator.translate(ex_inputs, **decode_params)\n", - " if isinstance(output, str):\n", - " clean_output = clean_special_tokens(output)\n", - " else:\n", - " clean_output = [clean_special_tokens(q) for q in output]\n", - " if len(clean_output) == 1:\n", - " clean_output = clean_output[0]\n", - " s_ans.append(answer_phrases[i])\n", - " s_ques.append(clean_output)\n", - " return s_ques, s_ans" - ], - "metadata": { - "id": "Nv0qX9VUJumv" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "def generate_using_t5(context, nlp):\n", - " s_ques = []\n", - " s_ans = []\n", - " result = nlp(context)\n", - " for i in result:\n", - " s_ques.append(i['question'])\n", - " s_ans.append(i['answer'][6:]) # Remove the initial tag.\n", - " return s_ques, s_ans" - ], - "metadata": { - "id": "kcW6os97Jumv" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "def get_answer_start(para, answer):\n", - " para = para.lower()\n", - " answer = answer.lower()\n", - " return (para.find(answer) + 1)" - ], - "metadata": { - "id": "Dvff5YG0Jumv" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "def generate_qa(input_data, spc, nlp, kw_model, kw_args, generator):\n", - " qid = 1 # Used for giving id to each question.\n", - " output = []\n", - " for theme in input_data:\n", - " obj = input_data[theme]\n", - " for id, para in obj:\n", - " phrase_extraction = spc(para)\n", - " if len(phrase_extraction.ents) == 0:\n", - " answer_phrases = get_ans_phrases(kw_model, para, top_n=kw_args['top_n'], use_maxsum=kw_args['use_maxsum'], diversity=kw_args['diversity'], nr_candidates=kw_args['nr_candidates'])\n", - " ques, ans = generate_using_synQA(para, generator, answer_phrases, num_questions = 5)\n", - " else:\n", - " ques, ans = generate_using_t5(para, nlp)\n", - " for i in zip(ques, ans):\n", - " row = [qid, theme, para, i[0], 'TRUE', [i[1]], [get_answer_start(para, i[1])]]\n", - " output.append(row)\n", - " qid += 1\n", - " df = pd.DataFrame(output, columns=['id', 'Theme', 'Paragraph', 'Question', 'Answer_possible', 'Answer_text', 'Answer_start'])\n", - " return df" - ], - "metadata": { - "id": "PlKzkLx9Jumv" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "markdown", - "source": [ - "### Load Test Data" - ], - "metadata": { - "id": "gTJHEIhdBC2A" - } - }, - { - "cell_type": "code", - "source": [ - "!gdown 1RAD2mJbz4yQddZZaUvXDWQC6Okar-QVh" - ], - "metadata": { - "id": "Dv-nQ19TBGEf", - "colab": { - "base_uri": "https://localhost:8080/" - }, - "outputId": "cacf6d42-70e0-438a-80d8-d4238968b9a1" - }, - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Downloading...\n", - "From: https://drive.google.com/uc?id=1RAD2mJbz4yQddZZaUvXDWQC6Okar-QVh\n", - "To: /content/question_generation/paragraphs.csv\n", - "\r 0% 0.00/704k [00:00',\n", - " 'eos_token': '',\n", - " 'sep_token': ''\n", - "}" - ], - "metadata": { - "id": "0jHidWoUH_WN", - "cellView": "form" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "#@title Get Input Paragraphs\n", - "paragraphs = json.loads(pd.read_csv(\"paragraphs.csv\").to_json(orient=\"records\"))\n", - "theme_wise_para = test_to_theme_wise(paragraphs)\n", - "with open('/content/gdrive/MyDrive/Colab Notebooks/Final/new_themes', \"rb\") as fp: # Unpickling\n", - " keys = pickle.load(fp)\n", - "keys_available = len(theme_wise_para.keys())\n", - "input_data = {k:theme_wise_para[k] for k in keys}" - ], - "metadata": { - "id": "_GluRQWBGASG", - "cellView": "form", - "colab": { - "base_uri": "https://localhost:8080/" - }, - "outputId": "6b41a2e5-f349-4cb1-b164-1e96c441f6db" - }, - "execution_count": null, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "{'DevRev': [[1159,\n", - " 'Welcome to DevRev PLuG platform! Our goal is to provide an easy to use experience that empowers your end users and customer facing teams with ready access to relevant information to enable more effective communication. This document provides definitions of some key components of the platform. PLuG: This refers to the part of the platform that directly enables communication with and understanding of your end users. This includes your customer success and support teams. PLuG is not an exact acronym but can be interpreted as Product-Led User Growth.'],\n", - " [1160,\n", - " \"Conversations refer to the communication chains you have with your rev users. They begin in the DevRev PLuG widget, which enables live chat within customers' apps with just a few lines of code. Unlike most platforms, customer conversations are no longer siloed to just front-office support, sales, and customer success staff. Instead, they are accessible to everyone in the dev org through the PLuG inbox. The service-level metric for a conversation is time to response. You can add a title to your conversations as well as members from your own dev org and other members from the user's rev org without starting a new thread or email chain. Because there can be many tickets attached to a single conversation, there is no need to start a new thread for new topics either.\"],\n", - " [1161,\n", - " 'A conversation is typically started by rev user. It may be a short interaction, such as a quick question about a sale, that does not require a ticket. If a conversation takes more than 5 mins to close, we recommend that you open one or more tickets. A conversation could also contain one or more items that you would want to capture in a ticket. A ticket is used to capture anything that you may need to follow up on from a conversation, which could be bugs, feature requests, or anything in between. A ticket is associated with a part of the product and can come from either an internal or an external user.'],\n", - " [1162,\n", - " 'Later on, a software engineer may start work on this ticket by creating an issue and breaking that issue into smaller pieces with tasks. An issue describes what the developer will work on and is created or accepted by someone who owns or works on the associated part of the product. This distinction allows developers to break up a ticket from a rev user into issues as they see fit and delegate the work to other team members as necessary. Tickets and issues are linked in many-to-many relationships. It may require multiple issues to resolve a ticket, or one issue may resolve multiple tickets if different rev users experience and describe the same behavior in different ways.'],\n", - " [1163,\n", - " \"DevRev proactively gets ahead of duplicate work during the work creation process using work deflection. As you're creating a new work item, the Similar Work modal appears and presents potential duplicates. You can also use this modal to link the work you're creating to other work, if appropriate. In traditional systems of record, duplicate work is rampant, and maintenance of the backlog can be an entire job itself. Huge engineering backlogs can have detrimental effects on developers, morale, and velocity. One way DevRev gets ahead of that is with work deflection.\"],\n", - " [1164,\n", - " 'A part is a related piece of a product or service that has a lifecycle (creation, operation, evolution, deprecation), and can be recursively made of smaller parts. Events and work items must be related to parts. In general, parts are the core objects that almost all other objects will link to, which helps enforce the notion of tying everything back to the product or service. There are two core categories of parts: rev parts and dev parts. Rev parts relate to how a product is expressed, integrated, or consumed. These parts may be consumed by external customers (revs) or internal employees (devs). Although they may also be provided/enabled by dev parts running internally, the customer just sees the product, service or feature they are interacting with. Rev parts may also be abstractions on other rev parts exposed by 3rd parties (such as Auth0 or s3). For example, in the digital world, rather than integrating with code or packages, they may integrate with APIs. Dev parts are those built internally related to code or something the developer relies on or builds, or a service provided by an or. These may be runnables that may expose APIs or linkables that may be used in other services (such as utils or libraries). Though they may provide the functionality exposed and interacted with by the customer, they are often abstracted and unknown to the user.'],\n", - " [1165,\n", - " 'A feature exists under a capability (or feature for sub-features) and is commonly a unit of configuration or \"knobs\" in a capability. Features typically have the following characteristics: Exist under a capability (or feature for sub-features) Provide a unit of configuration (adjective) for entities managed by the capability Enable version history (adjective) on object May provide a subset of the API namespace Are interacted with only inside the context of the capability or not directly interacted with at all The following figure shows some sample DevRev product features.'],\n", - " [1166,\n", - " 'A runnable is a dev part and is something that can be instantiated or do something. Example runnables may be macroservices, microservices, o functions (lambdas). Runnables are things that have some direct execution or lifespan. A runnable may serve one or more features and/or capabilities. Runnables typically have the following characteristics: Are a unit of functionality that can be deployed independently or as part of a larger system Have an execution lifecycle be it short (lambda/function) or long (microservice) Expose an API Are interacted with directly via an API or UI Are published in a service registry or load balancer Example runnables: Docker image Lambda bundle'],\n", - " [1167,\n", - " 'A linkable is a unit of functionality that is designed to be part of a system or application and not used directly. These commonly refer to things like libraries or utils that may be leveraged by multiple runnables. Components typically have the following characteristics: Linkable items are commonly used as libraries or binary artifacts Not commonly exposed to the consumer (but can be) Are intended to be used as part of larger services, not on their own'],\n", - " [1168,\n", - " 'Example linkable parts: library DLL Golang package Example DevRev Linkables: all clients (e.g. partiql-client, codex-client, mfz-client) shared (logging, etc.)'],\n", - " [1169,\n", - " \"Trails is an extensible interface that allows you to view and manage your part hierarchy and related items. Think of it like a graph canvas that is rendering linkages between items making them easier to navigate and summarize. The following image shows an example of DevRev's trails view.\"],\n", - " [1170,\n", - " 'The customer will need to opt into Parts Discovery since it is still a beta offering. The customer can use any or all of the following options to seed DevRev parts discovery with data. Custom File Upload You can provide information about the API paths, services, and routing rules using a custom_routing.json file that implements a simple schema. Following is an example of the custom file and the corresponding trail showing the parts discovered through it:'],\n", - " [1171,\n", - " 'Features are discovered by analyzing OpenAPI specification files found in the git repository integrated with the DevRev App. Kubernetes-based Discovery The Trail can be discovered by installing the DevRev Kubernetes Collector on your cluster. Parts Discovery algorithm relies on the Feature APIs exposed via the Kubernetes Ingress context. The helm charts to install the collector along with the instructions to install are available via our git repository here. Our collector is a lightweight cronjob which runs once in 6 hours and consumes minimum resources. We cap our utilization and expose the limits in a public helm value file.'],\n", - " [1172,\n", - " 'Your customers (revs) and their identity are a crucial part of the DevRev offering and ecosystem. Conversations on DevRev rely on rev identity to capture information about the customer initiating the conversation. Similarly, tickets on DevRev can capture who the ticket was reported by (or reported for).'],\n", - " [1173,\n", - " \"Integrations DevRev's integrations like Slack for Support, Support with Email are additional channels available with DevRev's Omnichannel Support offering. APIs or UI Apart from automatic ingestion, new customer records can also be created manually using APIs or UI. With DevRev's APIs, you can create automations to ensure your customer records in DevRev stay in sync with your primary customer data.\"],\n", - " [1174,\n", - " \"While ingesting customer identity into DevRev, it's important that customer information coming across channels is matched to the same record. For example, a customer record created by you using APIs should get resolved and matched when the same customer engages with you on the PLuG widget for a support interaction. This is achieved by using the external reference provided by you when creating customer identity.\"],\n", - " [1175,\n", - " 'Adding new Customers# Customer records offer a place to do the following: Find all conversations and tickets linked to a customer in one view. Have internal discussions related to a customer. Add description or notes about a customer. Assign and owner or tags to the record for your front-office processes.'],\n", - " [1176,\n", - " 'Apart from customer records that get automatically created from your PLuG integration, new customer records can be created through the UI. New customers can be added to the DevRev system directly from the Customers page. While creating new customer records, be sure to specify the External Ref so customer information coming from other channels (like PLuG) can be matched to the right customer record.'],\n", - " [1177,\n", - " 'Authentication to DevRev APIs requires a personal access token (PAT). A PAT is used to uniquely identify a dev user in context of a dev org and can be used by external third-party applications to access DevRev APIs on behalf of the corresponding dev user. A PAT has the same set of privileges that the owner of the PAT has on the DevRev platform. The validity duration of a PAT is set when it is created. You cannot renew a PAT; you can only create a new PAT and update your code to use it. For example, a VS Code plugin that pulls issues from the DevRev platform pertaining to a particular dev user will need to rely on that user’s PAT to authenticate the DevRev APIs. If you are receiving an invalid token error, you can check whether the token is valid at jwt.io.'],\n", - " [1178,\n", - " 'Generate a Personal Access Token (PAT)# In the DevRev app, go to the relevant dev org. Go to DevOrg Settings > Account > Personal Access Token. Click New token and follow the workflow to create your PAT. As the token value is not retrievable later, we recommend using descriptive names for PATs as it can help you differentiate between multiple PATs.'],\n", - " [1179,\n", - " 'Revoke a Personal Access Token# Caution: Once a PAT is revoked, it cannot be restored. In the DevRev app, go to the relevant dev org. Go to DevOrg Settings > Account > Personal Access Token. Click Revoke next to the PAT you wish to revoke. You can also click the Revoke all button to revoke all the tokens which you have previously generated.']],\n", - " 'Unknown': [[1153,\n", - " 'Abc was born in Bcgehi. He was 5 years old when he came across Symghi technology.'],\n", - " [1154,\n", - " 'Abc drew inspiration from Symghi tech and went on to design Kubernetes, but the Cloud Native Computing Foundation now maintains the project.'],\n", - " [1155,\n", - " 'After going away from the Kubernetes project, Abc went to Ddru island for sabatical for an year.'],\n", - " [1156,\n", - " 'Coming back from sabatical, Abc went on to design a generative text model named RoverGPT in year 2056.'],\n", - " [1157,\n", - " 'RoverGPT gained a lot of popularity and reached 1M AUR within 5 years of its release. Here, AUR means active user of rover.'],\n", - " [1158,\n", - " 'But Abc was still not satisfied and shuts down RoverGPT in year 2065.']]}" - ] - }, - "metadata": {}, - "execution_count": 24 - } - ] - }, - { - "cell_type": "code", - "source": [ - "#@title Set Hyperparameters for KeyBert Model\n", - "\n", - "kw_args = {}\n", - "kw_args['top_n'] = 10 #@param {type:'number'}\n", - "kw_args['use_maxsum'] = True #@param [\"True\", \"False\"]\n", - "kw_args['diversity'] = 0.2 #@param {type:'number'}\n", - "kw_args['nr_candidates'] = 20 #@param {type:'number'}" - ], - "metadata": { - "cellView": "form", - "id": "25CNIAtkgAVg" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "qa_output = generate_qa(input_data, spc, nlp, kw_model, kw_args, generator)" - ], - "metadata": { - "id": "JR8gnOmYhBTP", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 435 - }, - "outputId": "ba860f45-4d33-4d38-debd-fd821303753d" - }, - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "name": "stderr", - "text": [ - "2023-02-05 15:13:51,849 - KeyphraseVectorizer - INFO - It looks like you do not have downloaded a list of stopwords yet. It is attempted to download the stopwords now.\n", - "INFO:KeyphraseVectorizer:It looks like you do not have downloaded a list of stopwords yet. It is attempted to download the stopwords now.\n", - "[nltk_data] Downloading package stopwords to /root/nltk_data...\n", - "[nltk_data] Unzipping corpora/stopwords.zip.\n" - ] - }, - { - "output_type": "error", - "ename": "KeyboardInterrupt", - "evalue": "ignored", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mqa_output\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mgenerate_qa\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minput_data\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mspc\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnlp\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkw_model\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkw_args\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mgenerator\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[0;32m\u001b[0m in \u001b[0;36mgenerate_qa\u001b[0;34m(input_data, spc, nlp, kw_model, kw_args, generator)\u001b[0m\n\u001b[1;32m 10\u001b[0m \u001b[0mques\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mans\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mgenerate_using_synQA\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpara\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mgenerator\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0manswer_phrases\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnum_questions\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m5\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 11\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 12\u001b[0;31m \u001b[0mques\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mans\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mgenerate_using_t5\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpara\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnlp\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 13\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mzip\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mques\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mans\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 14\u001b[0m \u001b[0mrow\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mqid\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtheme\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpara\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mi\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'TRUE'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mget_answer_start\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpara\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mi\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m\u001b[0m in \u001b[0;36mgenerate_using_t5\u001b[0;34m(context, nlp)\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0ms_ques\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0ms_ans\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 4\u001b[0;31m \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnlp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcontext\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 5\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mresult\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0ms_ques\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mi\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'question'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/content/question_generation/pipelines.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(self, inputs)\u001b[0m\n\u001b[1;32m 61\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 62\u001b[0m \u001b[0mqg_inputs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mexample\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'source_text'\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mexample\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mqg_examples\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 63\u001b[0;31m \u001b[0mquestions\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_generate_questions\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mqg_inputs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 64\u001b[0m \u001b[0moutput\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m{\u001b[0m\u001b[0;34m'answer'\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mexample\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'answer'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'question'\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mque\u001b[0m\u001b[0;34m}\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mexample\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mque\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mzip\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mqg_examples\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mquestions\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 65\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0moutput\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/content/question_generation/pipelines.py\u001b[0m in \u001b[0;36m_generate_questions\u001b[0;34m(self, inputs)\u001b[0m\n\u001b[1;32m 68\u001b[0m \u001b[0minputs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_tokenize\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minputs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpadding\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtruncation\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 69\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 70\u001b[0;31m outs = self.model.generate(\n\u001b[0m\u001b[1;32m 71\u001b[0m \u001b[0minput_ids\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0minputs\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'input_ids'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mto\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdevice\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 72\u001b[0m \u001b[0mattention_mask\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0minputs\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'attention_mask'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mto\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdevice\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.8/dist-packages/torch/autograd/grad_mode.py\u001b[0m in \u001b[0;36mdecorate_context\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 25\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mdecorate_context\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 26\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mclone\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 27\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 28\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mcast\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mF\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdecorate_context\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 29\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.8/dist-packages/transformers/generation/utils.py\u001b[0m in \u001b[0;36mgenerate\u001b[0;34m(self, inputs, generation_config, logits_processor, stopping_criteria, prefix_allowed_tokens_fn, synced_gpus, **kwargs)\u001b[0m\n\u001b[1;32m 1472\u001b[0m )\n\u001b[1;32m 1473\u001b[0m \u001b[0;31m# 13. run beam search\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1474\u001b[0;31m return self.beam_search(\n\u001b[0m\u001b[1;32m 1475\u001b[0m \u001b[0minput_ids\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1476\u001b[0m \u001b[0mbeam_scorer\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.8/dist-packages/transformers/generation/utils.py\u001b[0m in \u001b[0;36mbeam_search\u001b[0;34m(self, input_ids, beam_scorer, logits_processor, stopping_criteria, max_length, pad_token_id, eos_token_id, output_attentions, output_hidden_states, output_scores, return_dict_in_generate, synced_gpus, **model_kwargs)\u001b[0m\n\u001b[1;32m 2801\u001b[0m \u001b[0mcur_len\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcur_len\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2802\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2803\u001b[0;31m \u001b[0;32mif\u001b[0m \u001b[0mbeam_scorer\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mis_done\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0mstopping_criteria\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minput_ids\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mscores\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2804\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0msynced_gpus\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2805\u001b[0m \u001b[0;32mbreak\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mKeyboardInterrupt\u001b[0m: " - ] - } - ] - }, - { - "cell_type": "code", - "source": [ - "qa_output.to_csv(\"/content/gdrive/MyDrive/Colab Notebooks/Final/synthetic_data.csv\", index=False)" - ], - "metadata": { - "id": "3r7Gm9KnHXao" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "markdown", - "source": [ - "## Further Finetuning" - ], - "metadata": { - "id": "kcE3Jf5cXlkS" - } - }, - { - "cell_type": "markdown", - "source": [ - "### Mount Google Drive" - ], - "metadata": { - "id": "wnG45ws_K-U_" - } - }, - { - "cell_type": "code", - "source": [ - "from google.colab import drive\n", - "drive.mount('/content/gdrive')" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "F-14ySh8K-U_", - "outputId": "0161c4c0-e00a-427b-d170-823b96cc5cf6" - }, - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Drive already mounted at /content/gdrive; to attempt to forcibly remount, call drive.mount(\"/content/gdrive\", force_remount=True).\n" - ] - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "BP9zL3QqK-U_" - }, - "source": [ - "### Imports\n", - "\n", - "\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "mHlaVVx8K-U_" - }, - "outputs": [], - "source": [ - "%%capture\n", - "!pip install datasets\n", - "!pip install -U transformers\n", - "!apt install git-lfs\n", - "!pip install optimum\n", - "!pip install onnx" - ] - }, - { - "cell_type": "code", - "source": [ - "!pip install onnxruntime" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "1D6XniF1PJ0C", - "outputId": "1ece517b-dbcb-4e8d-89d8-56227e6e97b6" - }, - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", - "Collecting onnxruntime\n", - " Downloading onnxruntime-1.13.1-cp38-cp38-manylinux_2_27_x86_64.whl (4.5 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m4.5/4.5 MB\u001b[0m \u001b[31m77.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: packaging in /usr/local/lib/python3.8/dist-packages (from onnxruntime) (23.0)\n", - "Requirement already satisfied: protobuf in /usr/local/lib/python3.8/dist-packages (from onnxruntime) (3.20.3)\n", - "Requirement already satisfied: sympy in /usr/local/lib/python3.8/dist-packages (from onnxruntime) (1.7.1)\n", - "Requirement already satisfied: numpy>=1.21.6 in /usr/local/lib/python3.8/dist-packages (from onnxruntime) (1.21.6)\n", - "Requirement already satisfied: flatbuffers in /usr/local/lib/python3.8/dist-packages (from onnxruntime) (1.12)\n", - "Requirement already satisfied: coloredlogs in /usr/local/lib/python3.8/dist-packages (from onnxruntime) (15.0.1)\n", - "Requirement already satisfied: humanfriendly>=9.1 in /usr/local/lib/python3.8/dist-packages (from coloredlogs->onnxruntime) (10.0)\n", - "Requirement already satisfied: mpmath>=0.19 in /usr/local/lib/python3.8/dist-packages (from sympy->onnxruntime) (1.2.1)\n", - "Installing collected packages: onnxruntime\n", - "Successfully installed onnxruntime-1.13.1\n" - ] - } - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "fQe3FJEyK-U_" - }, - "outputs": [], - "source": [ - "import json\n", - "import pickle\n", - "import torch\n", - "import nltk\n", - "import pandas as pd\n", - "from sklearn.model_selection import train_test_split\n", - "from transformers import TrainingArguments, Trainer, AutoTokenizer, BertTokenizerFast, BertForQuestionAnswering, AutoModelForQuestionAnswering\n", - "import transformers\n", - "from transformers import pipeline\n", - "from datasets import load_dataset, load_metric\n", - "from transformers import default_data_collator\n", - "from torch.utils.data import DataLoader\n", - "from transformers import get_scheduler\n", - "from transformers import AdamW\n", - "from tqdm.auto import tqdm\n", - "from transformers import AutoTokenizer\n", - "from optimum.onnxruntime import ORTOptimizer\n", - "from optimum.onnxruntime.configuration import OptimizationConfig\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "vna4EOM2K-VA" - }, - "source": [ - "### Load Data" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "Z5K4VvSYK-VA" - }, - "outputs": [], - "source": [ - "def loaddataset(path):\n", - " f = pd.read_csv(path)\n", - " train, test = train_test_split(f, test_size=0.2)\n", - " train.to_csv(\"train.csv\")\n", - " test.to_csv(\"test.csv\")\n", - " data_files = {\"train\": \"train.csv\", \"test\": \"test.csv\"}\n", - " dataset = load_dataset(\"csv\", data_files=data_files)\n", - " return dataset" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "GZ6H68opK-VA" - }, - "source": [ - "### Helper Functions\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "js2byq5AK-VA" - }, - "source": [ - "#### Device Setup\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "5Pq4nWULK-VA" - }, - "outputs": [], - "source": [ - "#setting up global variables\n", - "model_name = \"PremalMatalia/electra-base-best-squad2\"\n", - "batch_size = 8\n", - "max_length = 384 # The maximum length of a feature (question and context)\n", - "doc_stride = 128 # The authorized overlap between two part of the context when splitting it is needed.\n", - "data_collator = default_data_collator" - ] - }, - { - "cell_type": "code", - "source": [ - "def setup_device(model_name):\n", - " device = torch.device('cuda') if torch.cuda.is_available() else torch.device('cpu')\n", - " tokenizer = AutoTokenizer.from_pretrained(model_name)\n", - " assert isinstance(tokenizer, transformers.PreTrainedTokenizerFast), \"Fast Tokenizer Needed\"\n", - " model = AutoModelForQuestionAnswering.from_pretrained(model_name)\n", - " pad_on_right = tokenizer.padding_side == \"right\"\n", - " model.to(device)\n", - " return model, tokenizer, pad_on_right" - ], - "metadata": { - "id": "bSxAnP6JK-VA" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "5N7ng3VoK-VA" - }, - "source": [ - "#### Preprocessing for FineTuning\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "OvuLhUrtK-VA" - }, - "outputs": [], - "source": [ - "def preprocess_for_training(dataset, tokenizer, pad_on_right):\n", - " dataset[\"Question\"] = [q.lstrip() for q in dataset[\"Question\"]]\n", - "\n", - " tokenized_examples = tokenizer(\n", - " dataset[\"Question\" if pad_on_right else \"Paragraph\"],\n", - " dataset[\"Paragraph\" if pad_on_right else \"Qustion\"],\n", - " truncation=\"only_second\" if pad_on_right else \"only_first\",\n", - " max_length=max_length,\n", - " stride=doc_stride,\n", - " return_overflowing_tokens=True,\n", - " return_offsets_mapping=True,\n", - " padding=\"max_length\",\n", - " )\n", - " sample_mapping = tokenized_examples.pop(\"overflow_to_sample_mapping\")\n", - " offset_mapping = tokenized_examples.pop(\"offset_mapping\")\n", - " # print(sample_mapping, offset_mapping)\n", - " # Let's label those examples!\n", - " tokenized_examples[\"start_positions\"] = []\n", - " tokenized_examples[\"end_positions\"] = []\n", - "\n", - " for i, offsets in enumerate(offset_mapping):\n", - " input_ids = tokenized_examples[\"input_ids\"][i]\n", - " cls_index = input_ids.index(tokenizer.cls_token_id)\n", - " #! WORKS\n", - "\n", - " sequence_ids = tokenized_examples.sequence_ids(i)\n", - " sample_index = sample_mapping[i]\n", - " answers = {\n", - " 'text' : (dataset[\"Answer_text\"][sample_index]),\n", - " 'answer_start' : [int(dataset[\"Answer_start\"][sample_index][1:-1])] if dataset[\"Answer_start\"][sample_index][1:-1] != '' else []\n", - " }\n", - " if len(answers[\"answer_start\"]) == 0:\n", - " tokenized_examples[\"start_positions\"].append(cls_index)\n", - " tokenized_examples[\"end_positions\"].append(cls_index)\n", - " else:\n", - " # Start/end character index of the answer in the text.\n", - " start_char = answers[\"answer_start\"][0]\n", - " end_char = start_char + len(answers[\"text\"]) - 4\n", - " token_start_index = 0\n", - " while sequence_ids[token_start_index] != (1 if pad_on_right else 0):\n", - " token_start_index += 1\n", - "\n", - " # End token index of the current span in the text.\n", - " token_end_index = len(input_ids) - 1\n", - " while sequence_ids[token_end_index] != (1 if pad_on_right else 0):\n", - " token_end_index -= 1\n", - " if not (offsets[token_start_index][0] <= start_char and offsets[token_end_index][1] >= end_char):\n", - " tokenized_examples[\"start_positions\"].append(cls_index)\n", - " tokenized_examples[\"end_positions\"].append(cls_index)\n", - " else:\n", - " # Otherwise move the token_start_index and token_end_index to the two ends of the answer.\n", - " # Note: we could go after the last offset if the answer is the last word (edge case).\n", - " while token_start_index < len(offsets) and offsets[token_start_index][0] <= start_char:\n", - " token_start_index += 1\n", - " tokenized_examples[\"start_positions\"].append(token_start_index - 1)\n", - " while offsets[token_end_index][1] >= end_char:\n", - " token_end_index -= 1\n", - " tokenized_examples[\"end_positions\"].append(token_end_index + 1)\n", - "\n", - " return tokenized_examples\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "LWX-AgFXK-VB" - }, - "source": [ - "#### Finetuning" - ] - }, - { - "cell_type": "code", - "source": [ - "def optimize_model(model_path):\n", - " for i in range(10):\n", - " try:\n", - " ort_model = ORTModelForQuestionAnswering.from_pretrained(model_path, from_transformers=True, provider=\"CUDAExecutionProvider\")\n", - " except:\n", - " continue\n", - " else:\n", - " break\n", - " optimizer = ORTOptimizer.from_pretrained(ort_model)\n", - " optimization_config = OptimizationConfig(optimization_level=99)\n", - " optimizer.optimize(save_dir=model_path, optimization_config=optimization_config)" - ], - "metadata": { - "id": "lvkKeSfEK-VB" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "y502AeUtK-VB" - }, - "outputs": [], - "source": [ - "def fine_tune_using_api(model, tokenizer, pad_on_right, cluster = 0, learning_rate = 7e-7, epochs = 4, scheduler = 'linear'):\n", - " dataset = loaddataset(\"/content/gdrive/MyDrive/Colab Notebooks/Final/synthetic_data.csv\")\n", - " #Training Args\n", - " model_name_ = model_name.split(\"/\")[-1]\n", - " args = TrainingArguments(\n", - " f\"{model_name_}-finetuned-squad-{cluster}-trainedfor-{epochs}\",\n", - " evaluation_strategy = \"epoch\",\n", - " learning_rate=learning_rate,\n", - " per_device_train_batch_size=batch_size,\n", - " per_device_eval_batch_size=batch_size,\n", - " lr_scheduler_type = \"linear\",\n", - " optim = \"adamw_hf\",\n", - " # warmup_proportion = 0.2,\n", - " num_train_epochs=epochs,\n", - " weight_decay=0.01,\n", - " save_strategy = \"no\",\n", - " push_to_hub=False,\n", - " )\n", - " tokenized_datasets = dataset.map(lambda x : preprocess_for_training(x, tokenizer, pad_on_right), batched=True, remove_columns=dataset[\"train\"].column_names)\n", - " trainer = Trainer(\n", - " model,\n", - " args,\n", - " train_dataset=tokenized_datasets[\"train\"],\n", - " eval_dataset=tokenized_datasets[\"test\"],\n", - " data_collator=data_collator,\n", - " tokenizer=tokenizer,\n", - " )\n", - " trainer.train()\n", - " trainer.save_model(f\"/content/gdrive/MyDrive/Colab Notebooks/Final/{model_name_}-finetuned-squad-{cluster}\")\n", - " optimize_model(f\"/content/gdrive/MyDrive/Colab Notebooks/Final/{model_name_}-finetuned-squad-{cluster}\")\n", - " return model" - ] - }, - { - "cell_type": "markdown", - "source": [ - "### Main" - ], - "metadata": { - "id": "ntnGakP6K-VB" - } - }, - { - "cell_type": "code", - "source": [ - "for i in range(1):\n", - " model, tokenizer, pad_on_right = setup_device(model_name)\n", - " fine_tune_using_api(model, tokenizer, pad_on_right, cluster = 0, learning_rate = 7e-7, epochs = 4, scheduler = 'linear')" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 827, - "referenced_widgets": [ - "d3773a7e74224e48891f9308e177e9d7", - "7d48a0bfa50847529dd478d5ea121298", - "34953ac98cdf4c189d0cbc9546f40da3", - "9621d144941540d7b1dfc4dfdcd49e49", - "e7a82f8e15c342a883296d93284bd1ea", - "c10c94daeb914f54afba35a383c79cba", - "63ab639c624e443faa9328e5c1db950c", - "8a60430c7b9347729bded0521988b41a", - "3a69f3fe8ebd46c6aa9ed4c4c9a787ff", - "7bdd3b8e2f674b8b9762aa5c3bce43c7", - "7cac04f67ad94682bfe0ebec28b09724", - "bfbfa2b6b7924b58bb2662d01ef3aa2a", - "14e052da4fc34abfa6588f235c5e0693", - "f6f9f6660d2b42629da4a99090dd0591", - "8ab259dd59124e01a91a7aeb0f9dd90f", - "debeeedef4674ae4b66d1bbc7a1f7f7a", - "a5a65a328dba4946a597717314c295bc", - "777a695b711a459896cccb6068579ee2", - "9ff42f2a16c1401786051504985b960e", - "6d9700aa23154c59bdb37104284638a9", - "a6f0992ad8b74900a0e7b47829ff1ba9", - "0f6b49abc7fe47eab324b66a59f5f73f", - "e1b528e0e2634912a848c382cef7d446", - "73da950916b0448a8f9d26257f6dfdc9", - "3e5b193ab66a44c2a3f437779380d190", - "97f5dca7a1124c93a371af54247ddafe", - "74780bf716de4e9ab4dd557b8e0ba369", - "dd5a03574ed5406586e76260e43526da", - "9228be25539b4038a85e885afee25ba8", - "6c1ad43f31a04c60875ab261bb788696", - "2a804f2ca96e4a5cb8c6dfe2dc5504b7", - "2400e2f72ce94e0ab5f9c8da7150a59b", - "958f9f56cb0542dc8e0711ccd1631b39", - "54120104915344638c71f433d78717bf", - "ecaf7b13dbde4a4582e30b1ddbb48de3", - "33fc36ee0c2e48db8911a418d1f097d5", - "93926979e4ab4af98cf6e55fbce13e0c", - "e09dd5ca52e44a1e880a86d99e6e5661", - "c913a5bdb86a4d0bb56dabca50a2464d", - "e183390684cd4e539b8af9723aa0d87d", - "ac6db5f390134b28890c747aaa9d2997", - "ca7bc519044e46fcabc7b8a5df61cc4a", - "d77393d4af3f4c40b5f4e2b96ee098b3", - "06253d68a1d9419387403e7091e45b00", - "94d6da6b9d8e481f94dd9c997fa8a8aa", - "895d37502e8c4e5abae22a02818fa4d4", - "2ba42c8510f2495faa830b6c865c0f71", - "c311b1118a1c41cf99716dfce72e1484", - "2619f81a06d84ad2bed53c3ba6de45f1", - "ba87ec97784b45318d132a5de128e9e2", - "2cf7ab309070425e82ccbc19dd32cf5d", - "b569f02afc7e45c68b4d85f119b3ac0c", - "94831ae081324b418157d75d6257bccd", - "57504cf16cad42f0bfb0865164b8e2de", - "a589d15010314b7f805a13c6f11545f6", - "6f2ce04309ed4641a7eddbe1f56459bc", - "30dde65cebdc474ebdd0b0b02653f1de", - "769bacb626c94efe8eff1065dd48d168", - "acf7bf3d3afa4d5893fd043b12be4fff", - "cc02494ae7944b989dbd65443d63e003", - "2f612cb1006947b999708fd0409fa34e", - "7c4f793b01cc462d88bdeb2dc347a6af", - "15ba34e91ec04453934e57e194877210", - "f5c632a336f14554afc5bff54535cb8d", - "4fc7773178d848268023f8a508b5d652", - "8a8f44db920c4232a6142cdf45b84d67", - "edd15e8996f84cac87ada11501cb44b9", - "ec44dffc1d5e42d9a260fb752358c67e", - "f6fb07afd7e04e0bacef997c088bf3c9", - "4e229e7be3bf44c5a820088253946e2a", - "90fb27e38fa746b8bf3da2161ee94fb5", - "bc1c5890244c4918a6d923132cbe4abd", - "fc1409287d904c5b840a66ea58df4b7f", - "77bcc49e0ef74d09814e6a8c540083f7", - "e14dbdfe59834647845b5bd30af40953", - "b528dbefd64a4908bf7b8a5206d3eb16", - "d0373a8397084cd28ca8a0cc09512b50" - ] - }, - "id": "t6Gmg0MbK-VB", - "outputId": "77da3398-a421-4750-a64a-9ccd2edff028" - }, - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "name": "stderr", - "text": [ - "WARNING:datasets.builder:Using custom data configuration default-ae1748224ecd7de4\n" - ] - }, - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Downloading and preparing dataset csv/default to /root/.cache/huggingface/datasets/csv/default-ae1748224ecd7de4/0.0.0/6b34fb8fcf56f7c8ba51dc895bfa2bfbe43546f190a60fcf74bb5e8afdcc2317...\n" - ] - }, - { - "output_type": "display_data", - "data": { - "text/plain": [ - "Downloading data files: 0%| | 0/2 [00:00" - ], - "text/html": [ - "\n", - "
\n", - " \n", - " \n", - " [14/76 00:06 < 00:35, 1.77 it/s, Epoch 0.68/4]\n", - "
\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
EpochTraining LossValidation Loss

" - ] - }, - "metadata": {} - }, - { - "output_type": "error", - "ename": "KeyboardInterrupt", - "evalue": "ignored", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0mmodel\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtokenizer\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpad_on_right\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0msetup_device\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmodel_name\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0mfine_tune_using_api\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmodel\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtokenizer\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpad_on_right\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcluster\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlearning_rate\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m7e-7\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mepochs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m4\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mscheduler\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m'linear'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[0;32m\u001b[0m in \u001b[0;36mfine_tune_using_api\u001b[0;34m(model, tokenizer, pad_on_right, cluster, learning_rate, epochs, scheduler)\u001b[0m\n\u001b[1;32m 26\u001b[0m \u001b[0mtokenizer\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mtokenizer\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 27\u001b[0m )\n\u001b[0;32m---> 28\u001b[0;31m \u001b[0mtrainer\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtrain\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 29\u001b[0m \u001b[0mtrainer\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msave_model\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34mf\"/content/gdrive/MyDrive/Colab Notebooks/Final/{model_name_}-finetuned-squad-{cluster}\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 30\u001b[0m \u001b[0moptimize_model\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34mf\"/content/gdrive/MyDrive/Colab Notebooks/Final/{model_name_}-finetuned-squad-{cluster}\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.8/dist-packages/transformers/trainer.py\u001b[0m in \u001b[0;36mtrain\u001b[0;34m(self, resume_from_checkpoint, trial, ignore_keys_for_eval, **kwargs)\u001b[0m\n\u001b[1;32m 1541\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_inner_training_loop\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_train_batch_size\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mauto_find_batch_size\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1542\u001b[0m )\n\u001b[0;32m-> 1543\u001b[0;31m return inner_training_loop(\n\u001b[0m\u001b[1;32m 1544\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1545\u001b[0m \u001b[0mresume_from_checkpoint\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mresume_from_checkpoint\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.8/dist-packages/transformers/trainer.py\u001b[0m in \u001b[0;36m_inner_training_loop\u001b[0;34m(self, batch_size, args, resume_from_checkpoint, trial, ignore_keys_for_eval)\u001b[0m\n\u001b[1;32m 1789\u001b[0m \u001b[0mtr_loss_step\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtraining_step\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmodel\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0minputs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1790\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1791\u001b[0;31m \u001b[0mtr_loss_step\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtraining_step\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmodel\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0minputs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1792\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1793\u001b[0m if (\n", - "\u001b[0;32m/usr/local/lib/python3.8/dist-packages/transformers/trainer.py\u001b[0m in \u001b[0;36mtraining_step\u001b[0;34m(self, model, inputs)\u001b[0m\n\u001b[1;32m 2555\u001b[0m \u001b[0mloss\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdeepspeed\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbackward\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mloss\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2556\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2557\u001b[0;31m \u001b[0mloss\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbackward\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2558\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2559\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mloss\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdetach\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.8/dist-packages/torch/_tensor.py\u001b[0m in \u001b[0;36mbackward\u001b[0;34m(self, gradient, retain_graph, create_graph, inputs)\u001b[0m\n\u001b[1;32m 486\u001b[0m \u001b[0minputs\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0minputs\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 487\u001b[0m )\n\u001b[0;32m--> 488\u001b[0;31m torch.autograd.backward(\n\u001b[0m\u001b[1;32m 489\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mgradient\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mretain_graph\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcreate_graph\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0minputs\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0minputs\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 490\u001b[0m )\n", - "\u001b[0;32m/usr/local/lib/python3.8/dist-packages/torch/autograd/__init__.py\u001b[0m in \u001b[0;36mbackward\u001b[0;34m(tensors, grad_tensors, retain_graph, create_graph, grad_variables, inputs)\u001b[0m\n\u001b[1;32m 195\u001b[0m \u001b[0;31m# some Python versions print out the first line of a multi-line function\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 196\u001b[0m \u001b[0;31m# calls in the traceback and some print out the last line\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 197\u001b[0;31m Variable._execution_engine.run_backward( # Calls into the C++ engine to run the backward pass\n\u001b[0m\u001b[1;32m 198\u001b[0m \u001b[0mtensors\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mgrad_tensors_\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mretain_graph\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcreate_graph\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0minputs\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 199\u001b[0m allow_unreachable=True, accumulate_grad=True) # Calls into the C++ engine to run the backward pass\n", - "\u001b[0;31mKeyboardInterrupt\u001b[0m: " - ] - } - ] - }, - { - "cell_type": "code", - "source": [], - "metadata": { - "id": "ErHE0TftXNbV" - }, - "execution_count": null, - "outputs": [] - } - ] -} \ No newline at end of file