From f1fe68c76fc47fdd3560c55b96e8af89a5560420 Mon Sep 17 00:00:00 2001 From: luzhisheng Date: Tue, 18 Mar 2025 23:41:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=B8=80=E4=BA=9B=E8=90=BD?= =?UTF-8?q?=E5=90=8E=E7=9A=84=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yolo_databases/VOC2012/JPEGImages/16.png | Bin 0 -> 6402 bytes .../yolo_databases/VOC2012/JPEGImages/17.png | Bin 0 -> 6788 bytes .../yolo_databases/VOC2012/JPEGImages/18.png | Bin 0 -> 9362 bytes .../yolo_databases/VOC2012/JPEGImages/19.png | Bin 0 -> 9271 bytes .../yolo_databases/VOC2012/JPEGImages/29.png | Bin 0 -> 6843 bytes .../yolo_databases/VOC2012/JPEGImages/55.png | Bin 0 -> 9337 bytes .../yolo_databases/VOC2012/JPEGImages/56.png | Bin 0 -> 10590 bytes .../yolo_databases/VOC2012/JPEGImages/7.png | Bin 0 -> 6734 bytes .../yolo_databases/VOC2012/JPEGImages/8.png | Bin 0 -> 11263 bytes .../yolo_databases/VOC2012/JPEGImages/80.png | Bin 0 -> 6908 bytes .../yolo_databases/VOC2012/JPEGImages/81.png | Bin 0 -> 5321 bytes .../yolo_databases/VOC2012/JPEGImages/84.png | Bin 0 -> 6167 bytes .../yolo_databases/VOC2012/JPEGImages/90.png | Bin 0 -> 5297 bytes .../yolo_databases/VOC2012/JPEGImages/91.png | Bin 0 -> 6390 bytes .../yolo_databases/VOC2012/JPEGImages/92.png | Bin 0 -> 11346 bytes .../yolo_databases/VOC2012/JPEGImages/93.png | Bin 0 -> 11063 bytes .../yolo_databases/VOC2012/JPEGImages/94.png | Bin 0 -> 6189 bytes .../yolo_databases/VOC2012/JPEGImages/95.png | Bin 0 -> 6270 bytes .../yolo_databases/VOC2012/JPEGImages/98.png | Bin 0 -> 10918 bytes .../yolo_databases/VOC2012/images/train/10.png | Bin 0 -> 5374 bytes .../yolo_databases/VOC2012/images/train/11.png | Bin 0 -> 10946 bytes .../yolo_databases/VOC2012/images/train/12.png | Bin 0 -> 11046 bytes .../yolo_databases/VOC2012/images/train/13.png | Bin 0 -> 10901 bytes .../yolo_databases/VOC2012/images/train/14.png | Bin 0 -> 11268 bytes .../yolo_databases/VOC2012/images/train/15.png | Bin 0 -> 6339 bytes .../yolo_databases/VOC2012/images/train/22.png | Bin 0 -> 6822 bytes .../yolo_databases/VOC2012/images/train/23.png | Bin 0 -> 6753 bytes .../yolo_databases/VOC2012/images/train/24.png | Bin 0 -> 6158 bytes .../yolo_databases/VOC2012/images/train/25.png | Bin 0 -> 6587 bytes .../yolo_databases/VOC2012/images/train/26.png | Bin 0 -> 10691 bytes .../yolo_databases/VOC2012/images/train/27.png | Bin 0 -> 6853 bytes .../yolo_databases/VOC2012/images/train/28.png | Bin 0 -> 8625 bytes .../yolo_databases/VOC2012/images/train/36.png | Bin 0 -> 6196 bytes .../yolo_databases/VOC2012/images/train/37.png | Bin 0 -> 6312 bytes .../yolo_databases/VOC2012/images/train/38.png | Bin 0 -> 9292 bytes .../yolo_databases/VOC2012/images/train/39.png | Bin 0 -> 8650 bytes .../yolo_databases/VOC2012/images/train/49.png | Bin 0 -> 7265 bytes .../yolo_databases/VOC2012/images/train/6.png | Bin 0 -> 10508 bytes .../yolov5/utils/loggers/clearml/README.md | 237 ++++++++ .../yolov5/utils/loggers/clearml/__init__.py | 0 .../yolov5/utils/loggers/clearml/clearml_utils.py | 164 ++++++ .../yolov5/utils/loggers/clearml/hpo.py | 84 +++ .../yolov5/utils/loggers/comet/README.md | 258 +++++++++ .../yolov5/utils/loggers/comet/__init__.py | 508 ++++++++++++++++++ .../yolov5/utils/loggers/comet/comet_utils.py | 150 ++++++ .../yolov5/utils/loggers/comet/hpo.py | 118 ++++ .../yolov5/utils/loggers/wandb/__init__.py | 0 .../yolov5/utils/loggers/wandb/wandb_utils.py | 193 +++++++ 淘宝js逆向学习/APP逆向/__init__.py | 0 淘宝js逆向学习/APP逆向/frida_test.py | 30 ++ 50 files changed, 1742 insertions(+) create mode 100644 机器学习/yolo_databases/VOC2012/JPEGImages/16.png create mode 100644 机器学习/yolo_databases/VOC2012/JPEGImages/17.png create mode 100644 机器学习/yolo_databases/VOC2012/JPEGImages/18.png create mode 100644 机器学习/yolo_databases/VOC2012/JPEGImages/19.png create mode 100644 机器学习/yolo_databases/VOC2012/JPEGImages/29.png create mode 100644 机器学习/yolo_databases/VOC2012/JPEGImages/55.png create mode 100644 机器学习/yolo_databases/VOC2012/JPEGImages/56.png create mode 100644 机器学习/yolo_databases/VOC2012/JPEGImages/7.png create mode 100644 机器学习/yolo_databases/VOC2012/JPEGImages/8.png create mode 100644 机器学习/yolo_databases/VOC2012/JPEGImages/80.png create mode 100644 机器学习/yolo_databases/VOC2012/JPEGImages/81.png create mode 100644 机器学习/yolo_databases/VOC2012/JPEGImages/84.png create mode 100644 机器学习/yolo_databases/VOC2012/JPEGImages/90.png create mode 100644 机器学习/yolo_databases/VOC2012/JPEGImages/91.png create mode 100644 机器学习/yolo_databases/VOC2012/JPEGImages/92.png create mode 100644 机器学习/yolo_databases/VOC2012/JPEGImages/93.png create mode 100644 机器学习/yolo_databases/VOC2012/JPEGImages/94.png create mode 100644 机器学习/yolo_databases/VOC2012/JPEGImages/95.png create mode 100644 机器学习/yolo_databases/VOC2012/JPEGImages/98.png create mode 100644 机器学习/yolo_databases/VOC2012/images/train/10.png create mode 100644 机器学习/yolo_databases/VOC2012/images/train/11.png create mode 100644 机器学习/yolo_databases/VOC2012/images/train/12.png create mode 100644 机器学习/yolo_databases/VOC2012/images/train/13.png create mode 100644 机器学习/yolo_databases/VOC2012/images/train/14.png create mode 100644 机器学习/yolo_databases/VOC2012/images/train/15.png create mode 100644 机器学习/yolo_databases/VOC2012/images/train/22.png create mode 100644 机器学习/yolo_databases/VOC2012/images/train/23.png create mode 100644 机器学习/yolo_databases/VOC2012/images/train/24.png create mode 100644 机器学习/yolo_databases/VOC2012/images/train/25.png create mode 100644 机器学习/yolo_databases/VOC2012/images/train/26.png create mode 100644 机器学习/yolo_databases/VOC2012/images/train/27.png create mode 100644 机器学习/yolo_databases/VOC2012/images/train/28.png create mode 100644 机器学习/yolo_databases/VOC2012/images/train/36.png create mode 100644 机器学习/yolo_databases/VOC2012/images/train/37.png create mode 100644 机器学习/yolo_databases/VOC2012/images/train/38.png create mode 100644 机器学习/yolo_databases/VOC2012/images/train/39.png create mode 100644 机器学习/yolo_databases/VOC2012/images/train/49.png create mode 100644 机器学习/yolo_databases/VOC2012/images/train/6.png create mode 100644 机器学习/yolo_databases/yolov5/utils/loggers/clearml/README.md create mode 100644 机器学习/yolo_databases/yolov5/utils/loggers/clearml/__init__.py create mode 100644 机器学习/yolo_databases/yolov5/utils/loggers/clearml/clearml_utils.py create mode 100644 机器学习/yolo_databases/yolov5/utils/loggers/clearml/hpo.py create mode 100644 机器学习/yolo_databases/yolov5/utils/loggers/comet/README.md create mode 100644 机器学习/yolo_databases/yolov5/utils/loggers/comet/__init__.py create mode 100644 机器学习/yolo_databases/yolov5/utils/loggers/comet/comet_utils.py create mode 100644 机器学习/yolo_databases/yolov5/utils/loggers/comet/hpo.py create mode 100644 机器学习/yolo_databases/yolov5/utils/loggers/wandb/__init__.py create mode 100644 机器学习/yolo_databases/yolov5/utils/loggers/wandb/wandb_utils.py create mode 100644 淘宝js逆向学习/APP逆向/__init__.py create mode 100644 淘宝js逆向学习/APP逆向/frida_test.py diff --git a/机器学习/yolo_databases/VOC2012/JPEGImages/16.png b/机器学习/yolo_databases/VOC2012/JPEGImages/16.png new file mode 100644 index 0000000000000000000000000000000000000000..522fd4f5b1eba6a99054b967cb1b347d378165de GIT binary patch literal 6402 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 a28t_&f3>h;p?0)y@>wrN=1uC^%zpq&TOAJo literal 0 HcmV?d00001 diff --git a/机器学习/yolo_databases/VOC2012/JPEGImages/17.png b/机器学习/yolo_databases/VOC2012/JPEGImages/17.png new file mode 100644 index 0000000000000000000000000000000000000000..d7c850f1a7f12bebdcab5a6e21e5a9b312c51cd7 GIT binary patch literal 6788 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 literal 0 HcmV?d00001 diff --git a/机器学习/yolo_databases/VOC2012/JPEGImages/19.png b/机器学习/yolo_databases/VOC2012/JPEGImages/19.png new file mode 100644 index 0000000000000000000000000000000000000000..b32e012817fba9cba63e77e85e8fec3415e93a11 GIT binary patch literal 9271 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 literal 0 HcmV?d00001 diff --git a/机器学习/yolo_databases/VOC2012/JPEGImages/29.png b/机器学习/yolo_databases/VOC2012/JPEGImages/29.png new file mode 100644 index 0000000000000000000000000000000000000000..8aa51249d013399763fb4e91a1c851022cc49a07 GIT binary patch literal 6843 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 literal 0 HcmV?d00001 diff --git a/机器学习/yolo_databases/VOC2012/JPEGImages/7.png b/机器学习/yolo_databases/VOC2012/JPEGImages/7.png new file mode 100644 index 0000000000000000000000000000000000000000..8f768afc4ab89c4076701b1da420545e0503fb73 GIT binary patch literal 6734 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�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 P1av93u0lEYH2*&U$4qyw literal 0 HcmV?d00001 diff --git a/机器学习/yolo_databases/VOC2012/JPEGImages/80.png b/机器学习/yolo_databases/VOC2012/JPEGImages/80.png new file mode 100644 index 0000000000000000000000000000000000000000..5c5c291602f5de3d1da321564a6d0e2bc8c0932d GIT binary patch literal 6908 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 S)87>soGfb;xzX@)_J08KQ~+QA literal 0 HcmV?d00001 diff --git a/机器学习/yolo_databases/VOC2012/JPEGImages/81.png b/机器学习/yolo_databases/VOC2012/JPEGImages/81.png new file mode 100644 index 0000000000000000000000000000000000000000..baf7874f1fa0a9aa6471cb590c6b39a64f3ef63a GIT binary patch literal 5321 zcmbW&cTf{dn*i{H(5pa#fD|DJp-Kx?q)8P7k`PD`UaIsCq7jrL2$3RHh#;LLKoBGm zr6@=TQ6TiDRHZ0IiYTv~@Auu@&D>vi_w4NMAN$NR`noE#jSLVWx@U{PUlF;QU=k@HeYGUp`~pdunL zO<4tH6?JuWaT#qrE!9g(YU-;06aliav2k*63UYA?s!E7RsQ#bhv>m|93djR0fPj(! z23{bD7kJtQ5dX7JCg8sU@Sg!>05LK#v#_$UbNor5odGZaK_CW35EBz4ozJ2w`|P_SxTW+^MwsG$Rb7}=3ha}SGWV;49pC?tGAS_UR7rw-T9)Y8^5 zzG7l(W^Q4LMA@Sq95GlAPp=!^KE8h85s^2eZr#Qu+)qq;keq_g%FfBndz@cDC@Zh1 ztRj-g)z2HLv=>b;Up2q&?CS36?du;HrH_qIOioSDEG{jttge0jvc9pq_kI81@aV_! z&wpG%0O;SWKjXh)|HH-m$Hl)|VfP=}zhwVASp5G>_Fu67cFh1dLBKzU2jT_j170q#!XJ`J zvrfTB{%4WDa#tzu%Q=_fL4$vLq2bBJAnFET?#`nw?dqA7?@EEC8*EY;Z);6)C~19tG-HHGccd!!JuIRLb6`hk&pGL7 zwhjT^n);#zF*6-ef)^ROCbIQ+z$;wt_k$IvgGEMONeil7Pi-o30vS8IiY33Ul}mQz ze;6A3n<=vSZbsD)%YK72=~k$oj&ONoxZeJ2§MVVyBu7;$F;N2JAeq4D@MfaZ2 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 AVE_OC literal 0 HcmV?d00001 diff --git a/机器学习/yolo_databases/VOC2012/JPEGImages/90.png b/机器学习/yolo_databases/VOC2012/JPEGImages/90.png new file mode 100644 index 0000000000000000000000000000000000000000..e831a944714fe65120d3321ed58976184135163a GIT binary patch literal 5297 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 ag1*Vy^*$GaILS=Nn%i1z-Z#Yko&66+%%4jD literal 0 HcmV?d00001 diff --git a/机器学习/yolo_databases/VOC2012/JPEGImages/95.png b/机器学习/yolo_databases/VOC2012/JPEGImages/95.png new file mode 100644 index 0000000000000000000000000000000000000000..b51835f4ccdb3bb840735ea00b242080b6798fdb GIT binary patch literal 6270 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 literal 0 HcmV?d00001 diff --git a/机器学习/yolo_databases/VOC2012/JPEGImages/98.png b/机器学习/yolo_databases/VOC2012/JPEGImages/98.png new file mode 100644 index 0000000000000000000000000000000000000000..1f5dc3d392210a9fdf348100869ce8da24c1f563 GIT binary patch literal 10918 zcmbW5bx<5p*XD=d76Ji+3=A+hfdtnFTcPdr#f!U*GPho^zgOpH~5IWTl`|03;*;0O{obJTCww02pX!=xC@I z=;-K}m>5_%gt$1^*f^vFZ}A8z$Uu}7WI!MlEgJ(B&3iBq$jHm|{v$gV7Z-?uAHv5W z#Ky_R@t;MIFflQ4uyIImaY;C+fz%xT&+*&=z{db2A-zXNq5-_ZM?%I&dhP;%UY-*b z>AwQ-KLhC%G72ghItC^d_De$j8^9|hWaL*U$f&3&C@exS8P9ui^Of2GeB&1|?^bCwl%v{_&ynOru5}zccq-CJ8YU&!F zHMO*Lj7?0<%q=Xf9G#q9T;1F~0)v9Thx`Z)i;GW4OiE5kP0P*8FDNW3F8NhcTUXxz zZ)|G*^S7(J2hrQtKRz)zH9a#sH@~*NvAMOqv%9x{dUk$sd3Akrd-oqMBmnY%W4&De z8|?q!!hhj3`7vi|qdnEa3l(?0fq<{{$)L;!zEuZThOZxn!zM5!1s z()$V##Di57%NNDkn2zMD*9PmvT~%2d3;QffU2;ie5G9_p)<|4-f@gq2yke^=o!)}QtXym*kjjmP8nOvBS5SGOowY#zts5w2%s>+8cO)FcV ztvC}AI5HY_xiLGkYWnbo@lzC&FH7S*764#bfuhcd?7z>f5B!r|Fdy3kYR0zjn)5ktp z+|Q};2plqGQv8;B9H|=NBsClep5HHAR!U4E1h2qvuS?0UQm$%oWoMX?(d==np z6N+}8tj^nhVsXvl`L4kNrd|z%z6hX`>{b;(*y7uZ?>drfc$7e=%?$*X+0w=U#&Hq=^f12P{7@ z;!)-a1>TT#Ml1df)RE&;PA`DfB3I^lGhg}J-?>yxCu6Dk_Wr#u6YwG0P4i9*&2MHd z=*Q?>=p|*SEO5HlHl$;=HTYo6CaKM2Ge((Vq&i~%hbc$ubxR{jk5c0?UYorz%hc9n zJtyU~oSR!Dd4TV{h)&zOt$tKJ?3?Y!vs6`HmVJJqN8gzI>G!X53MG9Bo^Ia|Bi|&q zZ>a@YWttulM;lHn+IvMCI)RCE@&+s!hsQNSs&_4$c>@cZCuw<8b@{%K0!h6?eqM5e zf}Iv-;uOTWyK9(m@E+BK%6|gBQIZ(8Zm+MJXayBO9T`R#N!(>_^F@{@1LqqD+(jCC za)6C*`=2~Kxh*f76urg_))%9V5^SF6zZ!-4Cao*IFImZKfem{zT@z2}3>r0tuEzjm z8#_BUHFMMW%fzIZX7dOE<4kpT67pzcVR|Z}xVg!MMk%;?goi3&qP&DDMXE-A1QDv^ zMt*Mz$C)maY2-g&1taJC+SEHztJSQp05__?eEBk5RjvC(r18#i=qfRyCzV|o5aaDQ zsY%ay!nNXHTkr)zpsOCq|UP8{$J-UBz*KZa4i`|4LiW98-&07A;eQtXV`P4$` zEAR}kBrWpt&KorAy}P(mucBF;M~QI|R@=uYp#;_LbE1+&N!#E_#COY5GxkV=nC_Pm z({+tyJX4CDvYpvv-u?ZmEkjLD0Z~pYj{$CkB>I0~EQfUcY_x+n^BZ zsZ_LT4F~!4&7qxu3^3Gup)IwJ?R{JATYwpF|f|6ynljr&8{#>#wtu2@9L>4@+u7e(nuu zG(WZ8g(n>;im+b^n1C$PF4rRSo$%4X8IG~ffSEG#N`khuCCk&3Mf$V9S*0ZVj{DM} zU<>HFmaR=e;MP0wFHEAF$fFGqR0n~nplQwAqjWEa?9>`1$oa!=0lIeMimv687{7zH zE%KM~-~9uw0D98bHP+BvrLT((7*X_gg#~+fr(Jagst8@MF(Sg@C-oCPb#_DWk^}qFf|46x1 z3x;E%&#ctzlR53Hrhi-hG?|gdmtSXE^6Jk%A&Z)vOoPzQmZ^RbtY<7s><(WK6kh)fIAR&I1#}S~+IM}ebrq2< z9&TV|)(_gi;?1@{^}g)M;d)0()8~Jd;3E9A`B^c9XtBBOi*axPYykD?#A^mxIFBf^ zc!h>?sp213CZMTlS~TnCs9@U|#YJ9__;e0Zdm^f1hXtccB9>=|)%AWk7Ug7BTawWQ zH6MH`7s@2LWB{UGFtoY19WBDIYnJ34Y0I>p0l`im4TPJod1__kLF}P2_kIm-k0Q(k z1#Y^^lgG=fS@J48bM&wd;lRo18zyG2;nKQfpC0Fl!~`C8_8w1jLQV7Xy*uH!r1?*P z`Yr^gJmNhX-$)T3A7vt9;B6;MH`U*qPNF5L=2A~^meV3HxSRgvzb9%+8C1nr>ZT^_ zFk|c%h)_nhC{k5^WfV`i&xn-rUjhJlnGhs2@}un*ro-j>+6%r78J2RnpM=Q)J5m-u zQovM==X1`61#J2?!v(JDSzNEmOPi8S`(1>*Pl_%|Sj*xVH>=}QO!|IM{&WQ?yBE4S zY}wfaIgF5G5oquNO+EbPj%Lsbp{!sz30F^o9=cfn*Vr_X9j`e&BYZT@ruOn@QUF~E5RYy=hRk-amVRMNjw1W}sl66J@i^)BudAzS!)}lL^VshUtB zNYA$%{M#GPiu>vr5EQ^q&@ah^{HEysDC$L`XZDs-yc8t8uiP+w7|f(qRBF%U3vK zh8-_7>u!Fzqj2f))6hfmgHPS(;v!zIvJ`QlYL&LZfk(S}ZeuBpMCc0;mrA(k%(I71o5S&Gx-2 z*<$wJcb`4f=YuEzb(3XCH7$;3Y(zMfiL*=v%S>v9Hz61sk2zoL!BPIaRTnRzQD#GA zVG8bxuq-H$D*!kNjj|geRR2pxJXP2Iz}+N8V_~kyA4JpMMa~>^0w2ebJ;N5*Kk9eE zCWJ5jbJ3EhNO-odg|L<*IH<*;=nwc z2r${MHNo|7fGo~&!u!7Sz(?y0NuxklgUjmt{j=F@x~on;x=@4w|q>cAx|O7w|N|Q`4@D(d2v<7U-99jyn>daN{z`qN5zkGWd@l7 zSBIyEH&8XmD?%($`d?PaKW<)qbVIH`&V0u?t!A;Cf~n~z=0$rt0$h03?;F%UFwc@q2zjhx(%_%64Q~C&L0?63?1a^ z8phai8?iod3P`ED`1n1t&+KW>mo+@mG`i))1i^cu?^;0Xlq5W=j15srYaWJp}uBxjHbP<1VD*XBC3fG;d866Vpd9P!n{<*#e`6DPYTw6rD1W#VWbf6J{~EjxUnZ5!k=u=iT%S;Hwx>X!s$h zk0L=o>R)|sT&Y8oN4%j55fRRzpKsOHl@1WhrrC-m&C~DKb`S%TqSvdRey*4|?GEo5 zXe3^2>I6qm@D+|!O6FVfCY8K)Lt|fHh`&LOR|*%co8snfZ^7f4y7d=f$(jRA6cA48 z*2~S(c^U{N#LGu_o$4yMX!U+^Z2ku16BPE7|_gyxhqG(-v|eR+=*;W#3qG#vV^ z%t=8bSA(dsYDzIHtHt=!U7IM>P8G6|;p=E0&G zl?yj`Ukk^V+X{|h)D&T&-~~EE4#b2+3f(-V8#6=F`69N>ZCkI9N6k-5aoMuh4t9-{ z!J!+p4266TLn@P8M-pAlKcHqZT)Q1#e>pf_9DCnkO=m0^^!1N%Ca8K{wS08ucgA}& zs{kv9rmJn_)OfnanU(Sc%Fenf8K<#`ug9)(5|y~9M-IYKGRLhGgzqpT+RYed z9$3qgzTzP_#MsJ!z^5Vk zQz`UZvh)WOHEsF>kMK7FMB1J_HA=P0%eJD}$fkGS62K?6fmbJb>vMyXJS@9 z&}LynXCL+s(go5?N>7DvzlBT zi+{k`*2WbbWDb1_e_b!Yv}A-tOdYwqxBdvl^|v6`ngbm~4?WbcG)MPNr}5yg zDJ|RmJ=@NQPyUo6)bAJ^RHygIaJ<#f_7VY(L0y{eZQ|TpLRX&wwTJBLn_H!xm{Nb( zg3<~O;deoi4CFMCQd444zjxAVOCJDSI6ATwT5!`EuAGuG z5J#XhG@ab2Ic#elVrmr??YWD5pEEe!v5z5qWlphE)dc`sg!z;%|n z$*pwjufYtc)=om#%2n|St=8IEJc**LTMeQN@abP+bJG{SW%3T#?L69Z89maBkYRWJ zvJA}@Su1;0p*cj70`7}%F^VTD0mH=p(+~le{kNRF8LBhN4r3SXy&8+QiYH9@DV;TU z5N%P&4JQD1DSHB)%Tt`Sk(sniKU8a4?DLIKrqX6yQC^Zu<|!1_ok^nR2gdB`MzymE z#vh1Fq)t0)Yb$cXBRrfdGm1hJxXkkeEYqf&AFI^m3h_@n4WqZMok{hPOK{3KFgD3H zDxLOhf4G4OSXNPd)h3^^%PlQj%dn)%B&!8cY^TT<7P$Auy7ViGw==n|^Kx=C!`StE zP{Rd#>SHm?lre87iqVS^;*dyNU8}dWD!oQ>>E7LRCbv2o7dEGp&j2L}y<=uAhNOAX z(~Pg15hkGG69c;suYP%6T==F=Nf2xt4;XtWz$b2jRuNbd#$^<==iZC(Z71W_M-<72Eg$y)`o2w&TVq%2G1i>V8W|>S( z_NA8z$j9xDZ1|mkckrS^&mL=H|2zD^-VvO9m&<3srJ9|PBwBWv;+^3+Rjdrs_emVj zyH%IF$>Nr!$a-tAHMAKHk8;gY0gfV}{8BSK`WqN+V|-c>2(>V;i?uUX!TO{!n&C`UY7VCwbGpz)o39l|3s=1@%{EQd&gV=-bHB=Z@4>GTwja|GR_53?ZnyUgw63ZUty9N>3g26 zL-r?b#j{~+)``dB;MlN3>_6}QCANtpF?ckSjamYDd zE-0A8nS4rAo){!&k&Nf)gz0M5qY^s8cexX`eX2haI@exbLcO|!v}*Y7xMT;w%F z6n1TIcX8~V5^Nc}9-;Q)RLVM{ZIK*RRgJ=fdyM`w!q}*1hD(nN4P%#_t>8q9N6YUf z$z5~omcLZo9>>9s)#;vzQdF6S-7SDODUWdz55T+0?miQ>Von9QNeL7rT-CwQ{ra<3!%> z-KxK_PL9(hr^Tp>h8rhv4}Kxo9*Fcn)4AW*KTT%VOKhh6JKa3>&kAXS($!Z~o$Jf7 zxPxb&0aF^@PH!r4hq|ug_s*r?0GRX}muLIP&POE-GbvTe|YEZhx!@dmtTU)myYR{2cq}2vn{>uIwN5Fecf1A{@oZhK7-f zR!0velO!4_=EY$${PrCoyy1S&HR9kZ{}Dy5Phu=&XE`O*)xwX8&h%EIk|TCDHrn@3 zzNO7^59s5e2%{n`?d3?3$fHLNrejfa3khld`#FnbB+Yiv0Oh6G@cB`e@kiBt1ooU} zluw&gM7&ZFa+BAr#J9w}T|uv%v%NhDjFVV40$(;sz&BNw4?-0y8(d6O)pA`8*px|U zKXF?8k^1NqJ$@cStiu-!BH%t&+(~)(nu#(t|7cNGUkjg9;Bg}k$OQKsBg;(SzLyTZ z5+~iBBv@l`2DRbt3D<2YF&%mJ7K;Ug#9^BEDh&lJN6?0F|Cd@~@}-VYT$K*f!;1Mp zXj@&y>&nz-n=4G3)<%oC&&VXJwg=JY)6KTRn^wX)#13O{tRnLEW}o_j;&V!w zCc(Gl(31=9y!@v6EdF(~ zlU*W$Zz+@AMdBywdf$Dg%an5vcjtA9?ar%*`Rk9j*(IR#~zM_4|V8pF6|TtBZ(sr8G_@{{fbE?$mUeP3Q4M1T@KpAy>z#UAHz zF2J*txXSRCPhH;xJeYZ{xGt0gT6*bg9!v#K*`DRgs{dRdVGqEEML2CY`;_atzPl#z zwDNQW8}PGDg(G07{Zj1Ypm-6n#rx}__tjl`>ETeYy;mQ-N>j+z#KgmP&BkxP=9;#q zdBrJH(w)hFR)da!zXOXU@xcUkq>x^Ipoe;+tYB_J?v-gll01KHlQ#6ADWv!J$*4EG z%7D;2*>IO=t4&VoK2bq)`>i%_Txn{}uDBmdXJz{SQoVeAhB3l^VXi5sd2A0M=ni@p zURlS29yn>~335+~$jp9hIUN{0ksZcKvwZsk@ymHyKU;>Tf|k{v0bX%SP;e3iebiB^ zBaY}teOZ~DyXrHb)NvH(gglCqrtLBWs}Z%W6s4mTK|~?#^|6Z7m{TKQ0bdfERm8I1H?Y-jscq{k)aRBsh=9MJT6G zlt{uOW9K9stUU9R57&;Puo=pFmGtmtx^BoItK45+;_iZaG*2%(lKXzaSAy9EMy(3u ziB8Oaiwy%<+9yn{tpg3gY>V&Uc79Q-j`0!eNpiZnrQzY$DMaB$qFoPNph*W@kAzyZ z#KH=gdS_9Yezfp{)R?~ezp2db!8JOIPd0>7A+9PhidNYVG!rEH<6ETuR8$l)eEg8o z3ch}heMcc~$~-9Ix-uljbn90UFE0N3<|FRgC*l1P(Q<-rBT$yHbu#6v?! zgXk)#>JlW8GAF8YX#8(E3vNX3o=*eWl0(XZ%@>Bqjh{LYkAeDPBB~kqlzq!hPA`&r z!ZB5jVdNGIIs$?7?Xg!Di6ozd##>(@Mm;qk^;4MVl5)mrDqAi>zvSrZRb$)-Nc4a1 zIP8pW6o|2w!J@f3X3(S-0;-3&XRUzGzWuz4|Qa9Ju)9>n@s1*^rf1b z(r&IIO@c;lH3t@wT|9#D3Of4btyU~nH{6wnRs#3N3+g7a2V(8$KFTfzNiHh2Q=sZ6 z^_ZNy1|`&9;?<}7PdcFkCmjZM^xSFXNWTizVDLYPZDh$53@#6vOj}e@$7}H7lEs8q z`>o!+w19w~+iloNzrzmLF*YOfkVB|8Jt;5$SgdXQj!~fLJ_90G|Z9e1DvVFIwhNT={7_}R^jxU$@yD{4X}Oh zi0swv#^QQ4@r%S(*Es|j#{!W9)B^*R@J;*#(<)4+{vbF@s;zI)9NwUUhLe^!vQokE zpNbJjr~Q8N@$W{wkOMgPmdna4AG48jH-5E4booa%eP#bKkEGdV)$^ToQxniaH3?`# zG7{0FhZ92vEm;vKeuzqLa0M`I=vaq?)|aJAMaB)l49WpLdMvANJ=F)hrJv|sFX@yN z>vmyenLv30;X>JeYPe{XW4jh^P=8!=n_1L;+2u$`#(&=GiK3g()N+WWipKiRu@DsqWPmyo={Vu_?9&X>C$(4i&AI zewWjl6VR(?WVV`T#0PeAtC=aHa|>9`C~{DFc}DmO?39Q{Jkds$OqGIy)2^=VM=;e* z82QgKyqXR&fJgi%y?5%fl-j{#o5Ai((=u%&zHa6s+(s4Io;d#F?_ReCyH$#|-ZZG0$fi6%ooyERpbpD1WRX&lTp@@g& z%Wi94Vd}=y`pg6XbBI=J&oe;NkF#Z=>W|G4X}q+kOTw*WA`2JCKBStFeTfx=eVNLs!|yG8Fi$%K z!{Blr3J(60gY}5W8r9@hTSJoOISm|aW0j*88$rOl)E@CoDu;V>tZOS5zs#74%yBa7 zQ9(B4(1k{VHzXfRERNQMifO-SqS8?9OTW^U*T!+`=o1dcQ@wxwO#qYRCWqWM*LW;3 z5}NqH@YG>me73xL?#Yn>PJNOPS8R|F<^IjD77uD}+aY&TU2l7?3VgDukU=++ufFAu zGie!7Gs+9>T676bcER5Ph^qB?)!*JyFff&dvUu?hW$P5=_te2!l@;a1wb1@e)HfG$ ze49K|xrSt0*9;dSA4^JIDD7KWp07Q;u!Z6WkEu1c3jc;$p|MoO^A?f|NV8AdZtiab z73p7Q^f}mlWlI%DdHUWp z0Tj>>hi`O$){`RXPmtld++8}HH~ZNbBolXUf75dkfbW9#o7B(tLKv@fKC7w zxy4fIi_4(v=<{NRAh|L>58UuOEXJ}_i#;waM6yuZyo8QhZrF8|)ugd;UswBb)q>PK zV@2VhKw85*N_-Ek``DXjfD?gl!IzM~E+K+jiT`8{8FO31Qqo$doA$(mg>`3Jh~rJI z2kjpa5w!%~Rvq7|{0F~o+9B4`7|ZCGp!dVu{Y6ga^J+)N!O3$60$;BiB}(@MgF&Ah!{! zC2f{}-{*0u-Pa6#Z~6nn_)GJzF8omsB)y>NAJ_ndqaE^?MQ*{dDswRQw(a{@*(p0o zs}bHT)}m=Wf&xUlhbPql literal 0 HcmV?d00001 diff --git a/机器学习/yolo_databases/VOC2012/images/train/10.png b/机器学习/yolo_databases/VOC2012/images/train/10.png new file mode 100644 index 0000000000000000000000000000000000000000..ebc388848911ccd04a39c62b56ef48062f5578be GIT binary patch literal 5374 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 literal 0 HcmV?d00001 diff --git a/机器学习/yolo_databases/VOC2012/images/train/11.png b/机器学习/yolo_databases/VOC2012/images/train/11.png new file mode 100644 index 0000000000000000000000000000000000000000..dc14d695f7e951e6cb096906e921672f77c300f1 GIT binary patch literal 10946 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 literal 0 HcmV?d00001 diff --git a/机器学习/yolo_databases/VOC2012/images/train/12.png b/机器学习/yolo_databases/VOC2012/images/train/12.png new file mode 100644 index 0000000000000000000000000000000000000000..b534607b784097018332f0e66e3a5c996c5955cd GIT binary patch literal 11046 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 twYFDRm3IC9!G7MI?Pod*lk~HuEp@{{v_lb$b8+ literal 0 HcmV?d00001 diff --git a/机器学习/yolo_databases/VOC2012/images/train/13.png b/机器学习/yolo_databases/VOC2012/images/train/13.png new file mode 100644 index 0000000000000000000000000000000000000000..b010509037d6125383f2a31ecae3a3b9a7881a77 GIT binary patch literal 10901 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 literal 0 HcmV?d00001 diff --git a/机器学习/yolo_databases/VOC2012/images/train/14.png b/机器学习/yolo_databases/VOC2012/images/train/14.png new file mode 100644 index 0000000000000000000000000000000000000000..711f8ce8b344333c3ee7baca6c37e84873f788d6 GIT binary patch literal 11268 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 literal 0 HcmV?d00001 diff --git a/机器学习/yolo_databases/VOC2012/images/train/15.png b/机器学习/yolo_databases/VOC2012/images/train/15.png new file mode 100644 index 0000000000000000000000000000000000000000..2a954f2d3c4911cb21566a299016fbeff018443e GIT binary patch literal 6339 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 D$9ol_ literal 0 HcmV?d00001 diff --git a/机器学习/yolo_databases/VOC2012/images/train/22.png b/机器学习/yolo_databases/VOC2012/images/train/22.png new file mode 100644 index 0000000000000000000000000000000000000000..9bc6dec230355b351d30ea3b36691e41d71e8b3c GIT binary patch literal 6822 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 T)-mvE5_H9NLr=Ko)x`e*kb35; literal 0 HcmV?d00001 diff --git a/机器学习/yolo_databases/VOC2012/images/train/24.png b/机器学习/yolo_databases/VOC2012/images/train/24.png new file mode 100644 index 0000000000000000000000000000000000000000..d4da3f1cad74aacd07e936585a8ca4139a09a449 GIT binary patch literal 6158 zcmbW4cTf|~m%u~s(h{0LKtQVWDjlQ+5J(6m2ucwo2+~A~QIR5qUV?xW0U=-rJycOd zAav;+kzOPMp{SsEe1E^2yP5mz?%vMs%xW|Ku=3cM@vIbM@PrNK+nhwWMO7vV&>)GWCaTFfdvKl`1yrIWyOWA$cXUsOQ=c8 z$SWu-D}%)~wAB^0WR;W^|8YXWz`(%F#LUCO!lNk6FRb`~mcJbUc6vY-g$xzN6#ykW z1rB%T--dod}3F{B_ySkRaDi~HLe@p zFfukVHG{xx;db^8jtF;;yPjV6ypch{4?`Y>hJ{B($Hcyfi$|wtWMZ;jX6NJh2--_VtgAPfSit&&fcxw?Z3hP2N(MV7bP_{6*b*IToja#E-Do}HI1+WEr-4hoofK+6~#z;pg~$u z?MDU?CFnlLEpU{POH_GT?BE}?f06y~z@GoV$o>oLzq#fB%v2N?n@7bC&;^j&8`_Y8 zd86y&?DPoL$!AeDC0^Q+k+h%2b01|X?B(WN)d1e#cqT;NBJcEkMygsXvdX5&R^BgV z&_ka)Zr@Z`TVsx}U6(X~HuqojA#OsH5tB)oMcU<*HTqvJEVIuui?7Sl+?JcmG}e}y zerbYk6X1`o7N+s zzjP*UF-B-tJpO=eS}TNT6(Ru@>t{CgbNCBQn9D?$?LYA?VMrz~NqWG+-~wkSNs`(6 znKjLA*(8k5z#H;*q?4z&Rx9CR*2VA@3IW;A$P3Rl>tIMECL{tH_Y>!0MNl^+Suhqj z3p(E-qbiJAj(}A(!UA$H?H@;xOj3j9visexUw~941d+_wz(_qP`A@~;_u=qS2JIM$ z7cGr;B*Fimx3JU`ZDpsQzy2r#nUSlC3%Bxj6hR+qdv-TJQ*T6T^XMl ze@`SDnrDY77&Q^JoFe#Uxt{do$$V~?y;F<6mQsXGc;N12FnG!rT7ObH2v4-}+4b(6 zo|zh{ui%&#s0g~$BQ?88fHbN!XBF;FeDfxm4Ti|SwEA4V4rS4uYnqxkwZ-|6tT&+X zpIMYoZ4mXbi`1{1S(!AiRq-&_R4;wxsUpQiVgTS*-CSF*a zfF=l4bXRcZ^!#oqNHvQM@J$hd-ibPIcQCZvI&=t{#&FL0%MM-Q=_~4{k}p3u^*Nmt z5B8v*LL2+?6y6ogj2&wndi~~12oD^6l^}oKE2+~feSgj^*H@l_NY#$W6~|;Rd7hO0 zc{xYuQmE~0<=pKUf8Q_FlBVh@Pq;`OIl_HZR!V(@&0zGnBr5x9+D$G@?HcR%u{abi zBkxO(9^nMbgqUW7{sIQ2WcHn1Q+KkfPWA3wI2#@2FLP+bG9f3pHkZiQN-*Nq>bhb# zUJEhxx(OS`58b>3lR%7jt+4@LWWX#o+{fu$P&zd7p>ju+PwT4rK=uk%JwM+e zE8B0={)X!oz8Pa-+>u8DI}ZeqC#{2c|Frw!R8liSe|&~yQ?k!o94V6-)l_DqN_fx4 zjMd}Sji)D?)Z&iA`0IDmKeN?8A<9C|M$P_8^qXJW@-O#KJ`2?GHyuQ1OxG)TVr98F&a*-26G=?SG-(D`{ zDlxrJFdH=mx83fwrD2KUYLNbGaLaqwaE{!UgCu6Dt3_?~l zAI5?8%`uTn^r#98SKInK5<8Y*KTb%8%w}5Ag3T)aJ5Ag*abMOKP4+X;H)TRJ)f1KY zO=KP%xxy-`k9e#2gkT%IbaPcs&O_Ab{lT42ODX-O3n7~9tOWHNC>A$Xj$6#0JU_oB z9zu2F1x9}PQ~wapeGxD-O-?D5h�teJ|}`8x{+^|B&};iH<@v#d&4M0&T@~&F*lV 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 literal 0 HcmV?d00001 diff --git a/机器学习/yolo_databases/VOC2012/images/train/25.png b/机器学习/yolo_databases/VOC2012/images/train/25.png new file mode 100644 index 0000000000000000000000000000000000000000..e06246111c7a8a8d0a5f55aae676ae7c6dd155ce GIT binary patch literal 6587 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 J&FJdee*oQJY!Lte literal 0 HcmV?d00001 diff --git a/机器学习/yolo_databases/VOC2012/images/train/26.png b/机器学习/yolo_databases/VOC2012/images/train/26.png new file mode 100644 index 0000000000000000000000000000000000000000..c9843e1a3028a6e5c05009b3e947996ffb0c7020 GIT binary patch literal 10691 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 literal 0 HcmV?d00001 diff --git a/机器学习/yolo_databases/VOC2012/images/train/36.png b/机器学习/yolo_databases/VOC2012/images/train/36.png new file mode 100644 index 0000000000000000000000000000000000000000..6cfc92af59ec568fb927c4e330114ebe2c335aa9 GIT binary patch literal 6196 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 literal 0 HcmV?d00001 diff --git a/机器学习/yolo_databases/VOC2012/images/train/37.png b/机器学习/yolo_databases/VOC2012/images/train/37.png new file mode 100644 index 0000000000000000000000000000000000000000..6cf3080379f66a699558a40efe65733855fba907 GIT binary patch literal 6312 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 J2q*t8{13^j?qmP} literal 0 HcmV?d00001 diff --git a/机器学习/yolo_databases/VOC2012/images/train/39.png b/机器学习/yolo_databases/VOC2012/images/train/39.png new file mode 100644 index 0000000000000000000000000000000000000000..01b07512f4c2503f36135a5372c56bcf1ea9035b GIT binary patch literal 8650 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 literal 0 HcmV?d00001 diff --git a/机器学习/yolo_databases/VOC2012/images/train/49.png b/机器学习/yolo_databases/VOC2012/images/train/49.png new file mode 100644 index 0000000000000000000000000000000000000000..1a8884a31c3c5e702810f8b7d69a27e10431f1eb GIT binary patch literal 7265 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 SWv@l$Lr~t@b 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 QfmClear|ML + +## About ClearML + +[ClearML](https://cutt.ly/yolov5-tutorial-clearml) is an [open-source](https://github.com/allegroai/clearml) toolbox designed to save you time ⏱️. + +🔨 Track every YOLOv5 training run in the experiment manager + +🔧 Version and easily access your custom training data with the integrated ClearML Data Versioning Tool + +🔦 Remotely train and monitor your YOLOv5 training runs using ClearML Agent + +🔬 Get the very best mAP using ClearML Hyperparameter Optimization + +🔭 Turn your newly trained YOLOv5 model into an API with just a few commands using ClearML Serving + +
+And so much more. It's up to you how many of these tools you want to use, you can stick to the experiment manager, or chain them all together into an impressive pipeline! +
+
+ +![ClearML scalars dashboard](https://github.com/thepycoder/clearml_screenshots/raw/main/experiment_manager_with_compare.gif) + +
+
+ +## 🦾 Setting Things Up + +To keep track of your experiments and/or data, ClearML needs to communicate to a server. You have 2 options to get one: + +Either sign up for free to the [ClearML Hosted Service](https://cutt.ly/yolov5-tutorial-clearml) or you can set up your own server, see [here](https://clear.ml/docs/latest/docs/deploying_clearml/clearml_server). Even the server is open-source, so even if you're dealing with sensitive data, you should be good to go! + +1. Install the `clearml` python package: + + ```bash + pip install clearml + ``` + +1. Connect the ClearML SDK to the server by [creating credentials](https://app.clear.ml/settings/workspace-configuration) (go right top to Settings -> Workspace -> Create new credentials), then execute the command below and follow the instructions: + + ```bash + clearml-init + ``` + +That's it! You're done 😎 + +
+ +## 🚀 Training YOLOv5 With ClearML + +To enable ClearML experiment tracking, simply install the ClearML pip package. + +```bash +pip install clearml>=1.2.0 +``` + +This will enable integration with the YOLOv5 training script. Every training run from now on, will be captured and stored by the ClearML experiment manager. + +If you want to change the `project_name` or `task_name`, use the `--project` and `--name` arguments of the `train.py` script, by default the project will be called `YOLOv5` and the task `Training`. +PLEASE NOTE: ClearML uses `/` as a delimiter for subprojects, so be careful when using `/` in your project name! + +```bash +python train.py --img 640 --batch 16 --epochs 3 --data coco128.yaml --weights yolov5s.pt --cache +``` + +or with custom project and task name: + +```bash +python train.py --project my_project --name my_training --img 640 --batch 16 --epochs 3 --data coco128.yaml --weights yolov5s.pt --cache +``` + +This will capture: + +- Source code + uncommitted changes +- Installed packages +- (Hyper)parameters +- Model files (use `--save-period n` to save a checkpoint every n epochs) +- Console output +- Scalars (mAP_0.5, mAP_0.5:0.95, precision, recall, losses, learning rates, ...) +- General info such as machine details, runtime, creation date etc. +- All produced plots such as label correlogram and confusion matrix +- Images with bounding boxes per epoch +- Mosaic per epoch +- Validation images per epoch +- ... + +That's a lot right? 🤯 +Now, we can visualize all of this information in the ClearML UI to get an overview of our training progress. Add custom columns to the table view (such as e.g. mAP_0.5) so you can easily sort on the best performing model. Or select multiple experiments and directly compare them! + +There even more we can do with all of this information, like hyperparameter optimization and remote execution, so keep reading if you want to see how that works! + +
+ +## 🔗 Dataset Version Management + +Versioning your data separately from your code is generally a good idea and makes it easy to acquire the latest version too. This repository supports supplying a dataset version ID, and it will make sure to get the data if it's not there yet. Next to that, this workflow also saves the used dataset ID as part of the task parameters, so you will always know for sure which data was used in which experiment! + +![ClearML Dataset Interface](https://github.com/thepycoder/clearml_screenshots/raw/main/clearml_data.gif) + +### Prepare Your Dataset + +The YOLOv5 repository supports a number of different datasets by using yaml files containing their information. By default datasets are downloaded to the `../datasets` folder in relation to the repository root folder. So if you downloaded the `coco128` dataset using the link in the yaml or with the scripts provided by yolov5, you get this folder structure: + +``` +.. +|_ yolov5 +|_ datasets + |_ coco128 + |_ images + |_ labels + |_ LICENSE + |_ README.txt +``` + +But this can be any dataset you wish. Feel free to use your own, as long as you keep to this folder structure. + +Next, ⚠️**copy the corresponding yaml file to the root of the dataset folder**⚠️. This yaml files contains the information ClearML will need to properly use the dataset. You can make this yourself too, of course, just follow the structure of the example yamls. + +Basically we need the following keys: `path`, `train`, `test`, `val`, `nc`, `names`. + +``` +.. +|_ yolov5 +|_ datasets + |_ coco128 + |_ images + |_ labels + |_ coco128.yaml # <---- HERE! + |_ LICENSE + |_ README.txt +``` + +### Upload Your Dataset + +To get this dataset into ClearML as a versioned dataset, go to the dataset root folder and run the following command: + +```bash +cd coco128 +clearml-data sync --project YOLOv5 --name coco128 --folder . +``` + +The command `clearml-data sync` is actually a shorthand command. You could also run these commands one after the other: + +```bash +# Optionally add --parent if you want to base +# this version on another dataset version, so no duplicate files are uploaded! +clearml-data create --name coco128 --project YOLOv5 +clearml-data add --files . +clearml-data close +``` + +### Run Training Using A ClearML Dataset + +Now that you have a ClearML dataset, you can very simply use it to train custom YOLOv5 🚀 models! + +```bash +python train.py --img 640 --batch 16 --epochs 3 --data clearml:// --weights yolov5s.pt --cache +``` + +
+ +## 👀 Hyperparameter Optimization + +Now that we have our experiments and data versioned, it's time to take a look at what we can build on top! + +Using the code information, installed packages and environment details, the experiment itself is now **completely reproducible**. In fact, ClearML allows you to clone an experiment and even change its parameters. We can then just rerun it with these new parameters automatically, this is basically what HPO does! + +To **run hyperparameter optimization locally**, we've included a pre-made script for you. Just make sure a training task has been run at least once, so it is in the ClearML experiment manager, we will essentially clone it and change its hyperparameters. + +You'll need to fill in the ID of this `template task` in the script found at `utils/loggers/clearml/hpo.py` and then just run it :) You can change `task.execute_locally()` to `task.execute()` to put it in a ClearML queue and have a remote agent work on it instead. + +```bash +# To use optuna, install it first, otherwise you can change the optimizer to just be RandomSearch +pip install optuna +python utils/loggers/clearml/hpo.py +``` + +![HPO](https://github.com/thepycoder/clearml_screenshots/raw/main/hpo.png) + +## 🤯 Remote Execution (advanced) + +Running HPO locally is really handy, but what if we want to run our experiments on a remote machine instead? Maybe you have access to a very powerful GPU machine on-site, or you have some budget to use cloud GPUs. +This is where the ClearML Agent comes into play. Check out what the agent can do here: + +- [YouTube video](https://youtu.be/MX3BrXnaULs) +- [Documentation](https://clear.ml/docs/latest/docs/clearml_agent) + +In short: every experiment tracked by the experiment manager contains enough information to reproduce it on a different machine (installed packages, uncommitted changes etc.). So a ClearML agent does just that: it listens to a queue for incoming tasks and when it finds one, it recreates the environment and runs it while still reporting scalars, plots etc. to the experiment manager. + +You can turn any machine (a cloud VM, a local GPU machine, your own laptop ... ) into a ClearML agent by simply running: + +```bash +clearml-agent daemon --queue [--docker] +``` + +### Cloning, Editing And Enqueuing + +With our agent running, we can give it some work. Remember from the HPO section that we can clone a task and edit the hyperparameters? We can do that from the interface too! + +🪄 Clone the experiment by right-clicking it + +🎯 Edit the hyperparameters to what you wish them to be + +⏳ Enqueue the task to any of the queues by right-clicking it + +![Enqueue a task from the UI](https://github.com/thepycoder/clearml_screenshots/raw/main/enqueue.gif) + +### Executing A Task Remotely + +Now you can clone a task like we explained above, or simply mark your current script by adding `task.execute_remotely()` and on execution it will be put into a queue, for the agent to start working on! + +To run the YOLOv5 training script remotely, all you have to do is add this line to the training.py script after the clearml logger has been instantiated: + +```python +# ... +# Loggers +data_dict = None +if RANK in {-1, 0}: + loggers = Loggers(save_dir, weights, opt, hyp, LOGGER) # loggers instance + if loggers.clearml: + loggers.clearml.task.execute_remotely(queue="my_queue") # <------ ADD THIS LINE + # Data_dict is either None is user did not choose for ClearML dataset or is filled in by ClearML + data_dict = loggers.clearml.data_dict +# ... +``` + +When running the training script after this change, python will run the script up until that line, after which it will package the code and send it to the queue instead! + +### Autoscaling workers + +ClearML comes with autoscalers too! This tool will automatically spin up new remote machines in the cloud of your choice (AWS, GCP, Azure) and turn them into ClearML agents for you whenever there are experiments detected in the queue. Once the tasks are processed, the autoscaler will automatically shut down the remote machines, and you stop paying! + +Check out the autoscalers getting started video below. + +[![Watch the video](https://img.youtube.com/vi/j4XVMAaUt3E/0.jpg)](https://youtu.be/j4XVMAaUt3E) diff --git a/机器学习/yolo_databases/yolov5/utils/loggers/clearml/__init__.py b/机器学习/yolo_databases/yolov5/utils/loggers/clearml/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/机器学习/yolo_databases/yolov5/utils/loggers/clearml/clearml_utils.py b/机器学习/yolo_databases/yolov5/utils/loggers/clearml/clearml_utils.py new file mode 100644 index 0000000..2764abe --- /dev/null +++ b/机器学习/yolo_databases/yolov5/utils/loggers/clearml/clearml_utils.py @@ -0,0 +1,164 @@ +"""Main Logger class for ClearML experiment tracking.""" +import glob +import re +from pathlib import Path + +import numpy as np +import yaml + +from utils.plots import Annotator, colors + +try: + import clearml + from clearml import Dataset, Task + + assert hasattr(clearml, '__version__') # verify package import not local dir +except (ImportError, AssertionError): + clearml = None + + +def construct_dataset(clearml_info_string): + """Load in a clearml dataset and fill the internal data_dict with its contents. + """ + dataset_id = clearml_info_string.replace('clearml://', '') + dataset = Dataset.get(dataset_id=dataset_id) + dataset_root_path = Path(dataset.get_local_copy()) + + # We'll search for the yaml file definition in the dataset + yaml_filenames = list(glob.glob(str(dataset_root_path / '*.yaml')) + glob.glob(str(dataset_root_path / '*.yml'))) + if len(yaml_filenames) > 1: + raise ValueError('More than one yaml file was found in the dataset root, cannot determine which one contains ' + 'the dataset definition this way.') + elif len(yaml_filenames) == 0: + raise ValueError('No yaml definition found in dataset root path, check that there is a correct yaml file ' + 'inside the dataset root path.') + with open(yaml_filenames[0]) as f: + dataset_definition = yaml.safe_load(f) + + assert set(dataset_definition.keys()).issuperset( + {'train', 'test', 'val', 'nc', 'names'} + ), "The right keys were not found in the yaml file, make sure it at least has the following keys: ('train', 'test', 'val', 'nc', 'names')" + + data_dict = dict() + data_dict['train'] = str( + (dataset_root_path / dataset_definition['train']).resolve()) if dataset_definition['train'] else None + data_dict['test'] = str( + (dataset_root_path / dataset_definition['test']).resolve()) if dataset_definition['test'] else None + data_dict['val'] = str( + (dataset_root_path / dataset_definition['val']).resolve()) if dataset_definition['val'] else None + data_dict['nc'] = dataset_definition['nc'] + data_dict['names'] = dataset_definition['names'] + + return data_dict + + +class ClearmlLogger: + """Log training runs, datasets, models, and predictions to ClearML. + + This logger sends information to ClearML at app.clear.ml or to your own hosted server. By default, + this information includes hyperparameters, system configuration and metrics, model metrics, code information and + basic data metrics and analyses. + + By providing additional command line arguments to train.py, datasets, + models and predictions can also be logged. + """ + + def __init__(self, opt, hyp): + """ + - Initialize ClearML Task, this object will capture the experiment + - Upload dataset version to ClearML Data if opt.upload_dataset is True + + arguments: + opt (namespace) -- Commandline arguments for this run + hyp (dict) -- Hyperparameters for this run + + """ + self.current_epoch = 0 + # Keep tracked of amount of logged images to enforce a limit + self.current_epoch_logged_images = set() + # Maximum number of images to log to clearML per epoch + self.max_imgs_to_log_per_epoch = 16 + # Get the interval of epochs when bounding box images should be logged + self.bbox_interval = opt.bbox_interval + self.clearml = clearml + self.task = None + self.data_dict = None + if self.clearml: + self.task = Task.init( + project_name=opt.project if opt.project != 'runs/train' else 'YOLOv5', + task_name=opt.name if opt.name != 'exp' else 'Training', + tags=['YOLOv5'], + output_uri=True, + reuse_last_task_id=opt.exist_ok, + auto_connect_frameworks={'pytorch': False} + # We disconnect pytorch auto-detection, because we added manual model save points in the code + ) + # ClearML's hooks will already grab all general parameters + # Only the hyperparameters coming from the yaml config file + # will have to be added manually! + self.task.connect(hyp, name='Hyperparameters') + self.task.connect(opt, name='Args') + + # Make sure the code is easily remotely runnable by setting the docker image to use by the remote agent + self.task.set_base_docker('ultralytics/yolov5:latest', + docker_arguments='--ipc=host -e="CLEARML_AGENT_SKIP_PYTHON_ENV_INSTALL=1"', + docker_setup_bash_script='pip install clearml') + + # Get ClearML Dataset Version if requested + if opt.data.startswith('clearml://'): + # data_dict should have the following keys: + # names, nc (number of classes), test, train, val (all three relative paths to ../datasets) + self.data_dict = construct_dataset(opt.data) + # Set data to data_dict because wandb will crash without this information and opt is the best way + # to give it to them + opt.data = self.data_dict + + def log_debug_samples(self, files, title='Debug Samples'): + """ + Log files (images) as debug samples in the ClearML task. + + arguments: + files (List(PosixPath)) a list of file paths in PosixPath format + title (str) A title that groups together images with the same values + """ + for f in files: + if f.exists(): + it = re.search(r'_batch(\d+)', f.name) + iteration = int(it.groups()[0]) if it else 0 + self.task.get_logger().report_image(title=title, + series=f.name.replace(it.group(), ''), + local_path=str(f), + iteration=iteration) + + def log_image_with_boxes(self, image_path, boxes, class_names, image, conf_threshold=0.25): + """ + Draw the bounding boxes on a single image and report the result as a ClearML debug sample. + + arguments: + image_path (PosixPath) the path the original image file + boxes (list): list of scaled predictions in the format - [xmin, ymin, xmax, ymax, confidence, class] + class_names (dict): dict containing mapping of class int to class name + image (Tensor): A torch tensor containing the actual image data + """ + if len(self.current_epoch_logged_images) < self.max_imgs_to_log_per_epoch and self.current_epoch >= 0: + # Log every bbox_interval times and deduplicate for any intermittend extra eval runs + if self.current_epoch % self.bbox_interval == 0 and image_path not in self.current_epoch_logged_images: + im = np.ascontiguousarray(np.moveaxis(image.mul(255).clamp(0, 255).byte().cpu().numpy(), 0, 2)) + annotator = Annotator(im=im, pil=True) + for i, (conf, class_nr, box) in enumerate(zip(boxes[:, 4], boxes[:, 5], boxes[:, :4])): + color = colors(i) + + class_name = class_names[int(class_nr)] + confidence_percentage = round(float(conf) * 100, 2) + label = f'{class_name}: {confidence_percentage}%' + + if conf > conf_threshold: + annotator.rectangle(box.cpu().numpy(), outline=color) + annotator.box_label(box.cpu().numpy(), label=label, color=color) + + annotated_image = annotator.result() + self.task.get_logger().report_image(title='Bounding Boxes', + series=image_path.name, + iteration=self.current_epoch, + image=annotated_image) + self.current_epoch_logged_images.add(image_path) diff --git a/机器学习/yolo_databases/yolov5/utils/loggers/clearml/hpo.py b/机器学习/yolo_databases/yolov5/utils/loggers/clearml/hpo.py new file mode 100644 index 0000000..ee518b0 --- /dev/null +++ b/机器学习/yolo_databases/yolov5/utils/loggers/clearml/hpo.py @@ -0,0 +1,84 @@ +from clearml import Task +# Connecting ClearML with the current process, +# from here on everything is logged automatically +from clearml.automation import HyperParameterOptimizer, UniformParameterRange +from clearml.automation.optuna import OptimizerOptuna + +task = Task.init(project_name='Hyper-Parameter Optimization', + task_name='YOLOv5', + task_type=Task.TaskTypes.optimizer, + reuse_last_task_id=False) + +# Example use case: +optimizer = HyperParameterOptimizer( + # This is the experiment we want to optimize + base_task_id='', + # here we define the hyper-parameters to optimize + # Notice: The parameter name should exactly match what you see in the UI: / + # For Example, here we see in the base experiment a section Named: "General" + # under it a parameter named "batch_size", this becomes "General/batch_size" + # If you have `argparse` for example, then arguments will appear under the "Args" section, + # and you should instead pass "Args/batch_size" + hyper_parameters=[ + UniformParameterRange('Hyperparameters/lr0', min_value=1e-5, max_value=1e-1), + UniformParameterRange('Hyperparameters/lrf', min_value=0.01, max_value=1.0), + UniformParameterRange('Hyperparameters/momentum', min_value=0.6, max_value=0.98), + UniformParameterRange('Hyperparameters/weight_decay', min_value=0.0, max_value=0.001), + UniformParameterRange('Hyperparameters/warmup_epochs', min_value=0.0, max_value=5.0), + UniformParameterRange('Hyperparameters/warmup_momentum', min_value=0.0, max_value=0.95), + UniformParameterRange('Hyperparameters/warmup_bias_lr', min_value=0.0, max_value=0.2), + UniformParameterRange('Hyperparameters/box', min_value=0.02, max_value=0.2), + UniformParameterRange('Hyperparameters/cls', min_value=0.2, max_value=4.0), + UniformParameterRange('Hyperparameters/cls_pw', min_value=0.5, max_value=2.0), + UniformParameterRange('Hyperparameters/obj', min_value=0.2, max_value=4.0), + UniformParameterRange('Hyperparameters/obj_pw', min_value=0.5, max_value=2.0), + UniformParameterRange('Hyperparameters/iou_t', min_value=0.1, max_value=0.7), + UniformParameterRange('Hyperparameters/anchor_t', min_value=2.0, max_value=8.0), + UniformParameterRange('Hyperparameters/fl_gamma', min_value=0.0, max_value=4.0), + UniformParameterRange('Hyperparameters/hsv_h', min_value=0.0, max_value=0.1), + UniformParameterRange('Hyperparameters/hsv_s', min_value=0.0, max_value=0.9), + UniformParameterRange('Hyperparameters/hsv_v', min_value=0.0, max_value=0.9), + UniformParameterRange('Hyperparameters/degrees', min_value=0.0, max_value=45.0), + UniformParameterRange('Hyperparameters/translate', min_value=0.0, max_value=0.9), + UniformParameterRange('Hyperparameters/scale', min_value=0.0, max_value=0.9), + UniformParameterRange('Hyperparameters/shear', min_value=0.0, max_value=10.0), + UniformParameterRange('Hyperparameters/perspective', min_value=0.0, max_value=0.001), + UniformParameterRange('Hyperparameters/flipud', min_value=0.0, max_value=1.0), + UniformParameterRange('Hyperparameters/fliplr', min_value=0.0, max_value=1.0), + UniformParameterRange('Hyperparameters/mosaic', min_value=0.0, max_value=1.0), + UniformParameterRange('Hyperparameters/mixup', min_value=0.0, max_value=1.0), + UniformParameterRange('Hyperparameters/copy_paste', min_value=0.0, max_value=1.0)], + # this is the objective metric we want to maximize/minimize + objective_metric_title='metrics', + objective_metric_series='mAP_0.5', + # now we decide if we want to maximize it or minimize it (accuracy we maximize) + objective_metric_sign='max', + # let us limit the number of concurrent experiments, + # this in turn will make sure we do dont bombard the scheduler with experiments. + # if we have an auto-scaler connected, this, by proxy, will limit the number of machine + max_number_of_concurrent_tasks=1, + # this is the optimizer class (actually doing the optimization) + # Currently, we can choose from GridSearch, RandomSearch or OptimizerBOHB (Bayesian optimization Hyper-Band) + optimizer_class=OptimizerOptuna, + # If specified only the top K performing Tasks will be kept, the others will be automatically archived + save_top_k_tasks_only=5, # 5, + compute_time_limit=None, + total_max_jobs=20, + min_iteration_per_job=None, + max_iteration_per_job=None, +) + +# report every 10 seconds, this is way too often, but we are testing here +optimizer.set_report_period(10 / 60) +# You can also use the line below instead to run all the optimizer tasks locally, without using queues or agent +# an_optimizer.start_locally(job_complete_callback=job_complete_callback) +# set the time limit for the optimization process (2 hours) +optimizer.set_time_limit(in_minutes=120.0) +# Start the optimization process in the local environment +optimizer.start_locally() +# wait until process is done (notice we are controlling the optimization process in the background) +optimizer.wait() +# make sure background optimization stopped +optimizer.stop() + +print('We are done, good bye') diff --git a/机器学习/yolo_databases/yolov5/utils/loggers/comet/README.md b/机器学习/yolo_databases/yolov5/utils/loggers/comet/README.md new file mode 100644 index 0000000..aee8d16 --- /dev/null +++ b/机器学习/yolo_databases/yolov5/utils/loggers/comet/README.md @@ -0,0 +1,258 @@ + + +# YOLOv5 with Comet + +This guide will cover how to use YOLOv5 with [Comet](https://bit.ly/yolov5-readme-comet2) + +# About Comet + +Comet builds tools that help data scientists, engineers, and team leaders accelerate and optimize machine learning and deep learning models. + +Track and visualize model metrics in real time, save your hyperparameters, datasets, and model checkpoints, and visualize your model predictions with [Comet Custom Panels](https://www.comet.com/docs/v2/guides/comet-dashboard/code-panels/about-panels/?utm_source=yolov5&utm_medium=partner&utm_campaign=partner_yolov5_2022&utm_content=github)! +Comet makes sure you never lose track of your work and makes it easy to share results and collaborate across teams of all sizes! + +# Getting Started + +## Install Comet + +```shell +pip install comet_ml +``` + +## Configure Comet Credentials + +There are two ways to configure Comet with YOLOv5. + +You can either set your credentials through environment variables + +**Environment Variables** + +```shell +export COMET_API_KEY= +export COMET_PROJECT_NAME= # This will default to 'yolov5' +``` + +Or create a `.comet.config` file in your working directory and set your credentials there. + +**Comet Configuration File** + +``` +[comet] +api_key= +project_name= # This will default to 'yolov5' +``` + +## Run the Training Script + +```shell +# Train YOLOv5s on COCO128 for 5 epochs +python train.py --img 640 --batch 16 --epochs 5 --data coco128.yaml --weights yolov5s.pt +``` + +That's it! Comet will automatically log your hyperparameters, command line arguments, training and validation metrics. You can visualize and analyze your runs in the Comet UI + +yolo-ui + +# Try out an Example! + +Check out an example of a [completed run here](https://www.comet.com/examples/comet-example-yolov5/a0e29e0e9b984e4a822db2a62d0cb357?experiment-tab=chart&showOutliers=true&smoothing=0&transformY=smoothing&xAxis=step&utm_source=yolov5&utm_medium=partner&utm_campaign=partner_yolov5_2022&utm_content=github) + +Or better yet, try it out yourself in this Colab Notebook + +[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/1RG0WOQyxlDlo5Km8GogJpIEJlg_5lyYO?usp=sharing) + +# Log automatically + +By default, Comet will log the following items + +## Metrics + +- Box Loss, Object Loss, Classification Loss for the training and validation data +- mAP_0.5, mAP_0.5:0.95 metrics for the validation data. +- Precision and Recall for the validation data + +## Parameters + +- Model Hyperparameters +- All parameters passed through the command line options + +## Visualizations + +- Confusion Matrix of the model predictions on the validation data +- Plots for the PR and F1 curves across all classes +- Correlogram of the Class Labels + +# Configure Comet Logging + +Comet can be configured to log additional data either through command line flags passed to the training script +or through environment variables. + +```shell +export COMET_MODE=online # Set whether to run Comet in 'online' or 'offline' mode. Defaults to online +export COMET_MODEL_NAME= #Set the name for the saved model. Defaults to yolov5 +export COMET_LOG_CONFUSION_MATRIX=false # Set to disable logging a Comet Confusion Matrix. Defaults to true +export COMET_MAX_IMAGE_UPLOADS= # Controls how many total image predictions to log to Comet. Defaults to 100. +export COMET_LOG_PER_CLASS_METRICS=true # Set to log evaluation metrics for each detected class at the end of training. Defaults to false +export COMET_DEFAULT_CHECKPOINT_FILENAME= # Set this if you would like to resume training from a different checkpoint. Defaults to 'last.pt' +export COMET_LOG_BATCH_LEVEL_METRICS=true # Set this if you would like to log training metrics at the batch level. Defaults to false. +export COMET_LOG_PREDICTIONS=true # Set this to false to disable logging model predictions +``` + +## Logging Checkpoints with Comet + +Logging Models to Comet is disabled by default. To enable it, pass the `save-period` argument to the training script. This will save the +logged checkpoints to Comet based on the interval value provided by `save-period` + +```shell +python train.py \ +--img 640 \ +--batch 16 \ +--epochs 5 \ +--data coco128.yaml \ +--weights yolov5s.pt \ +--save-period 1 +``` + +## Logging Model Predictions + +By default, model predictions (images, ground truth labels and bounding boxes) will be logged to Comet. + +You can control the frequency of logged predictions and the associated images by passing the `bbox_interval` command line argument. Predictions can be visualized using Comet's Object Detection Custom Panel. This frequency corresponds to every Nth batch of data per epoch. In the example below, we are logging every 2nd batch of data for each epoch. + +**Note:** The YOLOv5 validation dataloader will default to a batch size of 32, so you will have to set the logging frequency accordingly. + +Here is an [example project using the Panel](https://www.comet.com/examples/comet-example-yolov5?shareable=YcwMiJaZSXfcEXpGOHDD12vA1&utm_source=yolov5&utm_medium=partner&utm_campaign=partner_yolov5_2022&utm_content=github) + +```shell +python train.py \ +--img 640 \ +--batch 16 \ +--epochs 5 \ +--data coco128.yaml \ +--weights yolov5s.pt \ +--bbox_interval 2 +``` + +### Controlling the number of Prediction Images logged to Comet + +When logging predictions from YOLOv5, Comet will log the images associated with each set of predictions. By default a maximum of 100 validation images are logged. You can increase or decrease this number using the `COMET_MAX_IMAGE_UPLOADS` environment variable. + +```shell +env COMET_MAX_IMAGE_UPLOADS=200 python train.py \ +--img 640 \ +--batch 16 \ +--epochs 5 \ +--data coco128.yaml \ +--weights yolov5s.pt \ +--bbox_interval 1 +``` + +### Logging Class Level Metrics + +Use the `COMET_LOG_PER_CLASS_METRICS` environment variable to log mAP, precision, recall, f1 for each class. + +```shell +env COMET_LOG_PER_CLASS_METRICS=true python train.py \ +--img 640 \ +--batch 16 \ +--epochs 5 \ +--data coco128.yaml \ +--weights yolov5s.pt +``` + +## Uploading a Dataset to Comet Artifacts + +If you would like to store your data using [Comet Artifacts](https://www.comet.com/docs/v2/guides/data-management/using-artifacts/#learn-more?utm_source=yolov5&utm_medium=partner&utm_campaign=partner_yolov5_2022&utm_content=github), you can do so using the `upload_dataset` flag. + +The dataset be organized in the way described in the [YOLOv5 documentation](https://docs.ultralytics.com/yolov5/tutorials/train_custom_data/). The dataset config `yaml` file must follow the same format as that of the `coco128.yaml` file. + +```shell +python train.py \ +--img 640 \ +--batch 16 \ +--epochs 5 \ +--data coco128.yaml \ +--weights yolov5s.pt \ +--upload_dataset +``` + +You can find the uploaded dataset in the Artifacts tab in your Comet Workspace +artifact-1 + +You can preview the data directly in the Comet UI. +artifact-2 + +Artifacts are versioned and also support adding metadata about the dataset. Comet will automatically log the metadata from your dataset `yaml` file +artifact-3 + +### Using a saved Artifact + +If you would like to use a dataset from Comet Artifacts, set the `path` variable in your dataset `yaml` file to point to the following Artifact resource URL. + +``` +# contents of artifact.yaml file +path: "comet:///:" +``` + +Then pass this file to your training script in the following way + +```shell +python train.py \ +--img 640 \ +--batch 16 \ +--epochs 5 \ +--data artifact.yaml \ +--weights yolov5s.pt +``` + +Artifacts also allow you to track the lineage of data as it flows through your Experimentation workflow. Here you can see a graph that shows you all the experiments that have used your uploaded dataset. +artifact-4 + +## Resuming a Training Run + +If your training run is interrupted for any reason, e.g. disrupted internet connection, you can resume the run using the `resume` flag and the Comet Run Path. + +The Run Path has the following format `comet:////`. + +This will restore the run to its state before the interruption, which includes restoring the model from a checkpoint, restoring all hyperparameters and training arguments and downloading Comet dataset Artifacts if they were used in the original run. The resumed run will continue logging to the existing Experiment in the Comet UI + +```shell +python train.py \ +--resume "comet://" +``` + +## Hyperparameter Search with the Comet Optimizer + +YOLOv5 is also integrated with Comet's Optimizer, making is simple to visualize hyperparameter sweeps in the Comet UI. + +### Configuring an Optimizer Sweep + +To configure the Comet Optimizer, you will have to create a JSON file with the information about the sweep. An example file has been provided in `utils/loggers/comet/optimizer_config.json` + +```shell +python utils/loggers/comet/hpo.py \ + --comet_optimizer_config "utils/loggers/comet/optimizer_config.json" +``` + +The `hpo.py` script accepts the same arguments as `train.py`. If you wish to pass additional arguments to your sweep simply add them after +the script. + +```shell +python utils/loggers/comet/hpo.py \ + --comet_optimizer_config "utils/loggers/comet/optimizer_config.json" \ + --save-period 1 \ + --bbox_interval 1 +``` + +### Running a Sweep in Parallel + +```shell +comet optimizer -j utils/loggers/comet/hpo.py \ + utils/loggers/comet/optimizer_config.json" +``` + +### Visualizing Results + +Comet provides a number of ways to visualize the results of your sweep. Take a look at a [project with a completed sweep here](https://www.comet.com/examples/comet-example-yolov5/view/PrlArHGuuhDTKC1UuBmTtOSXD/panels?utm_source=yolov5&utm_medium=partner&utm_campaign=partner_yolov5_2022&utm_content=github) + +hyperparameter-yolo diff --git a/机器学习/yolo_databases/yolov5/utils/loggers/comet/__init__.py b/机器学习/yolo_databases/yolov5/utils/loggers/comet/__init__.py new file mode 100644 index 0000000..d459984 --- /dev/null +++ b/机器学习/yolo_databases/yolov5/utils/loggers/comet/__init__.py @@ -0,0 +1,508 @@ +import glob +import json +import logging +import os +import sys +from pathlib import Path + +logger = logging.getLogger(__name__) + +FILE = Path(__file__).resolve() +ROOT = FILE.parents[3] # YOLOv5 root directory +if str(ROOT) not in sys.path: + sys.path.append(str(ROOT)) # add ROOT to PATH + +try: + import comet_ml + + # Project Configuration + config = comet_ml.config.get_config() + COMET_PROJECT_NAME = config.get_string(os.getenv('COMET_PROJECT_NAME'), 'comet.project_name', default='yolov5') +except (ModuleNotFoundError, ImportError): + comet_ml = None + COMET_PROJECT_NAME = None + +import PIL +import torch +import torchvision.transforms as T +import yaml + +from utils.dataloaders import img2label_paths +from utils.general import check_dataset, scale_boxes, xywh2xyxy +from utils.metrics import box_iou + +COMET_PREFIX = 'comet://' + +COMET_MODE = os.getenv('COMET_MODE', 'online') + +# Model Saving Settings +COMET_MODEL_NAME = os.getenv('COMET_MODEL_NAME', 'yolov5') + +# Dataset Artifact Settings +COMET_UPLOAD_DATASET = os.getenv('COMET_UPLOAD_DATASET', 'false').lower() == 'true' + +# Evaluation Settings +COMET_LOG_CONFUSION_MATRIX = os.getenv('COMET_LOG_CONFUSION_MATRIX', 'true').lower() == 'true' +COMET_LOG_PREDICTIONS = os.getenv('COMET_LOG_PREDICTIONS', 'true').lower() == 'true' +COMET_MAX_IMAGE_UPLOADS = int(os.getenv('COMET_MAX_IMAGE_UPLOADS', 100)) + +# Confusion Matrix Settings +CONF_THRES = float(os.getenv('CONF_THRES', 0.001)) +IOU_THRES = float(os.getenv('IOU_THRES', 0.6)) + +# Batch Logging Settings +COMET_LOG_BATCH_METRICS = os.getenv('COMET_LOG_BATCH_METRICS', 'false').lower() == 'true' +COMET_BATCH_LOGGING_INTERVAL = os.getenv('COMET_BATCH_LOGGING_INTERVAL', 1) +COMET_PREDICTION_LOGGING_INTERVAL = os.getenv('COMET_PREDICTION_LOGGING_INTERVAL', 1) +COMET_LOG_PER_CLASS_METRICS = os.getenv('COMET_LOG_PER_CLASS_METRICS', 'false').lower() == 'true' + +RANK = int(os.getenv('RANK', -1)) + +to_pil = T.ToPILImage() + + +class CometLogger: + """Log metrics, parameters, source code, models and much more + with Comet + """ + + def __init__(self, opt, hyp, run_id=None, job_type='Training', **experiment_kwargs) -> None: + self.job_type = job_type + self.opt = opt + self.hyp = hyp + + # Comet Flags + self.comet_mode = COMET_MODE + + self.save_model = opt.save_period > -1 + self.model_name = COMET_MODEL_NAME + + # Batch Logging Settings + self.log_batch_metrics = COMET_LOG_BATCH_METRICS + self.comet_log_batch_interval = COMET_BATCH_LOGGING_INTERVAL + + # Dataset Artifact Settings + self.upload_dataset = self.opt.upload_dataset if self.opt.upload_dataset else COMET_UPLOAD_DATASET + self.resume = self.opt.resume + + # Default parameters to pass to Experiment objects + self.default_experiment_kwargs = { + 'log_code': False, + 'log_env_gpu': True, + 'log_env_cpu': True, + 'project_name': COMET_PROJECT_NAME,} + self.default_experiment_kwargs.update(experiment_kwargs) + self.experiment = self._get_experiment(self.comet_mode, run_id) + + self.data_dict = self.check_dataset(self.opt.data) + self.class_names = self.data_dict['names'] + self.num_classes = self.data_dict['nc'] + + self.logged_images_count = 0 + self.max_images = COMET_MAX_IMAGE_UPLOADS + + if run_id is None: + self.experiment.log_other('Created from', 'YOLOv5') + if not isinstance(self.experiment, comet_ml.OfflineExperiment): + workspace, project_name, experiment_id = self.experiment.url.split('/')[-3:] + self.experiment.log_other( + 'Run Path', + f'{workspace}/{project_name}/{experiment_id}', + ) + self.log_parameters(vars(opt)) + self.log_parameters(self.opt.hyp) + self.log_asset_data( + self.opt.hyp, + name='hyperparameters.json', + metadata={'type': 'hyp-config-file'}, + ) + self.log_asset( + f'{self.opt.save_dir}/opt.yaml', + metadata={'type': 'opt-config-file'}, + ) + + self.comet_log_confusion_matrix = COMET_LOG_CONFUSION_MATRIX + + if hasattr(self.opt, 'conf_thres'): + self.conf_thres = self.opt.conf_thres + else: + self.conf_thres = CONF_THRES + if hasattr(self.opt, 'iou_thres'): + self.iou_thres = self.opt.iou_thres + else: + self.iou_thres = IOU_THRES + + self.log_parameters({'val_iou_threshold': self.iou_thres, 'val_conf_threshold': self.conf_thres}) + + self.comet_log_predictions = COMET_LOG_PREDICTIONS + if self.opt.bbox_interval == -1: + self.comet_log_prediction_interval = 1 if self.opt.epochs < 10 else self.opt.epochs // 10 + else: + self.comet_log_prediction_interval = self.opt.bbox_interval + + if self.comet_log_predictions: + self.metadata_dict = {} + self.logged_image_names = [] + + self.comet_log_per_class_metrics = COMET_LOG_PER_CLASS_METRICS + + self.experiment.log_others({ + 'comet_mode': COMET_MODE, + 'comet_max_image_uploads': COMET_MAX_IMAGE_UPLOADS, + 'comet_log_per_class_metrics': COMET_LOG_PER_CLASS_METRICS, + 'comet_log_batch_metrics': COMET_LOG_BATCH_METRICS, + 'comet_log_confusion_matrix': COMET_LOG_CONFUSION_MATRIX, + 'comet_model_name': COMET_MODEL_NAME,}) + + # Check if running the Experiment with the Comet Optimizer + if hasattr(self.opt, 'comet_optimizer_id'): + self.experiment.log_other('optimizer_id', self.opt.comet_optimizer_id) + self.experiment.log_other('optimizer_objective', self.opt.comet_optimizer_objective) + self.experiment.log_other('optimizer_metric', self.opt.comet_optimizer_metric) + self.experiment.log_other('optimizer_parameters', json.dumps(self.hyp)) + + def _get_experiment(self, mode, experiment_id=None): + if mode == 'offline': + if experiment_id is not None: + return comet_ml.ExistingOfflineExperiment( + previous_experiment=experiment_id, + **self.default_experiment_kwargs, + ) + + return comet_ml.OfflineExperiment(**self.default_experiment_kwargs,) + + else: + try: + if experiment_id is not None: + return comet_ml.ExistingExperiment( + previous_experiment=experiment_id, + **self.default_experiment_kwargs, + ) + + return comet_ml.Experiment(**self.default_experiment_kwargs) + + except ValueError: + logger.warning('COMET WARNING: ' + 'Comet credentials have not been set. ' + 'Comet will default to offline logging. ' + 'Please set your credentials to enable online logging.') + return self._get_experiment('offline', experiment_id) + + return + + def log_metrics(self, log_dict, **kwargs): + self.experiment.log_metrics(log_dict, **kwargs) + + def log_parameters(self, log_dict, **kwargs): + self.experiment.log_parameters(log_dict, **kwargs) + + def log_asset(self, asset_path, **kwargs): + self.experiment.log_asset(asset_path, **kwargs) + + def log_asset_data(self, asset, **kwargs): + self.experiment.log_asset_data(asset, **kwargs) + + def log_image(self, img, **kwargs): + self.experiment.log_image(img, **kwargs) + + def log_model(self, path, opt, epoch, fitness_score, best_model=False): + if not self.save_model: + return + + model_metadata = { + 'fitness_score': fitness_score[-1], + 'epochs_trained': epoch + 1, + 'save_period': opt.save_period, + 'total_epochs': opt.epochs,} + + model_files = glob.glob(f'{path}/*.pt') + for model_path in model_files: + name = Path(model_path).name + + self.experiment.log_model( + self.model_name, + file_or_folder=model_path, + file_name=name, + metadata=model_metadata, + overwrite=True, + ) + + def check_dataset(self, data_file): + with open(data_file) as f: + data_config = yaml.safe_load(f) + + if data_config['path'].startswith(COMET_PREFIX): + path = data_config['path'].replace(COMET_PREFIX, '') + data_dict = self.download_dataset_artifact(path) + + return data_dict + + self.log_asset(self.opt.data, metadata={'type': 'data-config-file'}) + + return check_dataset(data_file) + + def log_predictions(self, image, labelsn, path, shape, predn): + if self.logged_images_count >= self.max_images: + return + detections = predn[predn[:, 4] > self.conf_thres] + iou = box_iou(labelsn[:, 1:], detections[:, :4]) + mask, _ = torch.where(iou > self.iou_thres) + if len(mask) == 0: + return + + filtered_detections = detections[mask] + filtered_labels = labelsn[mask] + + image_id = path.split('/')[-1].split('.')[0] + image_name = f'{image_id}_curr_epoch_{self.experiment.curr_epoch}' + if image_name not in self.logged_image_names: + native_scale_image = PIL.Image.open(path) + self.log_image(native_scale_image, name=image_name) + self.logged_image_names.append(image_name) + + metadata = [] + for cls, *xyxy in filtered_labels.tolist(): + metadata.append({ + 'label': f'{self.class_names[int(cls)]}-gt', + 'score': 100, + 'box': { + 'x': xyxy[0], + 'y': xyxy[1], + 'x2': xyxy[2], + 'y2': xyxy[3]},}) + for *xyxy, conf, cls in filtered_detections.tolist(): + metadata.append({ + 'label': f'{self.class_names[int(cls)]}', + 'score': conf * 100, + 'box': { + 'x': xyxy[0], + 'y': xyxy[1], + 'x2': xyxy[2], + 'y2': xyxy[3]},}) + + self.metadata_dict[image_name] = metadata + self.logged_images_count += 1 + + return + + def preprocess_prediction(self, image, labels, shape, pred): + nl, _ = labels.shape[0], pred.shape[0] + + # Predictions + if self.opt.single_cls: + pred[:, 5] = 0 + + predn = pred.clone() + scale_boxes(image.shape[1:], predn[:, :4], shape[0], shape[1]) + + labelsn = None + if nl: + tbox = xywh2xyxy(labels[:, 1:5]) # target boxes + scale_boxes(image.shape[1:], tbox, shape[0], shape[1]) # native-space labels + labelsn = torch.cat((labels[:, 0:1], tbox), 1) # native-space labels + scale_boxes(image.shape[1:], predn[:, :4], shape[0], shape[1]) # native-space pred + + return predn, labelsn + + def add_assets_to_artifact(self, artifact, path, asset_path, split): + img_paths = sorted(glob.glob(f'{asset_path}/*')) + label_paths = img2label_paths(img_paths) + + for image_file, label_file in zip(img_paths, label_paths): + image_logical_path, label_logical_path = map(lambda x: os.path.relpath(x, path), [image_file, label_file]) + + try: + artifact.add(image_file, logical_path=image_logical_path, metadata={'split': split}) + artifact.add(label_file, logical_path=label_logical_path, metadata={'split': split}) + except ValueError as e: + logger.error('COMET ERROR: Error adding file to Artifact. Skipping file.') + logger.error(f'COMET ERROR: {e}') + continue + + return artifact + + def upload_dataset_artifact(self): + dataset_name = self.data_dict.get('dataset_name', 'yolov5-dataset') + path = str((ROOT / Path(self.data_dict['path'])).resolve()) + + metadata = self.data_dict.copy() + for key in ['train', 'val', 'test']: + split_path = metadata.get(key) + if split_path is not None: + metadata[key] = split_path.replace(path, '') + + artifact = comet_ml.Artifact(name=dataset_name, artifact_type='dataset', metadata=metadata) + for key in metadata.keys(): + if key in ['train', 'val', 'test']: + if isinstance(self.upload_dataset, str) and (key != self.upload_dataset): + continue + + asset_path = self.data_dict.get(key) + if asset_path is not None: + artifact = self.add_assets_to_artifact(artifact, path, asset_path, key) + + self.experiment.log_artifact(artifact) + + return + + def download_dataset_artifact(self, artifact_path): + logged_artifact = self.experiment.get_artifact(artifact_path) + artifact_save_dir = str(Path(self.opt.save_dir) / logged_artifact.name) + logged_artifact.download(artifact_save_dir) + + metadata = logged_artifact.metadata + data_dict = metadata.copy() + data_dict['path'] = artifact_save_dir + + metadata_names = metadata.get('names') + if type(metadata_names) == dict: + data_dict['names'] = {int(k): v for k, v in metadata.get('names').items()} + elif type(metadata_names) == list: + data_dict['names'] = {int(k): v for k, v in zip(range(len(metadata_names)), metadata_names)} + else: + raise "Invalid 'names' field in dataset yaml file. Please use a list or dictionary" + + data_dict = self.update_data_paths(data_dict) + return data_dict + + def update_data_paths(self, data_dict): + path = data_dict.get('path', '') + + for split in ['train', 'val', 'test']: + if data_dict.get(split): + split_path = data_dict.get(split) + data_dict[split] = (f'{path}/{split_path}' if isinstance(split, str) else [ + f'{path}/{x}' for x in split_path]) + + return data_dict + + def on_pretrain_routine_end(self, paths): + if self.opt.resume: + return + + for path in paths: + self.log_asset(str(path)) + + if self.upload_dataset: + if not self.resume: + self.upload_dataset_artifact() + + return + + def on_train_start(self): + self.log_parameters(self.hyp) + + def on_train_epoch_start(self): + return + + def on_train_epoch_end(self, epoch): + self.experiment.curr_epoch = epoch + + return + + def on_train_batch_start(self): + return + + def on_train_batch_end(self, log_dict, step): + self.experiment.curr_step = step + if self.log_batch_metrics and (step % self.comet_log_batch_interval == 0): + self.log_metrics(log_dict, step=step) + + return + + def on_train_end(self, files, save_dir, last, best, epoch, results): + if self.comet_log_predictions: + curr_epoch = self.experiment.curr_epoch + self.experiment.log_asset_data(self.metadata_dict, 'image-metadata.json', epoch=curr_epoch) + + for f in files: + self.log_asset(f, metadata={'epoch': epoch}) + self.log_asset(f'{save_dir}/results.csv', metadata={'epoch': epoch}) + + if not self.opt.evolve: + model_path = str(best if best.exists() else last) + name = Path(model_path).name + if self.save_model: + self.experiment.log_model( + self.model_name, + file_or_folder=model_path, + file_name=name, + overwrite=True, + ) + + # Check if running Experiment with Comet Optimizer + if hasattr(self.opt, 'comet_optimizer_id'): + metric = results.get(self.opt.comet_optimizer_metric) + self.experiment.log_other('optimizer_metric_value', metric) + + self.finish_run() + + def on_val_start(self): + return + + def on_val_batch_start(self): + return + + def on_val_batch_end(self, batch_i, images, targets, paths, shapes, outputs): + if not (self.comet_log_predictions and ((batch_i + 1) % self.comet_log_prediction_interval == 0)): + return + + for si, pred in enumerate(outputs): + if len(pred) == 0: + continue + + image = images[si] + labels = targets[targets[:, 0] == si, 1:] + shape = shapes[si] + path = paths[si] + predn, labelsn = self.preprocess_prediction(image, labels, shape, pred) + if labelsn is not None: + self.log_predictions(image, labelsn, path, shape, predn) + + return + + def on_val_end(self, nt, tp, fp, p, r, f1, ap, ap50, ap_class, confusion_matrix): + if self.comet_log_per_class_metrics: + if self.num_classes > 1: + for i, c in enumerate(ap_class): + class_name = self.class_names[c] + self.experiment.log_metrics( + { + 'mAP@.5': ap50[i], + 'mAP@.5:.95': ap[i], + 'precision': p[i], + 'recall': r[i], + 'f1': f1[i], + 'true_positives': tp[i], + 'false_positives': fp[i], + 'support': nt[c]}, + prefix=class_name) + + if self.comet_log_confusion_matrix: + epoch = self.experiment.curr_epoch + class_names = list(self.class_names.values()) + class_names.append('background') + num_classes = len(class_names) + + self.experiment.log_confusion_matrix( + matrix=confusion_matrix.matrix, + max_categories=num_classes, + labels=class_names, + epoch=epoch, + column_label='Actual Category', + row_label='Predicted Category', + file_name=f'confusion-matrix-epoch-{epoch}.json', + ) + + def on_fit_epoch_end(self, result, epoch): + self.log_metrics(result, epoch=epoch) + + def on_model_save(self, last, epoch, final_epoch, best_fitness, fi): + if ((epoch + 1) % self.opt.save_period == 0 and not final_epoch) and self.opt.save_period != -1: + self.log_model(last.parent, self.opt, epoch, fi, best_model=best_fitness == fi) + + def on_params_update(self, params): + self.log_parameters(params) + + def finish_run(self): + self.experiment.end() diff --git a/机器学习/yolo_databases/yolov5/utils/loggers/comet/comet_utils.py b/机器学习/yolo_databases/yolov5/utils/loggers/comet/comet_utils.py new file mode 100644 index 0000000..2760076 --- /dev/null +++ b/机器学习/yolo_databases/yolov5/utils/loggers/comet/comet_utils.py @@ -0,0 +1,150 @@ +import logging +import os +from urllib.parse import urlparse + +try: + import comet_ml +except (ModuleNotFoundError, ImportError): + comet_ml = None + +import yaml + +logger = logging.getLogger(__name__) + +COMET_PREFIX = 'comet://' +COMET_MODEL_NAME = os.getenv('COMET_MODEL_NAME', 'yolov5') +COMET_DEFAULT_CHECKPOINT_FILENAME = os.getenv('COMET_DEFAULT_CHECKPOINT_FILENAME', 'last.pt') + + +def download_model_checkpoint(opt, experiment): + model_dir = f'{opt.project}/{experiment.name}' + os.makedirs(model_dir, exist_ok=True) + + model_name = COMET_MODEL_NAME + model_asset_list = experiment.get_model_asset_list(model_name) + + if len(model_asset_list) == 0: + logger.error(f'COMET ERROR: No checkpoints found for model name : {model_name}') + return + + model_asset_list = sorted( + model_asset_list, + key=lambda x: x['step'], + reverse=True, + ) + logged_checkpoint_map = {asset['fileName']: asset['assetId'] for asset in model_asset_list} + + resource_url = urlparse(opt.weights) + checkpoint_filename = resource_url.query + + if checkpoint_filename: + asset_id = logged_checkpoint_map.get(checkpoint_filename) + else: + asset_id = logged_checkpoint_map.get(COMET_DEFAULT_CHECKPOINT_FILENAME) + checkpoint_filename = COMET_DEFAULT_CHECKPOINT_FILENAME + + if asset_id is None: + logger.error(f'COMET ERROR: Checkpoint {checkpoint_filename} not found in the given Experiment') + return + + try: + logger.info(f'COMET INFO: Downloading checkpoint {checkpoint_filename}') + asset_filename = checkpoint_filename + + model_binary = experiment.get_asset(asset_id, return_type='binary', stream=False) + model_download_path = f'{model_dir}/{asset_filename}' + with open(model_download_path, 'wb') as f: + f.write(model_binary) + + opt.weights = model_download_path + + except Exception as e: + logger.warning('COMET WARNING: Unable to download checkpoint from Comet') + logger.exception(e) + + +def set_opt_parameters(opt, experiment): + """Update the opts Namespace with parameters + from Comet's ExistingExperiment when resuming a run + + Args: + opt (argparse.Namespace): Namespace of command line options + experiment (comet_ml.APIExperiment): Comet API Experiment object + """ + asset_list = experiment.get_asset_list() + resume_string = opt.resume + + for asset in asset_list: + if asset['fileName'] == 'opt.yaml': + asset_id = asset['assetId'] + asset_binary = experiment.get_asset(asset_id, return_type='binary', stream=False) + opt_dict = yaml.safe_load(asset_binary) + for key, value in opt_dict.items(): + setattr(opt, key, value) + opt.resume = resume_string + + # Save hyperparameters to YAML file + # Necessary to pass checks in training script + save_dir = f'{opt.project}/{experiment.name}' + os.makedirs(save_dir, exist_ok=True) + + hyp_yaml_path = f'{save_dir}/hyp.yaml' + with open(hyp_yaml_path, 'w') as f: + yaml.dump(opt.hyp, f) + opt.hyp = hyp_yaml_path + + +def check_comet_weights(opt): + """Downloads model weights from Comet and updates the + weights path to point to saved weights location + + Args: + opt (argparse.Namespace): Command Line arguments passed + to YOLOv5 training script + + Returns: + None/bool: Return True if weights are successfully downloaded + else return None + """ + if comet_ml is None: + return + + if isinstance(opt.weights, str): + if opt.weights.startswith(COMET_PREFIX): + api = comet_ml.API() + resource = urlparse(opt.weights) + experiment_path = f'{resource.netloc}{resource.path}' + experiment = api.get(experiment_path) + download_model_checkpoint(opt, experiment) + return True + + return None + + +def check_comet_resume(opt): + """Restores run parameters to its original state based on the model checkpoint + and logged Experiment parameters. + + Args: + opt (argparse.Namespace): Command Line arguments passed + to YOLOv5 training script + + Returns: + None/bool: Return True if the run is restored successfully + else return None + """ + if comet_ml is None: + return + + if isinstance(opt.resume, str): + if opt.resume.startswith(COMET_PREFIX): + api = comet_ml.API() + resource = urlparse(opt.resume) + experiment_path = f'{resource.netloc}{resource.path}' + experiment = api.get(experiment_path) + set_opt_parameters(opt, experiment) + download_model_checkpoint(opt, experiment) + + return True + + return None diff --git a/机器学习/yolo_databases/yolov5/utils/loggers/comet/hpo.py b/机器学习/yolo_databases/yolov5/utils/loggers/comet/hpo.py new file mode 100644 index 0000000..fc49115 --- /dev/null +++ b/机器学习/yolo_databases/yolov5/utils/loggers/comet/hpo.py @@ -0,0 +1,118 @@ +import argparse +import json +import logging +import os +import sys +from pathlib import Path + +import comet_ml + +logger = logging.getLogger(__name__) + +FILE = Path(__file__).resolve() +ROOT = FILE.parents[3] # YOLOv5 root directory +if str(ROOT) not in sys.path: + sys.path.append(str(ROOT)) # add ROOT to PATH + +from train import train +from utils.callbacks import Callbacks +from utils.general import increment_path +from utils.torch_utils import select_device + +# Project Configuration +config = comet_ml.config.get_config() +COMET_PROJECT_NAME = config.get_string(os.getenv('COMET_PROJECT_NAME'), 'comet.project_name', default='yolov5') + + +def get_args(known=False): + parser = argparse.ArgumentParser() + parser.add_argument('--weights', type=str, default=ROOT / 'yolov5s.pt', help='initial weights path') + parser.add_argument('--cfg', type=str, default='', help='model.yaml path') + parser.add_argument('--data', type=str, default=ROOT / 'data/coco128.yaml', help='dataset.yaml path') + parser.add_argument('--hyp', type=str, default=ROOT / 'data/hyps/hyp.scratch-low.yaml', help='hyperparameters path') + parser.add_argument('--epochs', type=int, default=300, help='total training epochs') + parser.add_argument('--batch-size', type=int, default=16, help='total batch size for all GPUs, -1 for autobatch') + parser.add_argument('--imgsz', '--img', '--img-size', type=int, default=640, help='train, val image size (pixels)') + parser.add_argument('--rect', action='store_true', help='rectangular training') + parser.add_argument('--resume', nargs='?', const=True, default=False, help='resume most recent training') + parser.add_argument('--nosave', action='store_true', help='only save final checkpoint') + parser.add_argument('--noval', action='store_true', help='only validate final epoch') + parser.add_argument('--noautoanchor', action='store_true', help='disable AutoAnchor') + parser.add_argument('--noplots', action='store_true', help='save no plot files') + parser.add_argument('--evolve', type=int, nargs='?', const=300, help='evolve hyperparameters for x generations') + parser.add_argument('--bucket', type=str, default='', help='gsutil bucket') + parser.add_argument('--cache', type=str, nargs='?', const='ram', help='--cache images in "ram" (default) or "disk"') + parser.add_argument('--image-weights', action='store_true', help='use weighted image selection for training') + parser.add_argument('--device', default='', help='cuda device, i.e. 0 or 0,1,2,3 or cpu') + parser.add_argument('--multi-scale', action='store_true', help='vary img-size +/- 50%%') + parser.add_argument('--single-cls', action='store_true', help='train multi-class data as single-class') + parser.add_argument('--optimizer', type=str, choices=['SGD', 'Adam', 'AdamW'], default='SGD', help='optimizer') + parser.add_argument('--sync-bn', action='store_true', help='use SyncBatchNorm, only available in DDP mode') + parser.add_argument('--workers', type=int, default=8, help='max dataloader workers (per RANK in DDP mode)') + parser.add_argument('--project', default=ROOT / 'runs/train', help='save to project/name') + parser.add_argument('--name', default='exp', help='save to project/name') + parser.add_argument('--exist-ok', action='store_true', help='existing project/name ok, do not increment') + parser.add_argument('--quad', action='store_true', help='quad dataloader') + parser.add_argument('--cos-lr', action='store_true', help='cosine LR scheduler') + parser.add_argument('--label-smoothing', type=float, default=0.0, help='Label smoothing epsilon') + parser.add_argument('--patience', type=int, default=100, help='EarlyStopping patience (epochs without improvement)') + parser.add_argument('--freeze', nargs='+', type=int, default=[0], help='Freeze layers: backbone=10, first3=0 1 2') + parser.add_argument('--save-period', type=int, default=-1, help='Save checkpoint every x epochs (disabled if < 1)') + parser.add_argument('--seed', type=int, default=0, help='Global training seed') + parser.add_argument('--local_rank', type=int, default=-1, help='Automatic DDP Multi-GPU argument, do not modify') + + # Weights & Biases arguments + parser.add_argument('--entity', default=None, help='W&B: Entity') + parser.add_argument('--upload_dataset', nargs='?', const=True, default=False, help='W&B: Upload data, "val" option') + parser.add_argument('--bbox_interval', type=int, default=-1, help='W&B: Set bounding-box image logging interval') + parser.add_argument('--artifact_alias', type=str, default='latest', help='W&B: Version of dataset artifact to use') + + # Comet Arguments + parser.add_argument('--comet_optimizer_config', type=str, help='Comet: Path to a Comet Optimizer Config File.') + parser.add_argument('--comet_optimizer_id', type=str, help='Comet: ID of the Comet Optimizer sweep.') + parser.add_argument('--comet_optimizer_objective', type=str, help="Comet: Set to 'minimize' or 'maximize'.") + parser.add_argument('--comet_optimizer_metric', type=str, help='Comet: Metric to Optimize.') + parser.add_argument('--comet_optimizer_workers', + type=int, + default=1, + help='Comet: Number of Parallel Workers to use with the Comet Optimizer.') + + return parser.parse_known_args()[0] if known else parser.parse_args() + + +def run(parameters, opt): + hyp_dict = {k: v for k, v in parameters.items() if k not in ['epochs', 'batch_size']} + + opt.save_dir = str(increment_path(Path(opt.project) / opt.name, exist_ok=opt.exist_ok or opt.evolve)) + opt.batch_size = parameters.get('batch_size') + opt.epochs = parameters.get('epochs') + + device = select_device(opt.device, batch_size=opt.batch_size) + train(hyp_dict, opt, device, callbacks=Callbacks()) + + +if __name__ == '__main__': + opt = get_args(known=True) + + opt.weights = str(opt.weights) + opt.cfg = str(opt.cfg) + opt.data = str(opt.data) + opt.project = str(opt.project) + + optimizer_id = os.getenv('COMET_OPTIMIZER_ID') + if optimizer_id is None: + with open(opt.comet_optimizer_config) as f: + optimizer_config = json.load(f) + optimizer = comet_ml.Optimizer(optimizer_config) + else: + optimizer = comet_ml.Optimizer(optimizer_id) + + opt.comet_optimizer_id = optimizer.id + status = optimizer.status() + + opt.comet_optimizer_objective = status['spec']['objective'] + opt.comet_optimizer_metric = status['spec']['metric'] + + logger.info('COMET INFO: Starting Hyperparameter Sweep') + for parameter in optimizer.get_parameters(): + run(parameter['parameters'], opt) diff --git a/机器学习/yolo_databases/yolov5/utils/loggers/wandb/__init__.py b/机器学习/yolo_databases/yolov5/utils/loggers/wandb/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/机器学习/yolo_databases/yolov5/utils/loggers/wandb/wandb_utils.py b/机器学习/yolo_databases/yolov5/utils/loggers/wandb/wandb_utils.py new file mode 100644 index 0000000..4ea32b1 --- /dev/null +++ b/机器学习/yolo_databases/yolov5/utils/loggers/wandb/wandb_utils.py @@ -0,0 +1,193 @@ +# YOLOv5 🚀 by Ultralytics, AGPL-3.0 license + +# WARNING ⚠️ wandb is deprecated and will be removed in future release. +# See supported integrations at https://github.com/ultralytics/yolov5#integrations + +import logging +import os +import sys +from contextlib import contextmanager +from pathlib import Path + +from utils.general import LOGGER, colorstr + +FILE = Path(__file__).resolve() +ROOT = FILE.parents[3] # YOLOv5 root directory +if str(ROOT) not in sys.path: + sys.path.append(str(ROOT)) # add ROOT to PATH +RANK = int(os.getenv('RANK', -1)) +DEPRECATION_WARNING = f"{colorstr('wandb')}: WARNING ⚠️ wandb is deprecated and will be removed in a future release. " \ + f'See supported integrations at https://github.com/ultralytics/yolov5#integrations.' + +try: + import wandb + + assert hasattr(wandb, '__version__') # verify package import not local dir + LOGGER.warning(DEPRECATION_WARNING) +except (ImportError, AssertionError): + wandb = None + + +class WandbLogger(): + """Log training runs, datasets, models, and predictions to Weights & Biases. + + This logger sends information to W&B at wandb.ai. By default, this information + includes hyperparameters, system configuration and metrics, model metrics, + and basic data metrics and analyses. + + By providing additional command line arguments to train.py, datasets, + models and predictions can also be logged. + + For more on how this logger is used, see the Weights & Biases documentation: + https://docs.wandb.com/guides/integrations/yolov5 + """ + + def __init__(self, opt, run_id=None, job_type='Training'): + """ + - Initialize WandbLogger instance + - Upload dataset if opt.upload_dataset is True + - Setup training processes if job_type is 'Training' + + arguments: + opt (namespace) -- Commandline arguments for this run + run_id (str) -- Run ID of W&B run to be resumed + job_type (str) -- To set the job_type for this run + + """ + # Pre-training routine -- + self.job_type = job_type + self.wandb, self.wandb_run = wandb, wandb.run if wandb else None + self.val_artifact, self.train_artifact = None, None + self.train_artifact_path, self.val_artifact_path = None, None + self.result_artifact = None + self.val_table, self.result_table = None, None + self.max_imgs_to_log = 16 + self.data_dict = None + if self.wandb: + self.wandb_run = wandb.init(config=opt, + resume='allow', + project='YOLOv5' if opt.project == 'runs/train' else Path(opt.project).stem, + entity=opt.entity, + name=opt.name if opt.name != 'exp' else None, + job_type=job_type, + id=run_id, + allow_val_change=True) if not wandb.run else wandb.run + + if self.wandb_run: + if self.job_type == 'Training': + if isinstance(opt.data, dict): + # This means another dataset manager has already processed the dataset info (e.g. ClearML) + # and they will have stored the already processed dict in opt.data + self.data_dict = opt.data + self.setup_training(opt) + + def setup_training(self, opt): + """ + Setup the necessary processes for training YOLO models: + - Attempt to download model checkpoint and dataset artifacts if opt.resume stats with WANDB_ARTIFACT_PREFIX + - Update data_dict, to contain info of previous run if resumed and the paths of dataset artifact if downloaded + - Setup log_dict, initialize bbox_interval + + arguments: + opt (namespace) -- commandline arguments for this run + + """ + self.log_dict, self.current_epoch = {}, 0 + self.bbox_interval = opt.bbox_interval + if isinstance(opt.resume, str): + model_dir, _ = self.download_model_artifact(opt) + if model_dir: + self.weights = Path(model_dir) / 'last.pt' + config = self.wandb_run.config + opt.weights, opt.save_period, opt.batch_size, opt.bbox_interval, opt.epochs, opt.hyp, opt.imgsz = str( + self.weights), config.save_period, config.batch_size, config.bbox_interval, config.epochs, \ + config.hyp, config.imgsz + + if opt.bbox_interval == -1: + self.bbox_interval = opt.bbox_interval = (opt.epochs // 10) if opt.epochs > 10 else 1 + if opt.evolve or opt.noplots: + self.bbox_interval = opt.bbox_interval = opt.epochs + 1 # disable bbox_interval + + def log_model(self, path, opt, epoch, fitness_score, best_model=False): + """ + Log the model checkpoint as W&B artifact + + arguments: + path (Path) -- Path of directory containing the checkpoints + opt (namespace) -- Command line arguments for this run + epoch (int) -- Current epoch number + fitness_score (float) -- fitness score for current epoch + best_model (boolean) -- Boolean representing if the current checkpoint is the best yet. + """ + model_artifact = wandb.Artifact('run_' + wandb.run.id + '_model', + type='model', + metadata={ + 'original_url': str(path), + 'epochs_trained': epoch + 1, + 'save period': opt.save_period, + 'project': opt.project, + 'total_epochs': opt.epochs, + 'fitness_score': fitness_score}) + model_artifact.add_file(str(path / 'last.pt'), name='last.pt') + wandb.log_artifact(model_artifact, + aliases=['latest', 'last', 'epoch ' + str(self.current_epoch), 'best' if best_model else '']) + LOGGER.info(f'Saving model artifact on epoch {epoch + 1}') + + def val_one_image(self, pred, predn, path, names, im): + pass + + def log(self, log_dict): + """ + save the metrics to the logging dictionary + + arguments: + log_dict (Dict) -- metrics/media to be logged in current step + """ + if self.wandb_run: + for key, value in log_dict.items(): + self.log_dict[key] = value + + def end_epoch(self): + """ + commit the log_dict, model artifacts and Tables to W&B and flush the log_dict. + + arguments: + best_result (boolean): Boolean representing if the result of this evaluation is best or not + """ + if self.wandb_run: + with all_logging_disabled(): + try: + wandb.log(self.log_dict) + except BaseException as e: + LOGGER.info( + f'An error occurred in wandb logger. The training will proceed without interruption. More info\n{e}' + ) + self.wandb_run.finish() + self.wandb_run = None + self.log_dict = {} + + def finish_run(self): + """ + Log metrics if any and finish the current W&B run + """ + if self.wandb_run: + if self.log_dict: + with all_logging_disabled(): + wandb.log(self.log_dict) + wandb.run.finish() + LOGGER.warning(DEPRECATION_WARNING) + + +@contextmanager +def all_logging_disabled(highest_level=logging.CRITICAL): + """ source - https://gist.github.com/simon-weber/7853144 + A context manager that will prevent any logging messages triggered during the body from being processed. + :param highest_level: the maximum logging level in use. + This would only need to be changed if a custom level greater than CRITICAL is defined. + """ + previous_level = logging.root.manager.disable + logging.disable(highest_level) + try: + yield + finally: + logging.disable(previous_level) diff --git a/淘宝js逆向学习/APP逆向/__init__.py b/淘宝js逆向学习/APP逆向/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/淘宝js逆向学习/APP逆向/frida_test.py b/淘宝js逆向学习/APP逆向/frida_test.py new file mode 100644 index 0000000..24b4d5e --- /dev/null +++ b/淘宝js逆向学习/APP逆向/frida_test.py @@ -0,0 +1,30 @@ +import sys +import frida + +rdev = frida.get_usb_device() +session = rdev.attach(18802) +scr = """ +Java.perform(function () { + var SwitchConfig = Java.use('mtopsdk.mtop.global.SwitchConfig'); + SwitchConfig.isGlobalSpdySwitchOpen.overload().implementation = function(){ + var ret = this.isGlobalSpdySwitchOpen.apply(this, arguments); + console.log("isGlobalSpdySwitchOpenl "+ret) + + return false + } + }) +""" +script = session.create_script(scr) + + +def on_message(message, data): + print('msg: ' + message) + if message['type'] == 'send': + print("[*] {0}".format(message['payload'])) + else: + print(message) + + +script.on("message", on_message) +script.load() +sys.stdin.read()