From 917fc3cd7196ef89aedfd8a25507856b0b8965d3 Mon Sep 17 00:00:00 2001 From: SKR Date: Sat, 29 Mar 2025 23:13:10 +0100 Subject: [PATCH 1/3] Your commit message --- .idea/.gitignore | 8 ++++++++ .idea/humanoid-bench.iml | 19 ++++++++++++++++++ .idea/inspectionProfiles/Project_Default.xml | 6 ++++++ .../inspectionProfiles/profiles_settings.xml | 6 ++++++ .idea/misc.xml | 4 ++++ .idea/modules.xml | 8 ++++++++ .idea/vcs.xml | 6 ++++++ test_env_img.png | Bin 39534 -> 18630 bytes 8 files changed, 57 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/humanoid-bench.iml create mode 100644 .idea/inspectionProfiles/Project_Default.xml create mode 100644 .idea/inspectionProfiles/profiles_settings.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 00000000..13566b81 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/humanoid-bench.iml b/.idea/humanoid-bench.iml new file mode 100644 index 00000000..2f9173b4 --- /dev/null +++ b/.idea/humanoid-bench.iml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 00000000..ac21435f --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 00000000..105ce2da --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 00000000..05153c60 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 00000000..3c7ac11c --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 00000000..35eb1ddf --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/test_env_img.png b/test_env_img.png index 6f2031f58ac03034c9ac2db86f9816285c8feb4b..c64501bf1579034eb5ff13607119e662244d536f 100644 GIT binary patch literal 18630 zcmeIa`9IX_|35yK6BRM#l#pdOGS$hNr4)508Kp%>i$by`#*!4t(xy?CY?UQCYP20o zM0QHi!l;y`k@ZA{kS&DI{hH3}^?LsU-`~FH*6o%s&+ED#%l&bG+#lETgl^xuNqmmX z914XZ&NO9MP$&ZUQh*{Vh`;J2jWj6~MGBL#{!d?l-bWuI)5ZcC2FJQ5i!$N^Oi!HF zU$3+EkhtKV3Ax9QIq!;7bWRc+$%rfTn#1&T>(7We^2$5HzTqvm>wf5xOg)SBKSVZ) zb~G)mqRn6byNb`g5Ay|`^^U)Pvc}uCtY2g}X60x3ny`|dfR+MVb#v7P3m1+q`~Uy? z|I7sPM{TFR?A}ao{a&eOMi1`$~p;tN>p3yV9 zDxj78h}YP7J6C@7(NER!+P!uOTU1vV=C2zos4W?(-^Ypl`0=Ae(D#afRu6ag=^x!j ztR@>&~s@ zgWKLXXxX)|AI{AT=(}e-bvGfS$Bb_5bYg4zyU~Wy(cFsj5;;pb())yyRNRTo6*#8ovf_vt*zG%X8!x6vFVo9oNMva`^Ck@K{L~K(i5c*O9~3& z<8j7@NcpudejfVFr`D;WpyOTD@oeAW*P8^GGgDd31qI`uZbSx7@>-p0>-d{H zieEAsk1-m5XFK)IIVE7B@7RaqwgDsWuxHnX4C_f)V5T>xHk-n?6MN5)u@btkW$Gl_YA_MFIDd`sT%pD2&Op~RW7nd#Pt zt%3fIjvrtB^@r```-WY+cI`Q&6TfATukjLiBWjcUc$Z$;^H2D(N6E;-xymGSVC$(~ zXYHZH)*q@jf`%ifUrPiI2rV?>Z|8dHx46tC1MjY~sfRNr-k;xaG6P5Mk!aW>%{OfD zgxOG2ZQy9Ub25HQY#=W4q@#4mjZKm711CP;+P!O6ekbj8x*5G!g(mH&YMvgas$Jmn zZ$wNFM)EE@6xGi$y_?DcC9 z`El$OSzhigW>c(1VaC1O?sc&tlG+P|-X($MZvd zLqm#hM`-omxh9PC+@3-<1^yrHZ=Erk>7H?rAfB>Y^nX{DA9y@h-Eii|Q1q_dyVdvS zZ#N5N+exbk*nWS!XzR7rPfIq<_jdD^J){*sV9X|KWX13olqeh-8L3hTlKV6{{d$u^ ziSJsM?84QSjHqgI~}FJ8RZxozz)`|~~9LzgD|_T@I<`!jDgtCviCxmOjb zU~6L&h<$PqArr%&os<1S5|u-vR7~;&c+LJtN4{9PFJ%U+9J7blTUto-XGBK&xy_GLHs!7EaoxJ-V_p<*O(S6+V%I} ze>-%wSDfEWU%q_#c?kul<*SO9l8v$oPmC-pg1dOe^Oc#^UKQ79p;0V%DpM!Au~PRy z;)kZLDbs^of+!DTwZ#5lICOP&sjm4v8R+L{pe?|QK6E%e@5+@co9SiWpQ@YDCrA7I z@7l?dkB7p8MOigIm!3>UJ<-kcGa^e}59zUoEdor%8*0SILT$(6Z0Ve8ryL8j^i|qT z%m$x;Rw3$ZpAT3>k_rS`&UrN)U?f)Y?b{Lh$2%eEZgr*|85R}copjM9*KlP_anyRLi*!gv&*Ai( zrWM+o=`UZtEbr=aqW?x)H#1&KFgKW$5vh_FEo|CRSbbjT`|9oNbOLO_VBx{1qD=Z{5&zSw~FhfNWz~kWtqC z`#2Rs_F>r+tIIUIMkF;v;t8J6)z~#*dN6|c)fDlO*cnpvgdD>At!G`cr{2k4dxf6K z(%5gVWuvZFR$5Oy+q6!wcxseaO*e1wsnCeEa1+8IP${st!)`)UuYaCJHQ4xv_jHBG zE`6@6SEZ}WgELHKTHoE!iiID(XGruo)ZUxSa1wk2?q zbzR50f#vQF1hcF`-ni)sX=&3adgbrmzi-NMF7R@{O5E-r%}@^QQ4BSizs9RVm&C(9 zrl6a*x0`l$&93OH%Ap2_^L?5cI;VbhVvW|& zf|T#VH@2PZSm04MHM%^r*uv~{p}TIPW7qW5WTth|EYmNA++*phXey3Q>A&h9|JwZe z#-`r{qDi96&U10gS-=ca(X^=eJry~)REHeb1jl`{%RS$VY(OJhys>L7^PozotP)a9 zmmr4ds@|`EotOUtUu56EFYwmNrF7t&dNH8b_D9E}))PJH_jYGa51cpZB|CX%g`9BC zY0?lwFkidLmJU(UK5v&b^;A7@5IB)1fCM?D;-#!25Z!oA*8Qx^I?1VjmKq7*--q6M z-YaM~xovkG%kJ0X>0ra!h=>3CBkm@niPxq5%8y48yyn2`DPJgtWc5LwB#Da|2 zNxL1lUV5iqhHBlwlnH4^398WeJ3T!;BO^Nwj;Ann4(GpX_EdhGwT2f=VsF>s{IxiD zjU3O7fTa5`%wX0!$yLp|@z3RWVZ>tPWKGZ`_HAX9l%v**sPP736>hpQZ+)yu*|NBB z6AWVX?VX)EdE>@!J^l0T91;ykpvf?Gh^u+G+g0=JWPv&|y!|4GIAapz7adgfHi#ok z4$!wj*E6v|0EZIb6)W)1tG59u-qRM6zHan>WSoV{yAYNc zJ)m{-i!BLkN{HRFYWAnXt#2wTL;9+JJXyMK@XNi-Bg)MbJRq3W5($IxOb;H1_x3C3 z1-JNhFUgA%zWvvZ3RY)`tQ56bSg)50GgcD#P@H{9_;!1qmr#!iJk8Wmq_I8^OjyY^Pd4uSQq*oG_33YtQ;D}y z0ugX^hY!(C7gdRe1Ea%90;7CmnWu>D%>b_OEWjtAJOUxok5rP)!otf*$cZ0M+!PGF zcfpyE^<=sJP4jC)7c6Z#Ib>dbEIp1@n9(zteC@53o}S)hsX8ZroRI!z?^;b1LBY44 z63@1jV_gCo!74I5ofF;HjuV@Osk|nbDYvRw-kn0y?&q)T<=g#3y%b-4|M$=x42@0m z!})2R_0B$W?Pyn`N8ue5$p#-pM_yA}ePKaC6Hxu>F{gi>=H6%`ZqD$$f`_C_H_cMf zydXN2GBXr($Zhk%tqh6`K>I`IEYAvE?8cbk$s-t3N$M~%s9N}~#+zLLwsjzX#C0rZ zU?YyV&&n#hMmM(}z*yS9nVzRT)Z3Kf>guW!KRe%U>EU2@+p!m0U?SoTRc#lo7**OK zQuA>r6U3lEG=9UTljCh7e9`E>FPBHRk)`{_b_Euv#4Ge)-0fsKo6HS-koXlOLNwORlzb}HIs$-4wT8u zu6d@*hYdvSekVcq#us^5>)6({Ev|h2u9?vnF z)NYAQd;3pu3q zRp0cgNMcjoW-Z_&pYp2a)d^c~#m{cUs&OXpot}fLGAvxKd!t%dE2dIc84jgT|DwYE z>d&{7E9boyWs4>(O*#4P4QF$OhC>%h&7ZE0iKSo#x%EwM^S(-Wfsyrku~Q+;Y}1gS$L4U+~xa zv@>PmEtvgpaTXcYMY>`_+yA?qopfQwMNuA@bKulS1A$}IFa>7y{Tlx_YP5W1ooicN zv=$7oSvrEW(_>_b|KTv>M#xxfeDEf>8&pYZGq3npZ?q&s-(IRWSj|+newVdwKqfot zCW=>3-dZ)KdAQ}&bakcmp}fORM+Y70d2 zxv%1LoQS_6WGE@^8~?i({|e6LE5UJbzvdYPO&8xpu@m$t9q$?|o0&qb`I>?*(z zUc(Qs*SFiu8DGe@K-(Mh!W?{hlwWGk`yzJEHN zUQC%Dz6IKKe%oZGHF89%C>Ytk*twpQg@gY9P5)YM?W<4qjo0A-^58U-UaC^#|*y7 zrqE9JT>pIZ#jg0-zCX`BdEw!~MbR`twy687-DMN+&}eUZGCtIODqwQd5zSiHmoJCY zeRLCvzLkfNa?u*9gP9=CY)v*?Of`0T?-U#Ft|G80Lhi4<`}PSn%dI)qi^d(%G2Wdb zayT7g$LGR~*n^1%94RI^-x-z(m|$f7Qb*M`1N7&ImLE&Sj&$QcQ;S~hYW6_v$>qI~ zQ=~P9%EF?3>Otc#(S=7nfM$irV#d>5bQ77`)~0Zc zN`Qxj!f202zkFFHNv+;%Ya28@-i;-X4S#xVUllQU$`FkZh*B_%sY87Y*g3S-X_T+~ zl}-1QajUJC-TlZ2?sWVArdnE#UFgbe{nA(G*>K?Tbp~@;p>S zNouf+$zf7WjX{0BvLR`VKZ{aEbV;lo-tP1!)*_f3F}I!+t7zH=i=SQ3;dFPcn682L z3dHOQhG)==Es@!SqFLgHaL$YTh1)`+@(_FemQGsP;`ssu3?0%~irR}^q{2<80=L^U z3XzOZBtD-Jkyxp&PSnsGbHZAbL35iO(l+VDGlyO*&y-tx;!km4)jiS)^=*>Jk;6-~M^7 zyeWbL$G(ZzcD{V&N>N79vAzT#u(Dq8CNPp^+NYp}mVJA%93S35)?JIHBQm)9pD7Rw zVRF8rYGG8UJc|WXFrVgG?w|(E6nEckD5AkCCWjBg@yNHP+?|p=DWg- zQ2xnrw4(d0t*5?SDO&*ohn*Bdg$nvn74*ZuY|Nh{h2y-RMdBfXl~5ffTCRJbsNTxV zZ{*!>359jlyAIPfz+uh0?$Un34yqs;(NEN9l<=!JX1zMP`r}%p0OUVQ#vx&bumW4Q z%XfK8q>QmL*s`9QwoA5Gg{g%O*>Vz`yw`&M5xmu-c+dpi-NhuTY08i1DUE4+ZERW^ z8?yp{4rs6-Hhr<3x)(G8am;AuV%hhL>?~_n&V6wQCr0C}!|BG1#>>!?mekzYc`JD5 zt*u14T%~=g`sR)W;VO!>@7J3(s%})@e7*%jWpEw}`PfaQ=OnP3c_G zj6t42ZTr-10Ub~)Pgw`mHdXBp8qrc8-^f0tl5n^arnetQoHwZD9G9vC@XI0H<}6 zy*WgnY+MEe%Bi2@pn3y*81z7|dTL-|POz%M&fF3h@}d)WfL)Rywm*6}q#-F**RGjin( zeFrk9zhv?uFM1wS>fT1QEB?Kx89KSU6lqtLp$nDv7iGwzQ)g|yn>&4eW*KyliG{CXmGnAB&0C$;-KuTZnE$2IN>E`sxB|unF}M%n=B@ar+n&)#nym z{lMBa_gZ}3V&;XkSV81A4LhCghFzR0l3;V%=`}sy2RplKQ=CB#RrEkjgMkt=pCYFZ z`S`?L%eRY-&&#=gExtk{-)<`-*2Dr-AK>u@0#eDZKsU!k19v=!bQ|Ilw*fufYy&h4 z=n!Abg(3oGDiqzQN>kZ*_NLW66;yz!$*~zIBM)kx9YZaf?V#!n+KY|^Upg^fnOkjFIexFOyp5oDIO;RgFaq8s2-<#ntDEj2bZq{!T8{P{N8 z=_nv@k*AP@{Tl7~1^h?Lx9!l)-DMJ;O6O1x=X2^4yHkQnV~>0vXeYAw+GD+qaHE2M zuO^f1KcH3p_urT3d$vJ}4DKVuxEzjz9<>2R4`#m--Cp72i6}*d@HV4sMnAD8g)-bb zhDeeRYD_H{*w6-X|Iohbzs;SrqW^@DZ*f7!JqkMgf~8v|Ir+Y5N=V{lOI~5lA4tB(BTUQV?6KITbAFVa?;dpD!7Q%g=Z(#<@UXR^C z)B-fV>L=UhHm}d?d4~Rg6B@!}g7+p~;;*T>jKdK2--Bkr4gKd$(AkwV70v8x@$RHx z9UJ^7W}8j1uUBhnKyU)va|qT;jnzu58SUe3A`U3+*RDH8-w1se(pW~uy0K<&@PKBo zJl7bsyBO_lWI)W#7f01AFu;l7#d|Cq)FRbR!kai1A{#08#tcYx(WwHdQAc4exDDcC z2ISwvw2nn(-#6kJDw;9?73B?lDVqIhva~)SK6>3?=r%|Q+9>-h z?=}k+<@0NIt0j)A-U!8`)>X;KNtiC(=MV~=G85Z4s6v-nJ#_}i@FcKvFxKj`P22&(<|+VsU1=HytvI_Kn9?-c*hCg*~CU*x)C4Vrbp11Ew~)Eu@w|IwQi`Jn={(u)Kumptr@nX{l&62G@h69a)aG ze@3IJ1(@9q9RF)jyvrI{MOj|&1`8cyhUo=SW|LS2+OY@>tdPRjx1Vwx(!7Bvgkc!AV2==6$P(FX~Ao}50KO^lgTnj%D*y9(mG%C$lU2YH%j&xl}gAe zA%MIaB={hxva~O-|8-b7#1RY>0|(k3Rm+7a(ZFS)!sG>!u>$EfCgpF}kWS3P%*o^l zray#0Q23gREvAQLGYgvDBH-YT3v8|PEMgK4PKAXafd6NEJi08esgb*d1P;Q+#6qW8 zoFvy_Xb}V-%;=Fu)8C=_O33MNmo>q>&M;s?r{>(;MQ)o{pBVnsI?W40x2H(c%ITl1 zsWE3_90iSY7I?!rBrz|AY-=bwNR05CZ%C%v5o(pb3*I7eePAoncM%o-X-jjoUxTe= zT?B&(zscSXUC{n;I*~Cn#PSx$K@j!--hN&}-tf>G1O(M?^3RH`Exw)Mm?J`}Z~R)g zQd>Dy2TP|J_>cCYGZ`zuDbnK&5^Jv3`Bf3Egj|%V!qj!QSGFS!{)@X z%11GfjRAE9I)^svj4grE{KNczxckTQz2Os_CA)HhNL8!8X|HIXaccD zD6so@U^fKR=CYs}2pTL!nvH*7EZhz)Hwp3JyE&$?dv>s8ChT_&3`nB9vw0VWI1Elco?|yI0^1jM!&dL zT{{v`H~#G-lKAbc?<2M|BOU=g`=G6X*xZl7yqT!#KWCmqGjWi8R*mhG0gE%SRUO)? zzG~s@#UX#`Hem$IwlLFM#zB&u-QR-`x`{nhCgtq)kr;w3)REBa#3yEIGCRa z#(&-c*vPRlob01_5l zdh7E6!~EU2l%gK+c{4w*>tKtdHOC_+%^*ZL@|oa0R@al;vGc_-tpGzznHf*nw9_nf z7LJS7^&&sR_;bVf*$f7mI?xj==FBb95B%{RSqx~_UXV3~u@D-E`<4;9dV0<|@hsyv zb=!=lO8Nsl5HV4GxT=wnk#WT1CF$BpS-XTWGoSj-CpMLV9bVboKzG4prs1NC2tB!G!N1_vM^fVWE zH`_z@5tT;K;+GkRh?@u)MBG`3)h#iorpL`tB>*N)WGJdbBIE5?$<0H18o!_y!3Yj0 z5tJU+^=`KoEga1~JzdF+wVVQyNrVQenta zcQ8DqJ`yJ#*}NB(7>ojg(1QIZKLCewZ~Wxd!vSRv9)M4|rt@{IdG3Le4}&JrFw7JZ z6}^jGMXE6RQStGkBlETArhEaz7uYz!cdx7CJ(ONJhSRe;9BsWE*wa@(-ar4K#U&v$%vw% zeM&g09>6uPX(DMgbU#GCPrnQrR|i1~b1Q=m2(qNZi7o9XG!2E)bAi?ZOpG!hRbsuG zEnN%-3e0j2+)PCq7v8#JSNHA2RTDu4fG&0pHrsk|1~9O<9ho^@Ck^R0$Sd>i7Yoa6f`*h zGXA@A1I!IKo^|+F*7{m!-1&%bkYgxlQJE*MB*o*0Cr1jMR{x*!DM}(W?z|Z`(IbDV!d? zBz*bE=k+EZHFr(OR(j}@-T5Dxav zh`rFc$LzUuXHutBkxx(kz0A^OoUqQTY)Nt#sbs9BB4&IP*G6!OaM=Y~|Ju`=udFPY znVuB=v8BO>#gnm@6jka7)|`bu<^B@oRy|3mYu$h6>W68n3N98^lC~G!6Ko&ilJ3P| zi&ChI?ce9Es#KKRz}O*GrP-aNS!qz^;xqE)9q*xs^Ij9i)$vNbQm>&dbHh{kj%~>a zOHn1xaEs7DOBoi;EdDlUo+6FHcsr|7n$qG=ca++=L9|r%p2f_vgy7!yW&mK4xYaxnj zHWqV~^t*9DzlsO-`WB3TN{(}LSv;R5RHf}^Prc+eQWGE1$x@i2{2pP?Ef|x>Qs_2I zPL69Om*cY76NAXqXRw=p5GeatYf!6yWVyeGP5NI*m%nsIg=iDKb@!8NK2q z#gp44)+JYG)oD7u*p*eMQzSJq5{F*5j(rcr3`X=jw2=5KQ#t*uBRch^Ei!0As6ieNABTv zmB!FWX3!M5RyQvO*18#MMkhNsZ_u4q=fcb58VF+{=KLy6vesg(B~AQ`Y~bbP*3;Oj zY7w0(OiC8zR&`}%<(mFt<+Gk#zkYR_;!jB!_kW9{oRXmU_Ok}ag*I{rB8<){9-|bG zL8S;9z^LI*`fnVm4W{%s3mneZkamQ-%DgV`cd8N|&5YKM*c&|l1iq7Jiw0|^iL*u5 z8w%lQb=|myccJqtg4)1243?cl`#4Z3>(MC07JZcK+Ti}7@TtLWvvEp!*^ifH`wNcz zLYX`83pL6+!zCe)6^h4H2v*CceXk=T<+*=UH~~Sl#CbtbO)kf^-7>Y5gVQVVd<;h^K{*$em}k3uh&hyeSNo zv&L;nMgC(eo!nbXr>^y%yv5qbEr@;NAK8Y{YJb_xy5zh(Rw6~feg!jH$GlU&((r(l ztDF(TAFfmAv5^QrS<9@PqRq^QK*h}IT=S|NXp=KMj4 znE{C~O^(#Od zaT%8rOX<*8rBT8(X@$r8<@rVXmVWTKvjP3g(SwKfa3+}eq_QemDbv60%S zA4vSNr@;qt;37lYAh~fzLK=w!uWHGt*=|6tmQD?&vleD%cK}<)m3^2uSD10OLcd#U zyBQM+o#bu!8)~$kd-ElWBiw7=4MK9G{{e5gDn9z5SOp9`649T-c&k(6p!Kn~wU zkDFyims>@W(>csVuv<=$^Jlb*OM)4Fuv#CbOEs%r#(sdlLG<6F{At#{7e|Tglzucq zNx}WQLGGG&E=@}TX=cqbq`n<6(c(TjpXrzR<6~vad3Rs*sQ5%Bw8gjRdidq`~gAQV}USD zay}Aq0`_86&w=3Ef+luWH<$P?;@k0t!jxKsJxSi|`XgL~{z{wT?~g*t6YSMKj1NHlYv;8kE$8qH z4GH(qPL{oWXJxpo8C|$RP%iKO{rd$4BnJdNxwDl#%Rdwy_Y#w~Pq@xs3&%1RJ>?vU zg?6Vsa?nyjCf>(4Nl``sX7sEE+pr7qUU``;GzB7;YYQ_wOD3eK9DaWUiUWNUKTHG zGOq|DH)K&64A#Riu6;U(2$BkiX)2wald5K6_FTxbqq)$hC%3_7rV;`qHxT+2?9H{> z%xLkiyc(+|4oH%#(*Fgfh*7Z%BT<#L$o6EEce2WCsu!2Kf39b7?s`j07Vm!#T}vK% zik;-muOao)bw1a;x&D#CAV0gorK$~<(z^H8>2M7w8`y@mohS$~?*Dac%VYzDy2;j= zb@LkWABG00rlJDn{xc}qBw?xh{9}FZM|v7Gjo8nm>+<>z>3k`iXDqdGD$ppxo+H&QXDg0%{qFOLG6EM& znxv&z_kQ}XRrkdhikv6*(ntVSf|FLfZ@<7zmjuVXa#d#Zq@(`}gW@qgkCtNa$bV0~ zC0aOmti@mqjn~4V5O$a*ix**XBabEU#H%Jc@qz-phoU-H)BW^nJLj9=T|(B)yxDBR@q7FGW$h^{%%rJE7w% zkgT0AX{n?gx$*j$w2(3VUH@2|g_oQ+*K5OvIjB%K)DDJGqa+1S<&MVfwkZglnuuGz zo8so?)|~J4hv*||A_ChLKGerF~PR-fg z#&1oCVXR!Qd0(Y&P~&vyUp^&zGuHR+-?`QetIT&czdh4&l8EjBpo% zK!!dOu`r`Bo*0OHAw_mTH@^-N()OGA zzq+}*zX(QvGIXTHa4Si&_v_brvxF$n)XD9fFf`q3(N-9o#+xpk6C*uWgSZ75Jqc;A ztxzuh@oVWHyFnf_TO)myd<8ttryXf5UPe!nH|irOzoQ&m2)wwI1gg&mUqknVS-}>| zYKL^p2@F){K!xs~f_^G_S~D${M&lX;lM5rz5PZY3R|rULyq}$Yq_a{S4S;Lk%yj=u z$4yc^Rb!qX(#ftD+#||A$Z-@2VX6Fhl7YB(V{m@)uTRh%MIo_Po^2C|NZ@B)_4IV9 z<}72ms*4vdlH}9xzPb%k0WR6+iGt|*jeooXJtKH&PHyf9(Qld22f9X(_C4tjJx}j( z4cCl$?hq7|!ln#QPMtgV%dc&kjrH{lK~&$DOaH;ZBP?F%U$VF$R&2T1&? z`=kio*d_JLI?jsCl#M&uva(kUZj{=1stRqz*c-zCC`+$^k*tvke^5`F>ay0_q5VLz z4dtVwqh}@c*C%*WcM6q@Vzxf>Xtvi*!+m3?e7X;4-{1~i4OzbdI0;T7Me!|;e--%3!w;_Wbe>P^2 z#3#G^uOk`4xJBs#dqS>&J&&qg5G>!M5b&U+q$DRt8C%xxmbOpwM)AVkmFX#*7z4o5 zb(p~8DU0})_4oI`@me%E_8TNtzvQ`S-t|}EjhpG-8?fbg z(Tjfu2Y6qYfon2{!UT|CwJApG_&CnZCoL5cM#aCXap2fcw)Zq{vI^lHJVE))6`Pah zfkVVZ2zEE$DEF_GUITk!sE4G`Uyrv;CNSC1s?_gBq8K=l8)9=8t!x{LbquXLggQvA{rDHD-43 zikEnIBqi+*U@c;Nx71Tudzb`L*nND6LN+;X`OEpvPB8GT5bp@~gL+)@(y63CdzBHJ zwLw(=z`9>I?zrr@LyCZ_S62>Td#m`IByap$Gmi(|$|z|12QIlN!lBv#tP82-_SnC6 z*#giBoxiU46kfY_ZO~Utkr|D9nCdH5h(evxujE4wo(co6xFDEfarrl{;bO!c{SQP< zVaD;}$8XiqgAHp%&a97CF)a78kopDIL@eW&@#^5*UK22myN5?VPzv-1A-!+!Ug`!7 z7*pQ@=@}Y_P1r8PCWe)u1LPjVBRxDMf+Y|7`HdrXlDw6KBR1@i66J4T{oc#?Ob*#N zp9lR(qxA>W>8x3^rgKo*I9dgF5~c!Eh%mSVF>Cyv-$qsi6RRvoElt`b6=re+hXuU> z+T%q<6($L0!{ZxwD5|~8R+}U2xVIyipN&|B$VyVmwEihBm;3eWN~*vf8yop~=Sd*^ zyR9eAbOK;Welo;4S0xHFcuh@Bu(={fPHYy+ZI~v0H~!xT@@eDIArM#|k7sEq@M+{k zMSE6je-6cY>q;2*&L##$e%;CZoSZt~C5OXl_q?hyyIbz(PZtNzUm<;+LJ{>L|6c$o zH~aSO!*fJY-|zynbdjJF3hgdKT_LPm}+VH6j41yx3v6#fryTbz;-jdwk1AGNDhL^$%XxExhLgm zcTW%c?zjAvJk6O5`Eb7~F^%LY#mo$$#kQ5>d6AmQckW(bOCpN7hLy;J85WCW z&`nvPuAa%?QujGfGf;eOkv}b0B`eXY(a&`okmuSzVEJRb_ThuIFu9)wUB6qdcD}us zZTOh{EgMVA&cXaSf9GD^VfOoq7615^W@Vv}6N|}v=*axLb9SdMmeY`KbFmL=zw@o7 z^Uu3IC*=OLbWDF57OPb|6j+wh?RVMnsvV+f{2C&*zqPD2@Au%qva-Cq`u?#&9gWI? zYTtgZ!x%RI(mB{DeP*%JlgE!YBzMo9JJ&C{b0=9aaH(q_CPOd*^}okb$FaJf`bREc zX~l#ostCT?QVkFLr+X@ zyar#Go?b`cj^oYCFJJDWH%27bXR>&A?^bqtf#TM+1?!j(ft>4@!@^kUBo)^X8sEP^ zoG{BcAq{U%oq0qVs_>8Oyv5=zla8z+pU{sWwo^3UX=n+6*G@UF8M4^5Zx`O!n3$Tz zN*x`vuJdE^Re$jEu(|ct4f+r$R=oVC_)?4C1#73kB~@3qs3Oy_nz4qoSV)CkW<$k~ zftJosn8Vb(^$8b>wctC}dGFTrDl8vAcN8cQj1% z=cnMUN&$-(KQ{_BKpktkJe984{VJ~yh6H&%&Bu=X{CsvnM@dzVUD%zT!Z}|GRcYv- zh!G8IIkEaQ*re{PX2>mPLwOH?bYGtmYAOJ!p~o)6w|{VWkL$hb89jIJvPBVxSk16D zdqu4`1S%PViwDBmn|yIEW_0wJbpu$`f6ho&+-;wpe)lf~rk0kL4<9yWJ$RraH*e9RMVcNkkQTRK^=(1d-w|OtwfqfltCOmdhMG2wV81E9 z_QZptBCxy2190T|3Y*OHew`&%ozxvaW7D!BS96vKzh_QH3p;XRZM6_Ad-7mdyFNf2 zOY)nX!_uNk8dy$0jE(u`-MjM&Gb#kUU2~vY;YJfrfGY4T+YL7* zG^7vA^XnIo++p2-EWLXdl_KvcKF2@ZWycbmNbd*(GEo>s&mz(}=c(^%bjuBeA;tHTM&xJh(3X#+;&_h^z_Ombe*O5snY(x2 zV>PooE1nG%H}o*+UNmenVnL;JSG>3T(nGw3!4`-0JKv0$jBQy92!Xo*rA?}zs+kZp%_Hh7}TK--6GbGD!VmM{Lv zT}pEyPE~)IZIik5Z21)=1@qB^`tL7byrI2G-bL%{bfA=+x!%yz{yBc@Edq|K;*#Yai+GG|-dnEViWo5775m7ZO5Wx`Fsm%z_OzZu$M&JDj^(Ym&^r!aYos*m+H y)dk2Ns9fa07;t8GFgI>xWNbKa`u_nM^;^II literal 39534 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 z%0A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 Date: Sat, 29 Mar 2025 23:19:16 +0100 Subject: [PATCH 2/3] changes_to_current_installation --- .idea/misc.xml | 3 +++ setup.py | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.idea/misc.xml b/.idea/misc.xml index 05153c60..778f9db7 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,4 +1,7 @@ + + \ No newline at end of file diff --git a/setup.py b/setup.py index c93bee9d..55a5df87 100644 --- a/setup.py +++ b/setup.py @@ -15,7 +15,7 @@ "imageio==2.34.2", "gymnax==0.0.8", "brax==0.9.4", - "torch==2.3.1", + #"torch==2.3.1", "opencv-python==4.10.0.84", "natsort==8.4.0", ] From c23024f8d4d7b704fc302f2e0327b42153433bf9 Mon Sep 17 00:00:00 2001 From: SKR Date: Sat, 29 Mar 2025 23:30:37 +0100 Subject: [PATCH 3/3] changes_to_current_installation2 --- commands | 7 ++ pip_packages.txt | 180 +++++++++++++++++++++++++++++++++++++++++ requirements_jaxrl.txt | 5 +- requirements_tdmpc.txt | 8 +- 4 files changed, 197 insertions(+), 3 deletions(-) create mode 100644 commands create mode 100644 pip_packages.txt diff --git a/commands b/commands new file mode 100644 index 00000000..c648cd5e --- /dev/null +++ b/commands @@ -0,0 +1,7 @@ +conda create -n humanoidbench python=3.11 +conda activate humanoidbench +pip install -e . +pip install "jax[cuda12]==0.4.28" +pip install -r requirements_jaxrl.txt +pip install -r requirements_dreamer.txt +pip install -r requirements_tdmpc.txt diff --git a/pip_packages.txt b/pip_packages.txt new file mode 100644 index 00000000..562449c3 --- /dev/null +++ b/pip_packages.txt @@ -0,0 +1,180 @@ +Package Version Editable project location +---------------------------- ------------ ---------------------------------- +absl-py 2.2.1 +antlr4-python3-runtime 4.9.3 +asttokens 3.0.0 +astunparse 1.6.3 +attrs 25.3.0 +blinker 1.9.0 +brax 0.9.4 +certifi 2025.1.31 +charset-normalizer 3.4.1 +chex 0.1.89 +click 8.1.8 +cloudpickle 3.0.0 +colored 2.2.4 +contextlib2 21.6.0 +contourpy 1.3.1 +cycler 0.12.1 +decorator 4.4.2 +distrax 0.1.5 +dm_control 1.0.20 +dm-env 1.6 +dm-sonnet 2.0.2 +dm-tree 0.1.9 +docker-pycreds 0.4.0 +embodied 0.0.0 /home/skr/humanoid-bench/dreamerv3 +etils 1.12.2 +executing 2.2.0 +Farama-Notifications 0.0.4 +filelock 3.18.0 +Flask 3.1.0 +flask-cors 5.0.1 +flatbuffers 25.2.10 +flax 0.8.5 +fonttools 4.56.0 +fsspec 2025.3.0 +gast 0.6.0 +gitdb 4.0.12 +GitPython 3.1.44 +glfw 2.8.0 +google-pasta 0.2.0 +grpcio 1.71.0 +gym 0.26.2 +gym-notices 0.0.8 +gymnasium 0.29.1 +gymnax 0.0.8 +h5py 3.13.0 +humanize 4.12.2 +humanoid_bench 0.2 /home/skr/humanoid-bench +hydra-core 1.3.2 +hydra-submitit-launcher 1.2.0 +idna 3.10 +imageio 2.34.2 +imageio-ffmpeg 0.6.0 +importlib_resources 6.5.2 +ipdb 0.13.13 +ipython 9.0.2 +ipython_pygments_lexers 1.1.1 +itsdangerous 2.2.0 +jax 0.5.3 +jax-cuda12-pjrt 0.5.3 +jax-cuda12-plugin 0.5.3 +jaxlib 0.5.3 +jaxopt 0.8.3 +jaxrl_m 0.1.0 /home/skr/humanoid-bench/jaxrl_m +jedi 0.19.2 +Jinja2 3.1.6 +keras 3.9.1 +kiwisolver 1.4.8 +labmaze 1.0.6 +libclang 18.1.1 +lxml 5.3.1 +Markdown 3.7 +markdown-it-py 3.0.0 +MarkupSafe 3.0.2 +matplotlib 3.9.0 +matplotlib-inline 0.1.7 +mdurl 0.1.2 +ml_collections 0.1.1 +ml_dtypes 0.5.1 +moviepy 1.0.3 +mpmath 1.3.0 +msgpack 1.0.8 +mujoco 3.1.6 +mujoco-mjx 3.1.6 +multiagent 0.0.1 +namex 0.0.8 +natsort 8.4.0 +nest-asyncio 1.6.0 +networkx 3.4.2 +numpy 1.26.4 +nvidia-cublas-cu12 12.1.3.1 +nvidia-cuda-cupti-cu12 12.1.105 +nvidia-cuda-nvcc-cu12 12.8.93 +nvidia-cuda-nvrtc-cu12 12.1.105 +nvidia-cuda-runtime-cu12 12.1.105 +nvidia-cudnn-cu12 8.9.2.26 +nvidia-cufft-cu12 11.0.2.54 +nvidia-curand-cu12 10.3.2.106 +nvidia-cusolver-cu12 11.4.5.107 +nvidia-cusparse-cu12 12.1.0.106 +nvidia-nccl-cu12 2.20.5 +nvidia-nvjitlink-cu12 12.8.93 +nvidia-nvtx-cu12 12.1.105 +omegaconf 2.3.0 +opencv-python 4.10.0.84 +opt_einsum 3.4.0 +optax 0.2.2 +optree 0.14.1 +orbax-checkpoint 0.11.5 +packaging 24.2 +pandas 2.2.2 +parso 0.8.4 +pexpect 4.9.0 +pillow 11.1.0 +pip 25.0 +platformdirs 4.3.7 +plotly 5.22.0 +proglog 0.1.10 +prompt_toolkit 3.0.50 +protobuf 4.25.6 +psutil 7.0.0 +ptyprocess 0.7.0 +pure_eval 0.2.3 +Pygments 2.19.1 +PyOpenGL 3.1.9 +pyparsing 3.2.3 +pyquaternion 0.9.9 +python-dateutil 2.9.0.post0 +pytinyrenderer 0.0.14 +pytz 2025.2 +PyYAML 6.0.2 +pyzmq 26.0.3 +requests 2.32.3 +rich 13.7.1 +ruamel.yaml 0.18.6 +ruamel.yaml.clib 0.2.12 +scipy 1.15.2 +seaborn 0.13.2 +sentry-sdk 2.24.1 +setproctitle 1.3.5 +setuptools 75.8.0 +simplejson 3.20.1 +six 1.17.0 +smmap 5.0.2 +stack-data 0.6.3 +submitit 1.5.2 +sympy 1.13.3 +tabulate 0.9.0 +tdmpc2 0.0 /home/skr/humanoid-bench/tdmpc2 +tenacity 9.0.0 +tensorboard 2.16.2 +tensorboard-data-server 0.7.2 +tensorboardX 2.6.2.2 +tensordict 0.4.0 +tensorflow 2.16.2 +tensorflow-io-gcs-filesystem 0.37.1 +tensorflow-probability 0.24.0 +tensorstore 0.1.73 +termcolor 2.4.0 +tf_keras 2.16.0 +toolz 1.0.0 +torch 2.3.1+cu121 +torchaudio 2.3.1+cu121 +torchrl 0.4.0 +torchvision 0.18.1+cu121 +tqdm 4.66.4 +traitlets 5.14.3 +treescope 0.1.9 +trimesh 4.6.6 +triton 2.3.1 +typing_extensions 4.13.0 +tzdata 2025.2 +urllib3 2.3.0 +wandb 0.17.3 +wcwidth 0.2.13 +Werkzeug 3.1.3 +wheel 0.45.1 +wrapt 1.17.2 +zipp 3.21.0 diff --git a/requirements_jaxrl.txt b/requirements_jaxrl.txt index fc649525..b43a9de3 100644 --- a/requirements_jaxrl.txt +++ b/requirements_jaxrl.txt @@ -2,4 +2,7 @@ ml_collections==0.1.1 flax==0.8.5 distrax==0.1.5 -tf_keras==2.16.0 \ No newline at end of file +tf_keras==2.16.0 + + +#pip uninstall -y jax jaxlib jaxopt jaxrl_m jax-cuda12-plugin jax-cuda12-pjrt diff --git a/requirements_tdmpc.txt b/requirements_tdmpc.txt index 6ac36e1d..c4054890 100644 --- a/requirements_tdmpc.txt +++ b/requirements_tdmpc.txt @@ -1,11 +1,15 @@ --editable tdmpc2 torch==2.3.1 -torchaudio==2.3.1 -torchrl==0.4.0 torchvision==0.18.1 +torchaudio==2.3.1 +--extra-index-url https://download.pytorch.org/whl/cu121 + hydra-core==1.3.2 hydra-submitit-launcher==1.2.0 pyquaternion==0.9.9 tensordict==0.4.0 pandas==2.2.2 termcolor==2.4.0 +jax[cuda12]==0.4.28 +torchrl==0.4.0 +