[190ca4]: / utils / __pycache__ / general.cpython-311.pyc

Download this file

301 lines (298 with data), 76.5 kB

§

¢—eô²ãó¤	—dZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlmZddlmZddlmZddlmZddlmZddlmZdd	lmZdd
lmZddlmZm Z ddl!Z!ddl"Z#ddl$Z%ddl&Z'ddl(Z(ddl)Z)ddl*Z*	ddl+Z+e,e+d¦«sJ‚n!#e-e.f$rej/d
¦«ddl+Z+YnwxYwddl0m1Z1ddl2m3Z3m4Z4ddl5m6Z6m7Z7ddl8m9Z9m:Z:ee;¦« <¦«Z=e=j>dZ?e@ejAdd¦«¦«ZBeCdeDdejE¦«dz
¦«¦«ZFeejAde?jGdz¦«¦«ZHeIejAdd¦«¦« J¦«dkZKeIejAdd¦«¦« J¦«dkZLdZMdZNe(jOddd ¬!¦«e#jOdd"d#jPi¬$¦«d%e%jQjR_Se!jTd¦«eIeF¦«ejUd&<ej/¦«d'krd(n
eIeF¦«ejUd)<d*ejUd+<d•d-„ZVd–d/„ZWd0„ZXd1„ZYd2„ZZd3e[fd4„Z\d—d6„Z]d7Z^e^dfd8„Z_e_e^¦«ej`e^¦«Zaej/¦«d9kr$eajbeajcfD]Zdeeeaedjfd:„¦«Œd˜d=„Zgeg¦«ZhGd>„d?eji¦«ZjGd@„dAeji¦«ZkGdB„dCeji¦«ZldD„Zmd™dEeenfdF„ZodšdG„Zpd›dI„ZqdJ„ZrdœdL„Zse;fdM„Zte;fdN„ZudO„ZvdP„Zwe?fdQ„Zxe3¦«ele?¦«ddT„¦«¦«Zyele?¦«dœdU„¦«ZzdždW„Z{dŸdZ„Z|d d\„Z}d—d]„Z~d¡d`„Zd¢db„Z€d•dc„ZeNd5fdd„Z‚d£de„Zƒdf„Z„d¤dh„Z…dgifdi„Z†d¥dk„Z‡dl„Zˆd¦dn„Z‰do„ZŠdp„Z‹d§dt„ZŒdu„Zd¨dw„ZŽdve#jdv¦«fdx„Zdy„Z‘dz„Z’d{„Z“d©d}„Z”dªd~„Z•d©d„Z–d«d€„Z—d„Z˜d¬dƒ„Z™d­d„„Zšd®d…„Z›d†„Zœd‡„Z								d¯d‹„Zžd°d„ZŸedަ«fd„Z d„Z¡d±d‘„Z¢e!j£Z¤e!j¥fd’„Z¦d“„Z§d”„Z£eej¨¦«dj©¦«jGjG ª¦«ej¨¦«dj©vre¦e§e£ce!_¦e!_§e!_£dSdS)²z
General utils
éN)Údeepcopy)Údatetime)Úrepeat)Ú
ThreadPool)ÚPath)Úcheck_output)Ú
is_tarfile)ÚOptional)ÚZipFileÚ
is_zipfileÚ__version__zpip install -U ultralytics)Úcheck_requirements)Ú	TryExceptÚemojis)Ú
curl_downloadÚgsutil_getsize)Úbox_iouÚfitnesséÚRANKéÿÿÿÿéÚYOLOv5_DATASETS_DIRÚdatasetsÚYOLOv5_AUTOINSTALLTÚtrueÚYOLOv5_VERBOSEz{l_bar}{bar:10}{r_bar}ú	Arial.ttfi@éÚlong)Ú	linewidthÚ	precisionÚprofileÚ
float_kindz{:11.5g})r!Ú	formatteré
ÚNUMEXPR_MAX_THREADSÚdarwinÚ1ÚOMP_NUM_THREADSÚ2ÚTF_CPP_MIN_LOG_LEVELÚcó¬—t|¦«}t| ¦« dd¦«¦«t|¦«kS)NÚasciiÚignore)ÚstrÚlenÚencodeÚdecode©Úss ú</home/iml/Desktop/Talha/YOLOV5_Model/yolov5/utils/general.pyÚis_asciir8Ks>€åˆA‰Œ€A݈qxŠx‰zŒz× Ò  ¨(Ñ3Ô3Ñ4Ô4½¸A¹¼Ò>Ð>óõ人工智能có`—ttjdt|¦«¦«¦«S)Nu	[一-é¿¿])ÚboolÚreÚsearchr1r5s r7Ú
is_chineser?Qs#€å•”	Ð+­S°©V¬VÑ4Ô4Ñ5Ô5Ð5r9có—dtjvS)Nzgoogle.colab)ÚsysÚmodules©r9r7Úis_colabrDVs€àSœ[Ð(Ð(r9cóŒ—tjt¦«5ddlm}|¦«ducddd¦«S#1swxYwYdS)zÚ
    Check if the current script is running inside a Jupyter Notebook.
    Verified on Colab, Jupyterlab, Kaggle, Paperspace.

    Returns:
        bool: True if running inside a Jupyter Notebook, False otherwise.
    r©Úget_ipythonNF)Ú
contextlibÚsuppressÚ	ExceptionÚIPythonrGrFs r7Ú
is_jupyterrL[s–€õ
Ô	YÑ	'Ô	'ð)ð)Ø'Ð'Ð'Ð'Ð'Ð'؈{‰}Œ} DÐ(ð)ð)ð)ð)ñ)ô)ð)ð)ð)ð)ð)ð)øøøð)ð)ð)ð)ðˆ5s
š9¹=Á=cóŽ—tj d¦«dko"tj d¦«dkS)NÚPWDz/kaggle/workingÚKAGGLE_URL_BASEzhttps://www.kaggle.com)ÚosÚenvironÚgetrCr9r7Ú	is_kagglerSis6€å
Œ:>Š>˜%Ñ Ô Ð$5Ò5Ðw½"¼*¿.º.ÐIZÑ:[Ô:[Ð_wÒ:wÐwr9Úreturncóð—td¦« ¦«rdS	td¦«5}td„|D¦«¦«cddd¦«S#1swxYwYdS#t$rYdSwxYw)z4Check if the process runs inside a docker container.z/.dockerenvTz/proc/self/cgroupc3óK—|]}d|vV—Œ	dS)ÚdockerNrC)Ú.0Úlines  r7ú	<genexpr>zis_docker.<locals>.<genexpr>ts'èè€Ð9Ð9¨Dx 4Ð'Ð9Ð9Ð9Ð9Ð9Ð9r9NF)rÚexistsÚopenÚanyÚOSError)Úfiles r7Ú	is_dockerr`nsԀåˆMÑÔ×!Ò!Ñ#Ô#ð؈tðÝ
Ð%Ñ
&Ô
&ð	:¨$ÝÐ9Ð9°DÐ9Ñ9Ô9Ñ9Ô9ð	:ð	:ð	:ð	:ñ	:ô	:ð	:ð	:ð	:ð	:ð	:ð	:øøøð	:ð	:ð	:ð	:ð	:ð	:øåððð؈uˆuðøøøs4¥A'´AÁ
A'ÁAÁA'Á!AÁ"A'Á'
A5Á4A5Fcó
—|stj|tj¦«St|¦«dz}	t	|d¦«5	ddd¦«n#1swxYwY| ¦«dS#t$rYdSwxYw)Nztmp.txtÚwTF)rPÚaccessÚW_OKrr\Úunlinkr^)ÚdirÚtestr_s   r7Úis_writeablerhys̀àð'ÝŒy˜bœgÑ&Ô&Ð&ݐ‰9Œ9yÑ €DðÝ
$˜‰_Œ_ð	ð	Øð	ð	ð	ñ	ô	ð	ð	ð	ð	ð	ð	øøøð	ð	ð	ð	àŠ‰
Œ
ˆ
؈tøÝððð؈uˆuðøøøs5µA4ÁAÁA4ÁAÁA4ÁAÁA4Á4
BÂBÚyolov5cóò—ttjdd¦«¦«}|r|dvrtjntj}tj dd|ddii|d||d	œi|||gdd
œidœ¦«dS)Nrr>rrrFÚformatz%(message)szlogging.StreamHandler)Úclassr%Úlevel)rmÚhandlersÚ	propagate)ÚversionÚdisable_existing_loggersÚ
formattersrnÚloggers)ÚintrPÚgetenvÚloggingÚINFOÚERRORÚconfigÚ
dictConfig)ÚnameÚverboseÚrankrms    r7Úset_loggingr~Šs·€årŒy˜ Ñ$Ô$Ñ%Ô%€DØ#ÐJ¨°¨¨GŒLˆL½W¼]€EÝ„N×ÒØØ$)àؘ-ð)ð*ð
Ø0Ø!Øð"ð"ð#ð
ØØ!˜FØ"ð&ð&ð'ð(ð(ñ)ô)ð)ð)ð)r9ÚWindowscó:—tt|¦«¦«S©N)Úfnr©Úxs r7ú<lambda>r…¤s€­rµ&¸±)´)©}¬}€r9ÚUltralyticsÚYOLOV5_CONFIG_DIRcóF—tj|¦«}|rt|¦«}ndddddœ}tj¦«| tj¦«d¦«z}t|¦«r|ntd¦«|z}| d¬¦«|S)	NzAppData/Roamingz.configzLibrary/Application Support)rÚLinuxÚDarwinr-z/tmpT)Úexist_ok)	rPrurÚhomerRÚplatformÚsystemrhÚmkdir)rfÚenv_varÚenvÚpathÚcfgs     r7Úuser_config_dirr”§s—€å
Œ)GÑ
Ô
€CØ
ðDݐC‰yŒyˆˆà+°iÐKhÐiÐiˆÝŒy‰{Œ{˜SŸWšW¥X¤_Ñ%6Ô%6¸Ñ;Ô;Ñ;ˆÝ$ TÑ*Ô*Ð<µ°V±´ÀÑCˆØ‡J‚J˜€JÑÔÐØ€Kr9có8—eZdZddejfd„Zd„Zd„Zd„ZdS)	ÚProfileçNÚdevicecón—||_||_|rt|¦«dd…dkrdnd|_dS)NéÚcudaTF)Útr˜r1r›)Úselfrœr˜s   r7Ú__init__zProfile.__init__¹s<€ØˆŒØˆŒØ#ÐM­¨F©¬°B°Q°B¬¸6Ò(AÐ(ADDȈŒ	ˆ	ˆ	r9có8—| ¦«|_|Sr)ÚtimeÚstart©rs r7Ú	__enter__zProfile.__enter__¾s€Ø—Y’Y‘[”[ˆŒ
؈r9cór—| ¦«|jz
|_|xj|jz
c_dSr)r r¡Údtrœ)rÚtypeÚvalueÚ	tracebacks    r7Ú__exit__zProfile.__exit__Âs.€Ø—)’)‘+”+ ¤
Ñ*ˆŒØˆŒ$”'шŒˆˆr9có~—|jr$tj |j¦«t	j¦«Sr)r›ÚtorchÚsynchronizer˜r r¢s r7r zProfile.timeÆs0€ØŒ9ð	0ÝŒJ×"Ò" 4¤;Ñ/Ô/Ð/ÝŒy‰{Œ{Ðr9)r—N)	Ú__name__Ú
__module__Ú__qualname__r«r˜ržr£r©r rCr9r7r–r–·si€€€€€ðNðN e¤lðNðNðNðNð
ððððððððððr9r–có.—eZdZdddœd„Zd„Zd„Zd„ZdS)	ÚTimeoutr-T)Útimeout_msgÚsuppress_timeout_errorscód—t|¦«|_||_t|¦«|_dSr)rtÚsecondsÚtimeout_messager<rI)rrµr²r³s    r7ržzTimeout.__init__Îs+€Ý˜7‘|”|ˆŒØ*ˆÔÝÐ4Ñ5Ô5ˆŒ
ˆ
ˆ
r9có*—t|j¦«‚r)ÚTimeoutErrorr¶)rÚsignumÚframes   r7Ú_timeout_handlerzTimeout._timeout_handlerÓs€Ý˜4Ô/Ñ0Ô0Ð0r9có²—tj¦«dkr?tjtj|j¦«tj|j¦«dSdS)Nr)rrŽÚsignalÚSIGALRMr»Úalarmrµr¢s r7r£zTimeout.__enter__ÖsL€ÝŒ?ÑÔ 	Ò)Ð)ÝŒM&œ.¨$Ô*?Ñ@Ô@Ð@ÝŒL˜œÑ&Ô&Ð&Ð&Ð&ð*Ð)r9cóˆ—tj¦«dkr&tjd¦«|jr
|t
urdSdSdSdS)NrrT)rrŽr½r¿rIr¸©rÚexc_typeÚexc_valÚexc_tbs    r7r©zTimeout.__exit__ÛsS€ÝŒ?ÑÔ 	Ò)Ð)ÝŒL˜‰OŒOˆOØŒ}ð
 ­\Ð!9Ð!9ؐtð*Ð)ð
ð
Ð!9Ð!9r9N)r­r®r¯ržr»r£r©rCr9r7r±r±Ìs_€€€€€à/1È4ð6ð6ð6ð6ð6ð
1ð1ð1ð'ð'ð'ð
ððððr9r±có —eZdZd„Zd„Zd„ZdS)ÚWorkingDirectorycóh—||_tj¦« ¦«|_dSr)rfrÚcwdÚresolve)rÚnew_dirs  r7ržzWorkingDirectory.__init__äs&€ØˆŒÝ”8‘:”:×%Ò%Ñ'Ô'ˆŒˆˆr9có8—tj|j¦«dSr)rPÚchdirrfr¢s r7r£zWorkingDirectory.__enter__èó€Ý
Œ”ÑÔÐÐÐr9có8—tj|j¦«dSr)rPrÌrÈrÁs    r7r©zWorkingDirectory.__exit__ërÍr9N)r­r®r¯ržr£r©rCr9r7rÆrÆâsA€€€€€ð(ð(ð(ððððððððr9rÆcó:‡—ˆfd„t‰¦«D¦«S)Ncóx•—g|]6}tt‰|¦«¦«¯| d¦«°4|‘Œ7S)Ú__)ÚcallableÚgetattrÚ
startswith)rXÚfÚinstances  €r7ú
<listcomp>zmethods.<locals>.<listcomp>ñsBø€ÐbÐbÐb!­µ¸À1Ñ1EÔ1EÑ(FÔ(FÐbÈqÏ|Ê|Ð\`ÑOaÔOaÐbˆAÐbÐbÐbr9)rf)rÖs`r7ÚmethodsrØïs#ø€àbÐbÐbÐb•s˜8‘}”}ÐbÑbÔbÐbr9Úargsc󞇗tj¦«j}tj|¦«\}}}}}‰€9tj|¦«\Š}}}ˆfd„| ¦«D¦«Š	t
|¦« ¦« t¦« 
d¦«}n$#t$rt
|¦«j}YnwxYw|r|›dnd|r|›dndz}t t|¦«d d„‰ ¦«D¦«¦«z¦«dS)Ncó$•—i|]\}}|‰v¯	||“Œ
SrCrC)rXÚkÚvrÙs   €r7ú
<dictcomp>zprint_args.<locals>.<dictcomp>ús$ø€Ð:Ð:Ð:™˜˜A°°T°	°	1°	°	°	r9r-z: ú, c3ó*K—|]\}}|›d|›V—ŒdS)ú=NrC©rXrÜrÝs   r7rZzprint_args.<locals>.<genexpr>s0èè€Ð'LÐ'L±t°q¸!¨1¨
¨
¨q¨
¨
Ð'LÐ'LÐ'LÐ'LÐ'LÐ'Lr9)ÚinspectÚcurrentframeÚf_backÚgetframeinfoÚgetargvaluesÚitemsrrÉÚrelative_toÚROOTÚwith_suffixÚ
ValueErrorÚstemÚLOGGERÚinfoÚcolorstrÚjoin)	rÙÚ	show_fileÚ	show_funcr„r_Ú_ÚfuncÚfrmr6s	`        r7Ú
print_argsr÷ôsAø€åÔÑÔÔ%€AÝ!Ô.¨qÑ1Ô1Ñ€Dˆ!ˆT1aØ€|Ý!Ô.¨qÑ1Ô1‰ˆˆaCØ:Ð:Ð:Ð: §¢¡¤Ð:Ñ:Ô:ˆðݐD‰zŒz×!Ò!Ñ#Ô#×/Ò/µÑ5Ô5×AÒAÀ"ÑEÔEˆˆøÝðððݐD‰zŒzŒˆˆˆðøøøà!Ð	)ˆDˆˆˆˆ r¸YÐ.N°¨k¨k¨k¨kÈBÑO€AÝ
‡K‚K•˜‘”˜dŸišiÐ'LÐ'L¸t¿zºz¹|¼|Ð'LÑ'LÔ'LÑLÔLÑLÑMÔMÐMÐMÐMsÁ0AB=Â=CÃCcóú—tj|¦«tj |¦«tj|¦«tj |¦«tj |¦«|rqttjd¦«rYtj	d¦«dtj
j_dtjd<t|¦«tjd<dSdSdS)Nz1.12.0Tz:4096:8ÚCUBLAS_WORKSPACE_CONFIGÚPYTHONHASHSEED)ÚrandomÚseedÚnpr«Úmanual_seedr›Úmanual_seed_allÚ
check_versionr
Úuse_deterministic_algorithmsÚbackendsÚcudnnÚ
deterministicrPrQr1)rürs  r7Ú
init_seedsrs׀å
„KÑÔÐÝ„I‡N‚N4ÑÔÐÝ	ԐdÑÔÐÝ	„J×Ò˜4Ñ Ô Ð Ý	„J×Ò˜tÑ$Ô$Ð$àð1¥uÔ'8¸(ÑCÔCð1Ý
Ô*¨4Ñ0Ô0Ð0Ø-1ŒÔÔ*Ø09Œ
Ð,Ñ-Ý'*¨4¡y¤yŒ
Ð#Ñ$Ð$Ð$ð	1ð1ð1ð1r9rCcóH‡‡—ˆˆfd„| ¦«D¦«S)Nc󈕇—i|]=\Š}‰‰v¯	tˆfd„‰D¦«¦«¯$|j‰‰jk¯:‰|“Œ>S)c3ó •K—|]}|‰vV—Œ	dSrrC)rXr„rÜs  €r7rZz-intersect_dicts.<locals>.<dictcomp>.<genexpr>s'øèè€Ð:WÐ:WÈ!¸1ÀA¸:Ð:WÐ:WÐ:WÐ:WÐ:WÐ:Wr9)ÚallÚshape)rXrÝrÜÚdbÚexcludes  @€€r7rÞz#intersect_dicts.<locals>.<dictcomp>saøø€ÐsÐsÐs‘TQ˜¨1°¨7¨7µsÐ:WÐ:WÐ:WÐ:WÈwÐ:WÑ:WÔ:WÑ7WÔ7W¨7Ð\]Ô\cÐgiÐjkÔglÔgrÒ\rÐ\rˆAˆqÐ\rÐ\rÐ\rr9)rè)Údarrs ``r7Úintersect_dictsrs)øø€àsÐsÐsÐsÐs˜RŸXšX™ZœZÐsÑsÔsÐsr9cóp—tj|¦«}d„|j ¦«D¦«S)NcóT—i|]%\}}|jtjju¯||j“Œ&SrC)ÚdefaultrãÚ	ParameterÚemptyrâs   r7rÞz$get_default_args.<locals>.<dictcomp>s3€ÐnÐnÐn™T˜Q ÀQÄYÕV]ÔVgÔVmÐEmÐEmˆAˆqŒyÐEmÐEmÐEmr9)rãÚ	signatureÚ
parametersrè)rõrs  r7Úget_default_argsrs5€åÔ! $Ñ'Ô'€IØnÐn YÔ%9×%?Ò%?Ñ%AÔ%AÐnÑnÔnÐnr9ú.có|—tj|›dd¬¦«}|r t|tjj¬¦«ndS)Nz/**/last*.ptT©Ú	recursive)Úkeyr-)ÚglobÚmaxrPr’Úgetctime)Ú
search_dirÚ	last_lists  r7Úget_latest_runr!sA€å”	˜ZÐ5Ð5Ð5ÀÐFÑFÔF€IØ3<ÐD3ˆybœgÔ.Ð/Ñ/Ô/Ð/À"ÐDr9có¨—tj¦«tjt|¦« ¦«j¦«z
}|jSr)rÚnowÚ
fromtimestamprÚstatÚst_mtimeÚdays)r’r¥s  r7Úfile_ager(#s7€å
Œ,‰.Œ.8Ô1µ$°t±*´*·/²/Ñ2CÔ2CÔ2LÑMÔMÑ
M€BØ
Œ7€Nr9có¤—tjt|¦« ¦«j¦«}|j›d|j›d|j›S)Nú-)rr$rr%r&ÚyearÚmonthÚday)r’rœs  r7Ú	file_dater.)sG€åԝt D™zœzŸšÑ0Ô0Ô9Ñ:Ô:€AØŒfÐ(Ð(q”wÐ(Ð( ¤Ð(Ð(Ð(r9có—d}t|¦«}| ¦«r| ¦«j|zS| ¦«r/td„| d¦«D¦«¦«|zSdS)Nic3ópK—|]1}| ¦«¯| ¦«jV—Œ2dSr)Úis_filer%Úst_size)rXrÕs  r7rZzfile_size.<locals>.<genexpr>6s:èè€ÐNÐN¨À!Ç)Â)Á+Ä+ÐN1—6’6‘8”8Ô#ÐNÐNÐNÐNÐNÐNr9z**/*r—)rr1r%r2Úis_dirÚsumr)r’Úmbs  r7Ú	file_sizer6/s|€à	€Bݐ‰:Œ:€D؇|‚|~„~ð؏yŠy‰{Œ{Ô" RÑ'Ð'Ø	
Š‰ŒðÝÐNÐN¨T¯YªY°vÑ->Ô->ÐNÑNÔNÑNÔNÐQSÑSÐSàˆsr9có>‡—ddlŠˆfd„}|¦«p	|¦«S)NrcóX•—	‰ dd¦«dS#t$rYdSwxYw)N)z1.1.1.1i»rTF)Úcreate_connectionr^©Úsockets€r7Úrun_oncezcheck_online.<locals>.run_once?sFø€ð	Ø×$Ò$Ð%5°qÑ9Ô9Ð9ؐ4øÝð	ð	ð	ؐ55ð	øøøsƒ›
)¨)r:)r<r;s @r7Úcheck_onliner=;s>ø€à€M€M€Mððððððˆ8‰:Œ:Ð#˜˜™œÐ#r9cóЗ	t|¦«dz ¦«sJ‚td|›dd¬¦« ¦«dd…S#t$rYdSwxYw)Nú.gitzgit -C z  describe --tags --long --alwaysT©Úshellrr-)rr3rr4rJ©r’s r7Úgit_describerCJs„€ðݐT‘
”
˜VÑ#×+Ò+Ñ-Ô-Ð-Ð-Ð-ÝÐL dÐLÐLÐLÐTXÐYÑYÔY×`Ò`ÑbÔbÐcfÐdfÐcfÔgÐgøÝððð؈rˆrðøøøs‚AAÁ
A%Á$A%úultralytics/yolov5Úmastercóz‡—d‰›}d|›}td¦«}td¦« ¦«sJ|dz|z¦«‚t¦«sJ|dz|z¦«‚t	jdt
dd	¬
¦« ¦«¬¦«}ˆfd„|D¦«}t|¦«r|| 	d	¦«d
z
}nd}t
d|›d|›d	¬
¦«t
d|›d	d¬¦«t
dd	¬
¦« ¦« 
¦«}tt
d|›d|›d|›dd	¬
¦«¦«}	|	dkr*|dkrdnd|›d|›}
|d|	›dd|	d
kz›d |
›d!|›d"	z
}n	|d#|›d$z
}t 
|¦«dS)%Nzhttps://github.com/z, for updates see zgithub: r?z%skipping check (not a git repository)zskipping check (offline)z\sz
git remote -vTr@)ÚpatternÚstringcó•—g|]}‰|v‘ŒSrCrC)rXr6Úrepos  €r7r×z$check_git_status.<locals>.<listcomp>^sø€Ð)Ð)Ð)˜QˆtqˆyÐ)Ð)Ð)r9rÚultralyticszgit remote add ú z
git fetch r)rAÚtimeoutzgit rev-parse --abbrev-ref HEADz
git rev-list z..ú/z --countrÚoriginzgit pullz	git pull u ⚠️ YOLOv5 is out of date by z commitr6z. Use 'z' or 'git clone z' to update.zup to date with u ✅)rðrr[r=r=Úsplitrr4r]ÚindexÚstriprtrîrï)rJÚbranchÚurlÚmsgr6ÚsplitsÚmatchesÚremoteÚlocal_branchÚnÚpulls`          r7Úcheck_git_statusr\Ss-ø€ð' Ð
&Ð
&€CØ
$˜sÐ
$Ð
$€CݐÑÔ€Aݐ‰<Œ<×ÒÑ Ô ÐSÐS !Ð&MÑ"MÐPSÑ"SÑSÔSÐS݉>Œ>Ð?Ð?˜1Ð9Ñ9¸CÑ?Ñ?Ô?Ð?å
ŒX˜e­L¸ÐPTÐ,UÑ,UÔ,U×,\Ò,\Ñ,^Ô,^Ð
_Ñ
_Ô
_€FØ)Ð)Ð)Ð) &Ð)Ñ)Ô)€GÝ
ˆ7|„|ðCؘŸ
š
 dÑ+Ô+¨aÑ/Ô0ˆˆàˆÝÐ5 vÐ5Ð5°Ð5Ð5¸TÐBÑBÔBÐBÝÐ&˜fÐ&Ð&¨d¸AÐ>Ñ>Ô>Ð>ÝÐ AÈÐNÑNÔN×UÒUÑWÔW×]Ò]Ñ_Ô_€LݍLÐR¨ÐRÐR¸ÐRÐRÀ&ÐRÐRÐRÐZ^Ð_Ñ_Ô_Ñ`Ô`€A؈1‚u€uØ# xÒ/Ð/ˆzˆzÐ5RÀÐ5RÐ5RÈ&Ð5RÐ5RˆØ	Ð
w°Ð
wÐ
w¸#ÀÀQ¹-Ð
wÐ
wÐPTÐ
wÐ
wÐfiÐ
wÐ
wÐ
wÑwˆˆà	Ð
) Ð
)Ð
)Ð
)Ñ)ˆÝ
‡K‚KN„N€N€N€Nr9cóB—td¦«ddl}	| |¦«}|jjj dd¦«}|jjj	}	|j
j}n#t$rd}YnwxYw|||dœS#|j
j$r	ddddœcYSwxYw)NÚ	gitpythonrr?r-)rXrSÚcommit)rÚgitÚRepoÚremotesrOrTÚreplaceÚheadr_ÚhexshaÚ
active_branchr{Ú	TypeErrorÚexcÚInvalidGitRepositoryError)r’r`rJrXr_rSs      r7Úcheck_git_inforjosڀõ{Ñ#Ô#Ð#Ø€J€J€Jð
@؏xŠx˜‰~Œ~ˆØ”Ô$Ô(×0Ò0°¸Ñ<Ô<ˆØ”Ô!Ô(ˆð	ØÔ'Ô,ˆFˆFøÝð	ð	ð	؈FˆFˆFð	øøøà ¨F¸fÐEÐEÐEøØŒ7Ô,ð@ð@ð@ب$¸$Ð?Ð?Ð?Ð?Ð?ð@øøøs6•ABÁ!A.Á-BÁ.A=Á:BÁ<A=Á=BÂBÂBú3.8.0cóN—ttj¦«|dd¬¦«dS)NzPython T)r{Úhard)rrÚpython_version)Úminimums r7Úcheck_pythonrps(€å•(Ô)Ñ+Ô+¨W¸9È4ÐPÑPÔPÐPÐPÐPr9ú0.0.0úversion cóЗd„||fD¦«\}}|r||kn||k}d|›|›d|›|›d}|r|sJt|¦«¦«‚|r|st |¦«|S)Nc3ó>K—|]}tj|¦«V—ŒdSr)ÚpkgÚ
parse_version©rXr„s  r7rZz check_version.<locals>.<genexpr>ˆs-èè€ÐIÐI°Ô)¨!Ñ,Ô,ÐIÐIÐIÐIÐIÐIr9uWARNING ⚠️ z is required by YOLOv5, but z is currently installed)rrîÚwarning)Úcurrentror{Úpinnedrmr|Úresultr6s        r7rr†s¢€àIÐI°wÀÐ6HÐIÑIÔIÑ€GˆWØ%+Ð
Eˆg˜Ò Ð °'¸WÒ2D€FØk˜$Ðk ÐkÐkÀTÐkÈ7ÐkÐkÐk€AØð!ØÐ Ð •v˜a‘y”yÑ Ô Ð ØðvðÝŠqÑÔÐØ€Mr9é c󇇗t|t¦«r,tt|t‰¦«¦«‰¦«}nt	|¦«}ˆˆfd„|D¦«}||kr#t
 d|›d‰›d|›¦«|S)Nc
óf•—g|]-}tt|t‰¦«¦«‰¦«‘Œ.SrC)rÚmake_divisiblert)rXr„Úfloorr6s  €€r7r×z"check_img_size.<locals>.<listcomp>˜s3ø€ÐIÐIÐI¸a•C q­#¨a©&¬&Ñ1Ô1°5Ñ9Ô9ÐIÐIÐIr9uWARNING ⚠️ --img-size z  must be multiple of max stride z, updating to )Ú
isinstancertrrÚlistrîrx)Úimgszr6r€Únew_sizes `` r7Úcheck_img_sizer…’sœøø€å%ÑÔðJÝ•~ e­S°©V¬VÑ4Ô4°eÑ<Ô<ˆˆåU‘”ˆØIÐIÐIÐIÐIÀ5ÐIÑIÔIˆØ5ÒÐݏŠÐv°EÐvÐvÐ[\ÐvÐvÐltÐvÐvÑwÔwÐwØ€Or9cóz—	t¦«rJ‚t¦«rJ‚tjdt	jd¦«¦«tjd¦«tj¦«tjd¦«dS#t$r*}|rt 
d|›¦«Yd}~dSd}~wwxYw)Nrg)rrérTuMWARNING ⚠️ Environment does not support cv2.imshow() or PIL Image.show()
F)rLr`Úcv2ÚimshowrýÚzerosÚwaitKeyÚdestroyAllWindowsrJrîrx)ÚwarnÚes  r7Úcheck_imshowržs€ðÝ‘<”<ÐÐÐÝ‘;”;ÐÐÐÝŒ
62œ8 IÑ.Ô.Ñ/Ô/Ð/ÝŒA‰ŒˆÝÔÑÔÐÝŒA‰ŒˆØˆtøÝðððØð	qÝNŠNÐoÐlmÐoÐoÑpÔpÐp؈uˆuˆuˆuˆuøøøøðøøøs‚BBÂ
B:ÂB5Â5B:ú
yolov5s.pt©z.ptcó"—|rˆ|rˆt|t¦«r|g}t|ttf¦«r|n|gD]P}t	|¦«j ¦«}t|¦«r||vsJ|›|›d|›¦«‚ŒMdSdSdS)Nz acceptable suffix is )rr1r‚ÚtuplerÚsuffixÚlowerr2)r_r”rUrÕr6s     r7Úcheck_suffixr–®sɀàðNðNݐfcÑ"Ô"ð	ؐXˆFÝ# D­4µ¨-Ñ8Ô8ÐD¸t¸fð	Nð	NˆAݐQ‘””×$Ò$Ñ&Ô&ˆAݐ1‰vŒvð
NؘF{{{ sÐ$M¨AÐ$MÐ$MÀVÐ$MÐ$M‘{”{{øð
NðNðNðNð	Nð	Nr9©z.yamlz.ymlcó"—t||¦«Sr)Ú
check_file)r_r”s  r7Ú
check_yamlrš¹s€åd˜FÑ#Ô#Ð#r9c	ó‚—t||¦«t|¦«}tj |¦«s|s|S| d¦«r'|}t
tj 	|¦« 
d¦«d¦«j}tj |¦«r!t 
d|›d|›¦«n™t 
d|›d|›d¦«tj ||¦«t
|¦« ¦«r*t
|¦« ¦«jdks
Jd	|›¦«‚|S| d
¦«rdt(jvs
Jd¦«‚|Sg}d
D]F}| t/jtt0|zdz|z¦«d¬¦«¦«ŒGt3|¦«s
Jd|›¦«‚t3|¦«dksJd|›d|›¦«‚|dS)N)zhttp:/zhttps:/Ú?rzFound z locally at úDownloading ú to ú...zFile download failed: z
clearml://Úclearmlz[ClearML is not installed, so cannot use ClearML dataset. Try running 'pip install clearml'.)ÚdataÚmodelsÚutilsz**TrzFile not found: rzMultiple files match 'z', specify exact path: )r–r1rPr’ÚisfilerÔrÚurllibÚparseÚunquoterPr{rîrïr«ÚhubÚdownload_url_to_filer[r%r2rArBÚextendrrêr2)r_r”rTÚfilesÚds     r7r™r™¾s7€åvÑÔÐ݈t‰9Œ9€DÝ	„w‡~‚~dÑÔð 4ðØˆØ	
ŠÐ.Ñ	/Ô	/ñ؈ݕF”L×(Ò(¨Ñ.Ô.×4Ò4°SÑ9Ô9¸!Ô<Ñ=Ô=ÔBˆÝ
Œ7>Š>˜$ÑÔð	iÝKŠKÐ8 Ð8Ð8°$Ð8Ð8Ñ9Ô9Ð9Ð9åKŠKÐ9 sÐ9Ð9°Ð9Ð9Ð9Ñ:Ô:Ð:ÝŒI×*Ò*¨3°Ñ5Ô5Ð5ݘ‘:”:×$Ò$Ñ&Ô&Ðh­4°©:¬:¯?ª?Ñ+<Ô+<Ô+DÀqÒ+HÐ+HÐ+HÐJhÐcfÐJhÐJhÑ+HÔ+HÐ+H؈Ø	
Š˜Ñ	&Ô	&ð	؝CœKÐ'Ð'Ð'ð*GÑ'Ô'Ð'ØˆàˆØ*ð	Qð	QˆAØLŠLœ¥3¥t¨a¡x°$¡¸Ñ'=Ñ#>Ô#>È$ÐOÑOÔOÑPÔPÐPÐPݐ5‰zŒzÐ4Ð4Ð4¨dÐ4Ð4Ñ4Ô4Ð4ݐ5‰zŒz˜QŠˆˆÐ ]¸Ð ]Ð ]ÐV[Ð ]Ð ]‰ŒˆØQŒxˆr9cóN—t|¦«}t|jz}| ¦«sp| ¦«s^d|j›}t d|›d|›d¦«tj |t|¦«|¬¦«dSdSdS)Nzhttps://ultralytics.com/assets/rržrŸ©Úprogress)
rÚ
CONFIG_DIRr{r[rîrïr«r¨r©r1)Úfontr¯r_rTs    r7Ú
check_fontr²Ús°€å‰:Œ:€Dݘœ	Ñ!€D؏;Š;‰=Œ=ðJ §¢¡¤ðJØ;°´	Ð;Ð;ˆÝŠÐ5 3Ð5Ð5¨DÐ5Ð5Ð5Ñ6Ô6Ð6Ý
Œ	×&Ò& s­C°©I¬IÀÐ&ÑIÔIÐIÐIÐIðJðJðJðJr9cóx
‡‡
—d}t‰ttf¦«r”t‰¦«st	‰¦«rvt‰t›dt‰¦«j›dddd¬¦«ttt‰¦«jz 	d¦«¦«Љj
d}}t‰ttf¦«rt‰¦«ŠdD]!}|‰vsJtd	|›d
¦«¦«‚Œ"t‰dttf¦«r%tt!‰d¦«¦«‰d<t#d„‰d ¦«D¦«¦«s
Jd
¦«‚t'‰d¦«‰d<t|p‰ d¦«pd¦«Š
‰
 ¦«s!t,‰
z ¦«Š
‰
‰d<dD]Í}‰ |¦«r¶t‰|t¦«r„‰
‰|z ¦«}| ¦«s@‰| d¦«r%‰
‰|dd…z ¦«}t|¦«‰|<Œ¶ˆ
fd„‰|D¦«‰|<ŒÎˆfd„dD¦«\}}}}|r3d„t|t¦«r|n|gD¦«}t#d„|D¦«¦«sõt4 dd„|D¦«z¦«|r|st9d¦«‚t;j¦«}	| d¦«rÍ| d¦«r¸t|¦«j}
t4 d|›d|
›d¦«t@j! "||
¦«tt¦« #dd¬ ¦«tI|
t¬!¦«t|
¦« %¦«d}n\| d"¦«r5t4 d#|›d$¦«tMj'|d¬%¦«}ntQ|d&‰i¦«}d'tSt;j¦«|	z
d¦«›d(}|d)vrd*|›d+tUd,t¦«›nd-|›d.}t4 d/|›¦«tWtY‰d¦«rd0nd1d¬2¦«‰S)3Nr-rNTFr)rfÚunzipÚdeleteÚcurlÚthreadsz*.yaml)ÚtrainÚvalÚnameszdata.yaml 'u:' field missing ❌rºc3ó@K—|]}t|t¦«V—ŒdSr)rrt)rXrÜs  r7rZz check_dataset.<locals>.<genexpr>÷s,èè€Ð@Ð@ az˜!SÑ!Ô!Ð@Ð@Ð@Ð@Ð@Ð@r9z2data.yaml names keys must be integers, i.e. 2: carÚncr’)r¸r¹rgz../r‡cóX•—g|]&}t‰|z ¦«¦«‘Œ'SrC)r1rÉ)rXr„r’s  €r7r×z!check_dataset.<locals>.<listcomp>s1ø€ÐFÐFÐF¸3  q¡×1Ò1Ñ3Ô3Ñ4Ô4ÐFÐFÐFr9c3óB•K—|]}‰ |¦«V—ŒdSr)rR)rXr„r¡s  €r7rZz check_dataset.<locals>.<genexpr>
s-øèè€ÐUÐU¨1˜4Ÿ8š8 A™;œ;ÐUÐUÐUÐUÐUÐUr9)r¸r¹rgÚdownloadcóP—g|]#}t|¦« ¦«‘Œ$SrC)rrÉrws  r7r×z!check_dataset.<locals>.<listcomp>s(€ÐTÐTÐT QtA‰wŒwŠÑ Ô ÐTÐTÐTr9c3ó>K—|]}| ¦«V—ŒdSr)r[rws  r7rZz check_dataset.<locals>.<genexpr>
s*èè€Ð+Ð+ !1—8’8‘:”:Ð+Ð+Ð+Ð+Ð+Ð+r9u+
Dataset not found ⚠️, missing paths %scóT—g|]%}| ¦«°t|¦«‘Œ&SrC)r[r1rws  r7r×z!check_dataset.<locals>.<listcomp>s1€ÐIpÐIpÐIpÐUVÐef×emÒemÑeoÔeoÐIpÍ#ÈaÉ&Ì&ÐIpÐIpÐIpr9uDataset not found ❌Úhttpz.ziprržrŸ©Úparentsr‹rBzbash zRunning z ...r@Úyamlú(zs))rNusuccess ✅ z, saved to Úboldzfailure u ❌zDataset download rzArial.Unicode.ttfr®)-rr1rrr	r¿ÚDATASETS_DIRríÚnextÚrglobÚparentÚ	yaml_loadrr‚r“ÚdictÚ	enumerater	Úkeysr2rRÚis_absoluterêrÉr[rÔrîrïrJr Úendswithr{r«r¨r©rÚ
unzip_filereÚ
subprocessÚrunÚexecÚroundrðr²r8)r¡ÚautodownloadÚextract_dirrÜr„r¸r¹rgr6rœrÕÚrr¥r’s`            @r7Ú
check_datasetrÛäsEøø€ð€Kݐ$d˜Ñ$Ô$ð7­*°TÑ*:Ô*:ð7½jÈÑ>NÔ>Nð7ݐlÐ>Ð>­T°$©Z¬Z¬_Ð>Ð>ÀdÐSXÐ_dÐnoÐpÑpÔpÐpÝ•\¥D¨¡J¤J¤OÑ3×:Ò:¸8ÑDÔDÑEÔEˆØ$(¤K°\ˆõ$d˜Ñ$Ô$ðݘ‰Œˆð%ðHðHˆØDˆyˆyˆy&Ð!F¨qÐ!FÐ!FÐ!FÑGÔG‰yŒyˆyˆyݐ$w”-¥$­ Ñ/Ô/ð7ݝY t¨G¤}Ñ5Ô5Ñ6Ô6ˆˆW‰
ÝÐ@Ð@¨4°¬=×+=Ò+=Ñ+?Ô+?Ð@Ñ@Ô@Ñ@Ô@ÐvÐvÐBvÑvÔvÐvݐT˜'”]Ñ#Ô#€DˆJõÐ5˜tŸxšx¨Ñ/Ô/Ð5°2Ñ6Ô6€DØ×ÒÑÔðݐt‘×$Ò$Ñ&Ô&ˆØˆˆV‰Ø
#ðGðGˆØ8Š8A‰;Œ;ð	Gݘ$˜qœ'¥3Ñ'Ô'ð
GؘD œG‘^×,Ò,Ñ.Ô.Ø—x’x‘z”zð7 d¨1¤g×&8Ò&8¸Ñ&?Ô&?ð7Ø  Q¤¨¨¨¤Ñ+×4Ò4Ñ6Ô6Aݘa™&œ&Q‘àFÐFÐFÐF¸dÀ1¼gÐFÑFÔFQ‘øðVÐUÐUÐUÐ0TÐUÑUÔUÑ€Eˆ3aØ
ñ1ØTÐTµ*¸SÅ$Ñ2GÔ2GÐ+R¨3¨3ÈcÈUÐTÑTÔTˆÝÐ+Ð+ sÐ+Ñ+Ô+Ñ+Ô+ñ	1ÝKŠKÐFÐIpÐIpÐZ]ÐIpÑIpÔIpÑpÑqÔqÐqØð
9˜Lð
9ÝÐ 7Ñ8Ô8Ð8Ý”	‘”ˆA؏|Š|˜FÑ#Ô#ð
,¨¯
ª
°6Ñ(:Ô(:ð
,ݘ‘G”G”LÝ—’Ð8¨1Ð8Ð8°!Ð8Ð8Ð8Ñ9Ô9Ð9Ý”	×.Ò.¨q°!Ñ4Ô4Ð4Ý•\Ñ"Ô"×(Ò(°ÀÐ(ÑEÔEÐEݘ1¥<Ð0Ñ0Ô0Ð0ݐQ‘”—’Ñ Ô Ð ØØ—’˜gÑ&Ô&ð
,Ý—’Ð. qÐ.Ð.Ð.Ñ/Ô/Ð/Ý”N 1¨DÐ1Ñ1Ô1å˜˜V T˜NÑ+Ô+Ø2•U4œ9™;œ;¨™?¨AÑ.Ô.Ð2Ð2Ð2ˆBØRSÐW`ÐR`ÐR`ÐN˜rÐNÐN­h°v½|Ñ.LÔ.LÐNÐNÐNÐfyÐqsÐfyÐfyÐfyˆAÝKŠKÐ/¨AÐ/Ð/Ñ0Ô0Ð0ݝh t¨G¤}Ñ5Ô5ÐNˆ{ˆ{Ð;NÐY]Ð^Ñ^Ô^Ð^Ø€Kr9có8‡—ddlmŠm}ˆfd„}td¦«}t	| ¦«¦«j}|jdvrdStdzdzd	z}| 	¦«r|n#t¦«rd
ntjd¦«}	|t|¦«|¦«s||d|¦«|¦«sJ‚t |›d
¦«dS#t $r%d}t |›d|›¦«YdSwxYw)Nr)Ú	AutoShapeÚDetectMultiBackendcóҕ—‰|d¬¦«}||¦«jd}d|_||¦«jd}|j|jkotj||d¬¦«S)NF)r|rTgš™™™™™¹?)Úatol)ÚxywhnÚampr
r«Úallclose)ÚmodelÚimÚmÚaÚbrÝs     €r7Úamp_allclosezcheck_amp.<locals>.amp_allclose*siø€àˆIe UÐ+Ñ+Ô+ˆØ
ˆAˆb‰EŒEŒK˜ŒNˆØˆŒØ
ˆAˆb‰EŒEŒK˜ŒNˆØŒw˜!œ'Ò!ÐD¥e¤n°Q¸ÀÐ&DÑ&DÔ&DÐDr9zAMP: )ÚcpuÚmpsFr¡Úimageszbus.jpgz&https://ultralytics.com/images/bus.jpg)é€rír‡z
yolov5n.ptuchecks passed ✅Tz1https://github.com/ultralytics/yolov5/issues/7908u<checks failed ❌, disabling Automatic Mixed Precision. See )Ú
models.commonrÝrÞrðrÊrr˜r¦rêr[r=rýÚonesrrîrïrJrx)	rärÞréÚprefixr˜rÕråÚhelp_urlrÝs	        @r7Ú	check_amprò&shø€à;Ð;Ð;Ð;Ð;Ð;Ð;Ð;ðEðEðEðEðEõgÑ
Ô
€FÝ
%×"Ò"Ñ$Ô$Ñ
%Ô
%Ô
,€FØ
„{nÐ$Ð$؈uÝˆv‰
˜Ñ  9Ñ,€A؏hŠh‰jŒjÐ	tˆˆÍ,É.Ì.ÐtÐFÐFÕ^`Ô^eÐfsÑ^tÔ^t€Bð؈|H U™OœO¨RÑ0Ô0Ðn°L°LÐASÐASÐT`ÐbhÑAiÔAiÐkmÑ4nÔ4nÐnÐnÐnÝŠvÐ0Ð0Ð0Ñ1Ô1Ð1؈tøÝðððØFˆÝŠ˜&ÐhÐhÐ^fÐhÐhÑiÔiÐi؈uˆuðøøøsÂAC*Ã*+DÄDú	data.yamlcó€—t|d¬¦«5}tj|¦«cddd¦«S#1swxYwYdS)Nr0)Úerrors)r\rÆÚ	safe_load)r_rÕs  r7rÍrÍBsƒ€å	
ˆd˜8Ð	$Ñ	$Ô	$ð!¨ÝŒ~˜aÑ Ô ð!ð!ð!ð!ñ!ô!ð!ð!ð!ð!ð!ð!øøøð!ð!ð!ð!ð!ð!s’3³7º7có¾—t|d¦«5}tjd„| ¦«D¦«|d¬¦«ddd¦«dS#1swxYwYdS)Nrbcób—i|],\}}|t|t¦«rt|¦«n|“Œ-SrC)rrr1râs   r7rÞzyaml_save.<locals>.<dictcomp>Ks7€ÐYÐYÐYÁDÀAÀq˜¥Z°µ4Ñ%8Ô%8Ð?3˜q™6œ6˜6¸aÐYÐYÐYr9F©Ú	sort_keys)r\rÆÚ	safe_dumprè)r_r¡rÕs   r7Ú	yaml_saverüHs´€å	
ˆdC‰Œðo˜AÝŒÐYÐYÈDÏJÊJÉLÌLÐYÑYÔYÐ[\ÐhmÐnÑnÔnÐnðoðoðoñoôoðoðoðoðoðoðoðoøøøðoðoðoðoðoðos‘4AÁAÁA©z	.DS_StoreÚ__MACOSXcó‡—|€t|¦«j}t|¦«5}| ¦«D]4Št	ˆfd„|D¦«¦«r| ‰|¬¦«Œ5	ddd¦«dS#1swxYwYdS)Nc3ó •K—|]}|‰vV—Œ	dSrrC)rXr„rÕs  €r7rZzunzip_file.<locals>.<genexpr>Ts'øèè€Ð/Ð/ !1˜A:Ð/Ð/Ð/Ð/Ð/Ð/r9rB)rrÌrÚnamelistr	Úextract)r_r’rÚzipObjrÕs    @r7rÓrÓNsÝø€à€|ݐD‰zŒzÔ ˆÝ	‰Œð-˜&Ø—’Ñ"Ô"ð	-ð	-ˆAÝÐ/Ð/Ð/Ð/ wÐ/Ñ/Ô/Ñ/Ô/ð
-Ø—’˜q tÑ,Ô,Ð,øð	-ð-ð-ð-ñ-ô-ð-ð-ð-ð-ð-ð-ð-øøøð-ð-ð-ð-ð-ð-s§A
A?Á?BÂBcóö—tt|¦«¦« dd¦«}ttj |¦«¦«j d¦«dS)Nz:/z://rœr)r1rrcr¥r¦r§r{rP)rTs r7Úurl2filerXsW€å

d3‰iŒi‰.Œ.×
 Ò
   uÑ
-Ô
-€CÝ•”×$Ò$ SÑ)Ô)Ñ*Ô*Ô/×5Ò5°cÑ:Ô:¸1Ô=Ð=r9r‡c	󶇇‡‡‡‡	—ˆˆˆˆˆfd„Š	t|¦«}| dd¬¦«‰dkrmt‰¦«}| ˆ	fd„t	|t|¦«¦«¦«| ¦«| ¦«dSt|ttf¦«r|gn|D]}‰	||¦«ŒdS)Nc
ó•—d}tj |¦«rt|¦«}nð|t|¦«jz}t
 d|›d|›d¦«t‰dz¦«D]¥}‰rt||‰dk¬¦«}n:tj
 ||‰dk¬¦«| ¦«}|rnM|‰kr(t
 
d|dz›d	‰›d
|›d¦«Œ‡t
 
d|›d¦«Œ¦‰	rÜ|rÜ|jdkst|¦«st!|¦«rµt
 d
|›d¦«t|¦«rt#||¦«n[t!|¦«r!t%jdd|d|jgd¬¦«n+|jdkr t%jdd|d|jgd¬¦«‰r| ¦«dSdSdSdSdS)NTrržrŸr)Úsilentr®u"⚠️ Download failure, retrying rNrLu❌ Failed to download z.gzz
Unzipping ÚtarÚxfz--directory)ÚcheckÚxfz)rPr’r¤rr{rîrïÚrangerr«r¨r©r1rxr”rr	rÓrÔrÕrÌre)
rTrfÚsuccessrÕÚir¶rµÚretryr·r´s
     €€€€€r7Údownload_onezdownload.<locals>.download_one`sTø€àˆÝ
Œ7>Š>˜#ÑÔð	GݐS‘	”	ˆAˆAà•d˜3‘i”i”nÑ$ˆAÝKŠKÐ6 sÐ6Ð6°Ð6Ð6Ð6Ñ7Ô7Ð7ݘ5 1™9Ñ%Ô%ð
Gð
GØð*Ý+¨C°¸GÀaºKÐIÑIÔIGGå”I×2Ò2°3¸ÀGÈqÂLÐ2ÑQÔQÐQØŸiši™kœkGØðGؐEؘ’YYÝ—N’NÐ#`ÈÈAÉÐ#`Ð#`ÐPUÐ#`Ð#`ÐX[Ð#`Ð#`Ð#`ÑaÔaÐaÐaå—N’NÐ#E¸SÐ#EÐ#EÐ#EÑFÔFÐFÐFàð		Wð		 !¤(¨eÒ"3Ð"3µzÀ!±}´}Ð"3Í
ÐSTÉ
Ì
Ð"3ÝKŠKÐ+ QÐ+Ð+Ð+Ñ,Ô,Ð,ݘ!‰}Œ}ð
Wݘ1˜cÑ"Ô"Ð"Ð"ݘA‘”ð
WÝ”  t¨Q°
¸q¼xÐHÐPTÐUÑUÔUÐUÐUØ”˜UÒ"Ð"Ý”  u¨a°ÀÄÐIÐQUÐVÑVÔVÐVØð
Ø—’‘
”



ð		ð		ð		ð		Ð"3Ð"3ð
ð
r9TrÄrcó•—‰|ŽSrrC)r„rs €r7r…zdownload.<locals>.<lambda>„sø€˜L˜L¨!Ð,€r9)
rrrÚimapÚziprÚcloserñrr1)
rTrfr´rµr¶r·rÚpoolÚurs
  `````  @r7r¿r¿^søøøøøø€ðððððððððõ@ˆs‰)Œ)€C؇I‚Id T€IÑ*Ô*Ð*ؐ‚{€{ݘ'Ñ"Ô"ˆØ	Š	Ð,Ð,Ð,Ð,­c°#µv¸c±{´{Ñ.CÔ.CÑDÔDÐDØ
Š
‰ŒˆØ	Š	‰Œˆˆˆå$ S­3µ¨+Ñ6Ô6Ð?#¸Cð	!ð	!ˆAØˆL˜˜CÑ Ô Ð Ð ð	!ð	!r9có¬—t|tj¦«r!t| ¦«¦«}tj||z¦«|zSr)rr«ÚTensorrtrÚmathÚceil)r„Údivisors  r7rrŒsD€å'5œ<Ñ(Ô(ð%ݐg—k’k‘m”mÑ$Ô$ˆÝŒ9Q˜‘[Ñ!Ô! GÑ+Ð+r9có0—tjdd|¬¦«S)Nu"[|@#!¡·$€%&()=?¿^*;:,¨´><+]rô)rGÚreplrH)r=Úsubr5s r7Ú	clean_strr “s€å
Œ6Ð>ÀSÐQRÐSÑSÔSÐSr9r—çð?édc󇇇—ˆˆˆfd„S)Ncój•—dtj|tjz‰z¦«z
dz‰‰z
z‰zS)Nré)rÚcosÚpi)r„ÚstepsÚy1Úy2s €€€r7r…zone_cycle.<locals>.<lambda>šs4ø€q4œ8 A­¬¡K°%Ñ$7Ñ8Ô8Ñ8¸AÑ=À"ÀrÁ'ÑJÈRÑO€r9rC)r)r*r(s```r7Ú	one_cycler+˜søøø€àOÐOÐOÐOÐOÐOÐOr9có‡—t|¦«dkr|n
dd|df^}}idd“dd“d	d
“dd“dd
“dd“dd“dd“dd“dd“dd“dd“dd“dd“d d!“d"d#“d$d%“d&d'd(œ¥Šd) ˆfd*„|D¦«¦«|›z‰d$zS)+NrÚbluerÈrÚblackzÚredzÚgreenzÚyellowzzÚmagentazÚcyanzÚwhitezÚbright_blackzÚ
bright_redzÚbright_greenzÚ
bright_yellowzÚbright_bluezÚbright_magentazÚbright_cyanzÚbright_whitezÚendzzz)rÈÚ	underliner-c3ó(•K—|]}‰|V—Œ
dSrrC)rXr„Úcolorss  €r7rZzcolorstr.<locals>.<genexpr>´s'øèè€Ð+Ð+ 6˜!”9Ð+Ð+Ð+Ð+Ð+Ð+r9)r2rñ)ÚinputrÙrHr@s   @r7rðrðsHø€å  ™ZœZ¨!š^˜^EE°&¸&À%ÈÄ(Ð1KM€Tˆ6ð Øð à
ˆzð ð	ð ð	*ð	 ð
	
ð ð	:ð
 ð	
ð ð	ð ð	˜
ð ð	jð ð	˜
ð ð	˜ð ð	zð ð	˜*ð ð	zð ð 	˜
ð! ð"	ˆyð# ð$Øð' ð ð €Fð(7Š7Ð+Ð+Ð+Ð+ dÐ+Ñ+Ô+Ñ+Ô+°¨kÑ9¸FÀ5¼MÑIÐIr9éPcól—|d€tj¦«Stj|d¦«}|dd…df t
¦«}tj||¬¦«}d||dk<d|z}|| ¦«z}tj|¦« 	¦«S)Nr©Ú	minlengthr)
r«rrýÚconcatenateÚastypertÚbincountr4Ú
from_numpyÚfloat)Úlabelsr¼ÚclassesÚweightss    r7Úlabels_to_class_weightsrN·s¤€à
ˆa„yÐÝŒ|‰~Œ~Ðå
Œ^˜F AÑ
&Ô
&€FؐQQQ˜TŒl×!Ò!¥#Ñ&Ô&€GÝŒk˜'¨RÐ0Ñ0Ô0€Gð€GˆGqŠLÑØ'‰k€G؈w{Š{‰}Œ}Ñ€GÝÔ˜GÑ$Ô$×*Ò*Ñ,Ô,Ð,r9c󜇗tjˆfd„|D¦«¦«}| d‰¦«|z d¦«S)Nc󀕗g|]:}tj|dd…df t¦«‰¬¦«‘Œ;S)NrrD)rýrHrGrt)rXr„r¼s  €r7r×z+labels_to_image_weights.<locals>.<listcomp>ÍsAø€Ð\Ð\Ð\ÐPQRœ[¨¨1¨1¨1¨a¨4¬¯ª½Ñ)<Ô)<ÈÐKÑKÔKÐ\Ð\Ð\r9r)rýÚarrayÚreshaper4)rKr¼Ú
class_weightsÚclass_countss `  r7Úlabels_to_image_weightsrUÊsSø€õ”8Ð\Ð\Ð\Ð\ÐU[Ð\Ñ\Ô\Ñ]Ô]€LØ×!Ò! ! RÑ(Ô(¨<Ñ7×<Ò<¸QÑ?Ô?Ð?r9có
—gd¢S)N)Prr%r‡ršrééré	r&éé
ééééééééééééééér|é!é"é#é$é%é&é'é(é)é*é+é,é.é/é0é1é2é3é4é5é6é7é8é9é:é;é<é=é>é?é@éAéCéFéHéIéJéKéLéMéNéOrBéQéRéTéUéVéWéXéYéZrCrCr9r7Úcoco80_to_coco91_classržÑs€ð`ð`ð`ð`r9có6—t|tj¦«r| ¦«nt	j|¦«}|d|dzdz|d<|d|dzdz|d<|d|dz
|d<|d|dz
|d<|S©N©.r©.r%r%©.r©.r‡©rr«rÚclonerýÚcopy©r„Úys  r7Ú	xyxy2xywhrªÝs“€å ¥5¤<Ñ0Ô0Ð@ˆŠ‰	Œ	ˆ	µb´g¸a±j´j€Aؐ6”˜Q˜vœYÑ&¨!Ñ+€A€fIؐ6”˜Q˜vœYÑ&¨!Ñ+€A€fIؐ&”	˜A˜fœIÑ%€A€fIؐ&”	˜A˜fœIÑ%€A€fIØ€Hr9cóB—t|tj¦«r| ¦«nt	j|¦«}|d|ddzz
|d<|d|ddzz
|d<|d|ddzz|d<|d|ddzz|d<|Sr r¥r¨s  r7Ú	xywh2xyxyr¬çs™€å ¥5¤<Ñ0Ô0Ð@ˆŠ‰	Œ	ˆ	µb´g¸a±j´j€Aؐ&”	˜A˜fœI¨™MÑ)€A€fIؐ&”	˜A˜fœI¨™MÑ)€A€fIؐ&”	˜A˜fœI¨™MÑ)€A€fIؐ&”	˜A˜fœI¨™MÑ)€A€fIØ€Hr9rícór—t|tj¦«r| ¦«nt	j|¦«}||d|ddzz
z|z|d<||d|ddzz
z|z|d<||d|ddzzz|z|d<||d|ddzzz|z|d<|Sr r¥©r„rbÚhÚpadwÚpadhr©s      r7Ú
xywhn2xyxyr²ñsÁ€å ¥5¤<Ñ0Ô0Ð@ˆŠ‰	Œ	ˆ	µb´g¸a±j´j€AؐQv”Y  6¤¨Q¡Ñ.Ñ/°$Ñ6€A€fIؐQv”Y  6¤¨Q¡Ñ.Ñ/°$Ñ6€A€fIؐQv”Y  6¤¨Q¡Ñ.Ñ/°$Ñ6€A€fIؐQv”Y  6¤¨Q¡Ñ.Ñ/°$Ñ6€A€fIØ€Hr9có‚—|rt|||z
||z
f¦«t|tj¦«r| ¦«ntj|¦«}|d|dzdz|z|d<|d|dzdz|z|d<|d|dz
|z|d<|d|dz
|z|d<|Sr )Ú
clip_boxesrr«rr¦rýr§)r„rbr¯ÚclipÚepsr©s      r7Ú
xyxy2xywhnr·ûs̀àð*ݐ1q˜3‘w  C¡Ð(Ñ)Ô)Ð)Ý ¥5¤<Ñ0Ô0Ð@ˆŠ‰	Œ	ˆ	µb´g¸a±j´j€AؐF”)˜a œiÑ'¨1Ñ,°Ñ1€A€fIؐF”)˜a œiÑ'¨1Ñ,°Ñ1€A€fIؐ6”˜Q˜vœYÑ&¨!Ñ+€A€fIؐ6”˜Q˜vœYÑ&¨!Ñ+€A€fIØ€Hr9cóΗt|tj¦«r| ¦«nt	j|¦«}||dz|z|d<||dz|z|d<|S)Nr¡r£r¥r®s      r7Úxyn2xyr¹s]€å ¥5¤<Ñ0Ô0Ð@ˆŠ‰	Œ	ˆ	µb´g¸a±j´j€AؐAf”I‘
 Ñ$€A€fIؐAf”I‘
 Ñ$€A€fIØ€Hr9cór—|j\}}|dk|dkz||kz||kz}||||}}t|¦«r`tj| ¦«| ¦«| ¦«| ¦«g¦«ntjd¦«S)Nr)rrš)ÚTr]rýrQÚminrrŠ)ÚsegmentÚwidthÚheightr„r©Úinsides      r7Úsegment2boxrÁs–€àŒ9D€A€qؐ1Šf˜˜ašÑ
  A¨¢JÑ
/°1¸²;Ñ
?€FØ
ˆfŒIq˜”y€q€AÝ=@À¹V¼VÐY2Œ8Q—U’U‘W”W˜aŸeše™gœg q§u¢u¡w¤w°·²±´Ð8Ñ9Ô9Ð9ÍÌÐRXÑIYÔIYÐYr9có(—g}|D]m}|j\}}| | ¦«| ¦«| ¦«| ¦«g¦«Œnt	tj|¦«¦«Sr)r»Úappendr¼rrªrýrQ)ÚsegmentsÚboxesr6r„r©s     r7Úsegments2boxesrÆsu€à€EØ
ð;ð;ˆØŒs‰ˆˆ1Ø
Ša—e’e‘g”g˜qŸušu™wœw¨¯ª©¬°·²±´Ð9Ñ:Ô:Ð:Ð:Ý•R”X˜e‘_”_Ñ%Ô%Ð%r9éèc󢇇‡—t|¦«D]»\}Štj‰‰dd…dd…ffd¬¦«Štjdt	‰¦«dz
|¦«Štjt	‰¦«¦«Štjˆˆˆfd„t
d¦«D¦«¦« dd¦«j||<Œ¼|S)Nrr)Úaxisc	óP•—g|]"}tj‰‰‰dd…|f¦«‘Œ#Sr)rýÚinterp)rXrr6r„Úxps  €€€r7r×z%resample_segments.<locals>.<listcomp>&s3ø€Ð%RÐ%RÐ%RÀA¥b¤i°°2°q¸¸¸¸A¸´wÑ&?Ô&?Ð%RÐ%RÐ%Rr9r%r)	rÏrýrFÚlinspacer2Úaranger
rRr»)rÄrZrr6r„rÌs   @@@r7Úresample_segmentsrÏ sÌøøø€å˜(Ñ#Ô#ðeðe‰ˆˆ1ÝŒN˜A˜q  1  a a a œy˜>°Ð2Ñ2Ô2ˆÝŒK˜3˜q™6œ6 A™: qÑ)Ô)ˆÝ
ŒY•s˜1‘v”vÑ
Ô
ˆÝ”nÐ%RÐ%RÐ%RÐ%RÐ%RÐ%RÍÈqÉÌÐ%RÑ%RÔ%RÑSÔS×[Ò[Ð\]Ð_aÑbÔbÔdˆ‰ˆØ€Or9có —|€]t|d|dz|d|dz¦«}|d|d|zz
dz|d|d|zz
dzf}n|dd}|d}|dddgfxx|dzcc<|dddgfxx|dzcc<|ddd…fxx|zcc<t||¦«|S)Nrrr%.r‡rš)r¼r´)Ú
img1_shaperÅÚ
img0_shapeÚ	ratio_padÚgainÚpads      r7Úscale_boxesrÖ*s€àÐݐ:˜a”= :¨a¤=Ñ0°*¸Q´-À*ÈQÄ-Ñ2OÑPÔPˆØ˜!Œ}˜z¨!œ}¨tÑ3Ñ3°qÑ8¸:Àa¼=È:ÐVWÌ=Ð[_ÑK_Ñ;_ÐcdÑ:dÐdˆˆà˜Œ|˜AŒˆØ˜Œlˆà	ˆ#1ˆvˆ+ÐÐÔ˜#˜aœ&Ñ ÐÐÑØ	ˆ#1ˆvˆ+ÐÐÔ˜#˜aœ&Ñ ÐÐÑØ	ˆ#ˆrˆrˆ'€N€N„NdÑ€N€NN݈ujÑ!Ô!Ð!Ø€Lr9cóî—|€]t|d|dz|d|dz¦«}|d|d|zz
dz|d|d|zz
dzf}n|dd}|d}|dd…dfxx|dzcc<|dd…dfxx|dzcc<||z}t||¦«|r4|dd…dfxx|dzcc<|dd…dfxx|dzcc<|S)Nrrr%)r¼Ú
clip_segments)rÑrÄrÒrÓÚ	normalizerÔrÕs       r7Úscale_segmentsrÚ:s3€àÐݐ:˜a”= :¨a¤=Ñ0°*¸Q´-À*ÈQÄ-Ñ2OÑPÔPˆØ˜!Œ}˜z¨!œ}¨tÑ3Ñ3°qÑ8¸:Àa¼=È:ÐVWÌ=Ð[_ÑK_Ñ;_ÐcdÑ:dÐdˆˆà˜Œ|˜AŒˆØ˜ŒlˆàˆQˆQˆQˆT€N€N„Nc˜!”fÑ€N€NNØˆQˆQˆQˆT€N€N„Nc˜!”fÑ€N€NNØÑ€Hݐ(˜JÑ'Ô'Ð'Øð(ؐAˆˆŒ˜* Qœ-Ñ'ˆˆ‰ØAˆˆŒ˜* Qœ-Ñ'ˆˆ‰Ø€Or9có—t|tj¦«rŠ|d d|d¦«|d d|d¦«|d d|d¦«|d d|d¦«dS|dddgf d|d¦«|dddgf<|ddd	gf d|d¦«|ddd	gf<dS)
Nr¡rrr£r¢r¤.r%r‡©rr«rÚclamp_rµ)rÅr
s  r7r´r´Ms€å%œÑ&Ô&ðBØ
ˆfŒ
×Ò˜Q  a¤Ñ)Ô)Ð)Ø
ˆfŒ
×Ò˜Q  a¤Ñ)Ô)Ð)Ø
ˆfŒ
×Ò˜Q  a¤Ñ)Ô)Ð)Ø
ˆfŒ
×Ò˜Q  a¤Ñ)Ô)Ð)Ð)Ð)à" 3¨¨A¨ ;Ô/×4Ò4°Q¸¸a¼ÑAÔAˆˆcAq6ˆkÑØ" 3¨¨A¨ ;Ô/×4Ò4°Q¸¸a¼ÑAÔAˆˆcAq6ˆkÑÐÐr9cóŠ—t|tj¦«rN|dd…df d|d¦«|dd…df d|d¦«dS|dd…df d|d¦«|dd…df<|dd…df d|d¦«|dd…df<dS)NrrrÜ)rÄr
s  r7rØrØYs΀å(EœLÑ)Ô)ð:ؐAŒ×Ò˜a  q¤Ñ*Ô*Ð*ؐAŒ×Ò˜a  q¤Ñ*Ô*Ð*Ð*Ð*à! ! ! ! Q $œ×,Ò,¨Q°°a´Ñ9Ô9ˆA‰Ø! ! ! ! Q $œ×,Ò,¨Q°°a´Ñ9Ô9ˆA‰ˆˆr9çÐ?çÍÌÌÌÌÌÜ?é,c	óT
—d|cxkrdksnJd|›d¦«‚d|cxkrdksnJd|›d¦«‚t|ttf¦«r|d}|j}	d|	jv}
|
r| ¦«}|jd}|jd|z
dz
}|d	|k}
d
}d}dd
|zz}d}||dkz}d}tj¦«}d|z}tj	dd|zf|j¬¦«g|z}t|¦«D]\}}||
|}|rÄt||¦«r¯||}tj	t|¦«||zdzf|j¬¦«}|dd…dd…f|dd…dd…f<d|dd…df<d|tt|¦«¦«|dd…df 
¦«dzf<tj||fd¦«}|jdsŒè|dd…dd…fxx|dd…dd…fzcc<t|dd…dd…f¦«}|dd…|d…f}|r||dd…d|…f|k d¬¦«j\}}tj||||d|zdf|dd…df ¦«||fd¦«}nn|dd…d|…f dd¬¦«\}}tj||| ¦«|fd¦«| d¦«|k}|D||dd…dd…ftj||j¬¦«k d¦«}|jd}|sŒv||dd…df d¬¦«d|…}|dd…dd…f|rdn|z} |dd…dd…f| z|dd…df}"}!t0j |!|"|¦«}|d|…}|r¨d|cxkrdkr›nn˜t7|!||!¦«|k}#|#|"dz}$tj|$|dd…dd…f¦« ¦«|$ dd¬¦«z||dd…f<|r||# d¦«dk}||||<|
r|| |	¦«||<tj¦«|z
|kr!t>  d|d›d¦«nŒ|S)z¯Non-Maximum Suppression (NMS) on inference results to reject overlapping detections

    Returns:
         list of detections, on (n,6) tensor per image [xyxy, conf, cls]
    rrzInvalid Confidence threshold z&, valid values are between 0.0 and 1.0zInvalid IoU rër%r).ršii0ugà?gš™™™™™©?TFrW)r˜Nršr!)Úas_tuple)Úkeepdimr)Ú
descendinggp§@uWARNING ⚠️ NMS time limit z.3fz
s exceeded)!rr‚r“r˜r¦rêr
r r«rŠrÏr2r
r Úcatr¬Únonzeror»rJrÚviewÚtensorr]ÚargsortÚtorchvisionÚopsÚnmsrÚmmr4Útorîrx)%Ú
predictionÚ
conf_thresÚ	iou_thresrLÚagnosticÚmulti_labelrKÚmax_detÚnmr˜rëÚbsr¼ÚxcÚmax_whÚmax_nmsÚ
time_limitÚ	redundantÚmergerœÚmiÚoutputÚxir„ÚlbrÝÚboxÚmaskrÚjÚconfrZÚcrÅÚscoresÚiourMs%                                     r7Únon_max_suppressionr	csã€ð$

ÐÐÒИaÒÐÐÐÐÐ!sÀÐ!sÐ!sÐ!sÑÔÐØ	ÐÐÒИQÒÐÐÐÐÐ `¨yÐ `Ð `Ð `ÑÔÐݐ*t¥U˜mÑ,Ô,ð#Ø ”]ˆ
à
Ô
€FØ
6”;Ð
€CØ
ð&Ø—^’^Ñ%Ô%ˆ
Ø	Ô	˜!Ô	€BØ	Ô	˜!Ô	˜rÑ	! AÑ	%€BØ	FÔ	˜jÒ	(€Bð€FØ€Gؐt˜b‘y‘€JØ€Iؐ2˜’6Ñ€KØ€EåŒ	‰Œ€AØ	
ˆR‰€BÝŒk˜1˜a "™f˜+¨jÔ.?Ð@Ñ@Ô@Ð
AÀBÑ
F€Fݘ:Ñ&Ô&ðAñA‰ˆˆAð
ˆbŒfŒIˆðð	%•c˜& œ*‘o”oð	%ؘ”ˆBÝ”S ™WœW b¨2¡g°¡kÐ2¸1¼8ÐDÑDÔDˆAؘ!˜!˜!˜Q˜q˜S˜&”zˆAˆaˆaˆa!ˆe‰H؈Aˆaˆaˆaˆd‰GØ58ˆAe•C˜‘G”G‰nŒn˜b    A œhŸmšm™oœo°Ñ1Ð1Ñ2Ý”	˜1˜a˜& !Ñ$Ô$ˆAðŒwqŒzð	Øð	
ˆ!ˆ!ˆ!ˆQˆRˆRˆ%ˆˆŒAaaa˜˜1˜f”Iшˆ‰õ˜˜!˜!˜!˜R˜a˜R˜%œÑ!Ô!ˆØBCCŒyˆðð	Wؐaaa˜˜2˜g”J Ò+×4Ò4¸eÐ4ÑDÔDÔF‰DˆAˆqÝ”	˜3˜qœ6 1 Q¨¨A©¨t ^Ô#4°a¸¸¸¸4¸´j×6FÒ6FÑ6HÔ6HÈ$ÈqÌ'ÐRÐTUÑVÔVˆAˆAà˜˜˜˜1˜R˜4˜”j—n’n Q°nÑ5Ô5‰GˆD!Ý”	˜3  a§g¢g¡i¤i°Ð6¸Ñ:Ô:¸4¿9º9ÀR¹=¼=È:Ò;UÔVˆAðÐØ1QQQ˜˜!˜V”9¥¤¨W¸Q¼XÐ FÑ FÔ FÒF×KÒKÈAÑNÔNÔOˆAð
ŒGAŒJˆØð	ÙØ
ˆa1ŒgoŠo¨ˆoÑ.Ô.¨x°¨xÔ8Ô9ˆð
ˆaˆaˆa1ˆfŒI˜hÐ2˜˜¨FÑ3ˆØ˜!˜!˜!˜R˜a˜R˜%œ 1™ a¨¨¨¨1¨¤gˆvˆÝŒO×Ò  v¨yÑ9Ô9ˆØ
ˆhˆwˆhŒKˆØð	&a˜!kk’kk˜c’kkkkkå˜% œ( EÑ*Ô*¨YÒ6ˆCؘF 4œLÑ(ˆGÝ”x ¨¨1¨1¨1¨b¨q¨b¨5¬Ñ2Ô2×8Ò8Ñ:Ô:¸W¿[º[ÈÐTX¸[Ñ=YÔ=YÑYˆAˆa!ˆe‰HØð
&ؐc—g’g˜a‘j”j 1’nÔ%àq”Tˆˆr‰
Øð	/Ø œŸš vÑ.Ô.ˆF2‰JÝŒI‰KŒK˜!‰O˜zÒ)Ð)ÝNŠNÐV¸JÐVÐVÐVÐVÑWÔWÐWØˆEñ*ð€Mr9úbest.ptc	ó—tj|tjd¦«¬¦«}| d¦«r|d|d<dD]}d||<Œd|d<|d ¦«|d ¦«D]	}d|_Œ
tj||p|¦«tj	 
|p|¦«d	z}t d
|›d|rd|›dnd
›d|d›d¦«dS)Nrê)Úmap_locationÚemarä)Ú	optimizerÚbest_fitnessr
ÚupdatesrÚepochFg€„.AzOptimizer stripped from ú,z
 saved as r-rLz.1fÚMB)
r«Úloadr˜rRÚhalfrÚ
requires_gradÚsaverPr’Úgetsizerîrï)rÕr6r„rÜÚpr5s      r7Ústrip_optimizerrÔs€å
Œ
1¥5¤<°Ñ#6Ô#6Ð7Ñ7Ô7€A؇u‚uˆU|„|ðؐu”Xˆˆ'‰
Ø
:ððˆØˆˆ!‰ˆØ€A€gJØ€g„J‡O‚OÑÔÐØ
ˆwŒZ×
"Ò
"Ñ
$Ô
$ð ð ˆØˆŒˆÝ	„Jˆq!&qÑÔÐÝ	ŒŠ˜˜˜aÑ	 Ô	  3Ñ	&€BÝ
‡K‚KÐZ¨1ÐZÐZÀAÐ/MÐ/@¸AÐ/@Ð/@Ð/@Ð/@È2ÐZÐZÐPRÐZÐZÐZÐZÑ[Ô[Ð[Ð[Ð[r9zevolve: cóÊ—|dz}|dz}t|¦«t| ¦«¦«z}td„|D¦«¦«}|t| ¦«¦«z}t|¦«}	|r`d|›d}
t	|
¦«| ¦«r| ¦«jndkrtj	dd|
›|›g¦«| ¦«rd	nd
|	z|z 
d¦«dz}t|d
¦«5}| |d|	z|z 
d¦«zdz¦«ddd¦«n#1swxYwYt|d¦«5}tj|d¬¦«}
|
 d„¬¦«}
t!jt%|
jdd…dd…f¦«¦«}t|
¦«}| dd|›dzd|dz
›dzdzd d„|dd…D¦«¦«zdzdzd d„|
j|dd…fD¦«¦«zdz¦«t)j|
j|dd… ¦«|d¬ ¦«ddd¦«n#1swxYwYt0 ||›d!z|zd d"„|D¦«¦«zdz|zd d#„|D¦«¦«zdz¦«|r tj	dd|›|›d|›g¦«dSdS)$Nz
evolve.csvzhyp_evolve.yamlc3ó>K—|]}| ¦«V—ŒdSr©rRrws  r7rZz!print_mutation.<locals>.<genexpr>ès*èè€Ð)Ð)˜q—’‘”Ð)Ð)Ð)Ð)Ð)Ð)r9zgs://z/evolve.csvrÚgsutilÚcpr-z%20s,rú
rçz%20.5g,rbT)Úskipinitialspacecó*—| ¦«Srrrƒs r7r…z print_mutation.<locals>.<lambda>ús€¨Q¯WªW©Y¬Y€r9)Úcolumnsršz*# YOLOv5 Hyperparameter Evolution Results
z# Best generation: z# Last generation: rz# rßc3óBK—|]}| ¦«d›V—ŒdS©z>20sNrrws  r7rZz!print_mutation.<locals>.<genexpr>þs6èè€ÐLsÐLsÐefÐPQ×PWÒPWÑPYÔPYÐM`ÐM`ÐLsÐLsÐLsÐLsÐLsÐLsr9rXc3óK—|]}|d›V—Œ	dS)z>20.5gNrCrws  r7rZz!print_mutation.<locals>.<genexpr>ÿs&èè€Ð'RÐ'R¸!¨1¨
¨
Ð'RÐ'RÐ'RÐ'RÐ'RÐ'Rr9z

Frùz' generations finished, current result:
c3óBK—|]}| ¦«d›V—ŒdSr%rrws  r7rZz!print_mutation.<locals>.<genexpr>s0èè€Ð<Ð<°!˜QŸWšW™YœYÐ-Ð-Ð<Ð<Ð<Ð<Ð<Ð<r9c3óK—|]}|d›V—Œ	dS)z20.5gNrCrws  r7rZz!print_mutation.<locals>.<genexpr>sNèè€ðYhðYhØ]^ð]^ÐYeÐYeðYhðYhðYhðYhðYhðYhr9)r“rÐÚvaluesr2rr[r%r2rÔrÕÚrstripr\ÚwriteÚpdÚread_csvÚrenamerýÚargmaxrrñrÆrûÚlocÚto_dictrîrï)rÐÚresultsÚhypÚsave_dirÚbucketrðÚ
evolve_csvÚevolve_yamlÚvalsrZrTr6rÕr¡rÚgenerationss                r7Úprint_mutationr:äs}€Ø˜LÑ(€JØÐ.Ñ.€Kݐ‰;Œ;˜sŸxšx™zœzÑ*Ô*Ñ*€DÝÐ)Ð) DÐ)Ñ)Ô)Ñ)Ô)€DØ•U˜3Ÿ:š:™<œ<Ñ(Ô(Ñ(€D݈D‰	Œ	€AððFØ)fÐ)Ð)Ð)ˆÝ˜#ÑÔ¸z×?PÒ?PÑ?RÔ?RÐ"Y *§/¢/Ñ"3Ô"3Ô";Ð";ÐXYÒZÐZÝŒN˜H d¨s¨H¸°mÐDÑEÔEÐEð×ÒÑ!Ô!ÐPˆˆ¨°1©°tÑ);×(CÒ(CÀCÑ(HÔ(HÈ4Ñ(O€AÝ	
ˆj˜#Ñ	Ô	ð? !Ø	ŠY ‘] TÑ)×1Ò1°#Ñ6Ô6Ñ6¸Ñ=Ñ>Ô>Ð>ð?ð?ð?ñ?ô?ð?ð?ð?ð?ð?ð?øøøð?ð?ð?ð?õ
ˆk˜3Ñ	Ô	ðF 1ÝŒ{˜:¸Ð=Ñ=Ô=ˆØ{Š{Ð#6Ð#6ˆ{Ñ7Ô7ˆÝŒI•g˜dœk¨!¨!¨!¨R¨a¨R¨%Ô0Ñ1Ô1Ñ2Ô2ˆÝ˜$‘i”iˆØ	ŠÐ=Ð@[ÐVWÐ@[Ð@[Ð@[Ñ[Ø9 k°A¡oÐ9Ð9Ð9ñ:Ø<@ñAØCGÇ9Â9ÐLsÐLsÐjnÐoqÐpqÐoqÔjrÐLsÑLsÔLsÑCsÔCsñtàñàñà"ŸišiÐ'RÐ'R¸t¼{È1ÈbÈqÈbÈ5Ô?QÐ'RÑ'RÔ'RÑRÔRñSàU[ñ\ñ	]ô	]ð	]õ	
Œt”x ”{ 1 2 2”×.Ò.Ñ0Ô0°!¸uÐEÑEÔEÐEðFðFðFñFôFðFðFðFðFðFðFøøøðFðFðFðFõ‡K‚K˜KÐQÐQÐQÑQÐTZÑZØ—	’	Ð<Ð<°tÐ<Ñ<Ô<Ñ<Ô<ñ=Ø?CñDØFLñMØOSÏyÊyðYhðYhØbfðYhñYhôYhñPhôPhñhàjpñqñrôrðrðð^ÝŒ˜ $¨:¨¸KÐ9IÐK[ÐSYÐK[ÐK[Ð\Ñ]Ô]Ð]Ð]Ð]ð^ð^s%Ä.5E/Å/E3Å6E3Æ
D4K
Ë
KËKc	ó$—t|tj¦«r|gn|}t|¦«D]_\}}|Vt	|¦«rF| ¦«}t
|dd…dd…f¦«}|dd…dd…f d¦«d d¦«|dd…dd…f<|dd…dd…fdzdz|dd…dd…f<t|¦« 
¦«|dd…dd…f<t|jdd…|dd…dd…f||j¦«|dd…df 
¦«}g}|D]Ø}	||t|	d¦«t|	d¦«…t|	d¦«t|	d¦«…f}
tj|
d	¦«}|dd…dd…ddd
…f ddd¦«}tj|tj¬¦«}|dz}| |¦«ŒÙ|t)j|¦« |j¦«¦« d¦«}||||k||<Œa|S)
Nršr%rrgÍÌÌÌÌÌô?érr‡)éàr=r)Údtypeéÿ)rrýÚndarrayrÏr2r¦rªrÚ	unsqueezer¬r rÖr
rtrˆÚresizeÚ	transposeÚascontiguousarrayÚfloat32rÃr«rrïr˜r/)
r„räÚimgÚim0rr¬rèÚ	pred_cls1ÚimsrçÚcutoutråÚ	pred_cls2s
             r7Úapply_classifierrLsx€õ˜c¥2¤:Ñ.Ô.Ð
7ˆ3ˆ%ˆ%°C€Cݘ!‘”ð0ñ0‰ˆˆ1Ø‰=S ™VœV‰=Ø—’‘	”	ˆAõ˜!˜A˜A˜A˜r ˜r˜Eœ(Ñ#Ô#ˆAؘ˜˜˜A˜B˜B˜”x—|’| A‘” qÔ)×3Ò3°AÑ6Ô6ˆAˆaˆaˆaˆe‰Hؘ˜˜˜A˜B˜B˜”x #‘~¨Ñ*ˆAˆaˆaˆaˆe‰HÝ  ‘|”|×(Ò(Ñ*Ô*ˆAˆaˆaˆa!ˆe‰Hõ
˜œ	 ! " "œ
 q¨¨¨¨B¨Q¨B¨¤x°°Q´´Ñ>Ô>Ð>ð˜!˜!˜!˜Q˜$œŸš™œˆI؈CØð
ð
Ø˜Qœ¥ A a¤D¡	¤	­#¨a°¬d©)¬)Ð 3µS¸¸1¼±Y´Y½sÀ1ÀQÄ4¹y¼yÐ5HÐ HÔIÝ”Z ¨
Ñ3Ô3à˜˜˜˜1˜1˜1˜d˜d ˜d˜
”^×-Ò-¨a°°AÑ6Ô6ÝÔ)¨"µB´JÐ?Ñ?Ô?Øc‘	Ø—
’
˜2‘”à˜eœl¨3Ñ/Ô/×2Ò2°1´8Ñ<Ô<Ñ=Ô=×DÒDÀQÑGÔGˆIؐQ”4˜	 YÒ.Ô/ˆAˆa‰Dùà€Hr9cóŠ—t|¦«}| ¦«r†|s„| ¦«r| d¦«|jfn|df\}}tdd¦«D]-}|›|›|›|›}tj |¦«snŒ.t|¦«}|r| dd¬¦«|S)Nr-r%i'TrÄ)	rr[r1rër”r
rPr’r)r’r‹Úseprr”rZrs       r7Úincrement_pathrO.sހ吉:Œ:€D؇{‚{}„}ð˜XðØ>B¿lºl¹n¼nÐ\˜×(Ò(¨Ñ,Ô,¨d¬kÐ:Ð:ÐSWÐY[ÐR\‰ˆˆfõq˜$‘”ð	ð	ˆAØÐ)˜Ð)˜aÐ) Ð)Ð)ˆAÝ”7—>’> !Ñ$Ô$ð
ؐð
åA‰wŒwˆð
ð0Ø
Š
˜4¨$ˆ
Ñ/Ô/Ð/à€Kr9cóf—tjtj|tj¦«|¦«Sr)rˆÚimdecoderýÚfromfileÚuint8)ÚfilenameÚflagss  r7ÚimreadrVLs"€ÝŒ<œ H­b¬hÑ7Ô7¸Ñ?Ô?Ð?r9cóª—	tjt|¦«j|¦«d |¦«dS#t
$rYdSwxYw)NrTF)rˆÚimencoderr”ÚtofilerJ)rTrFs  r7ÚimwriterZPs\€ðÝŒ•T˜(‘^”^Ô*¨CÑ0Ô0°Ô3×:Ò:¸8ÑDÔDÐD؈tøÝððð؈uˆuðøøøs‚AAÁ
AÁAcóp—t| d¦« ¦«|¦«dS)NÚunicode_escape)Úimshow_r3r4)r’rås  r7r‰r‰Xs1€ÝˆDKŠKÐ(Ñ)Ô)×0Ò0Ñ2Ô2°BÑ7Ô7Ð7Ð7Ð7r9)r-)r:)F)r†r‡)NTF)rF)rC)r)rDrE)rk)rqrqrrFFF)r|r)rr‘r-)r—)T)ró)Nrý)rTTFrr‡)r—r!r")rB)rírírr)ríríFr—)rírí)rÇr)NF)rßràNFFrCrár)r
r-)Fr-F)«Ú__doc__rHrrãrvÚlogging.configrrPrrûr=r½rÔrAr r¥r§rrÚ	itertoolsrÚmultiprocessing.poolrÚpathlibrrÚtarfiler	Útypingr
ÚzipfilerrrˆÚnumpyrýÚpandasr,Ú
pkg_resourcesrur«rërÆrKÚhasattrÚImportErrorÚAssertionErrorrŽÚultralytics.utils.checksrr£rrÚutils.downloadsrrÚ
utils.metricsrrÚ__file__rÉÚFILErÅrêrtrurr¼rÚ	cpu_countÚNUM_THREADSrÌrÉr1r•ÚAUTOINSTALLÚVERBOSEÚTQDM_BAR_FORMATÚFONTÚset_printoptionsrkÚoptionsÚdisplayÚmax_columnsÚ
setNumThreadsrQr8r?rDrLrSr<r`rhÚLOGGING_NAMEr~Ú	getLoggerrîrïrxr‚Úsetattrr­r”r°ÚContextDecoratorr–r±rÆrØrÎr÷rrrr!r(r.r6r=rCr\rjrprr…rr–ršr™r²rÛròrÍrürÓrr¿rr r+rðrNrïrUržrªr¬r²r·r¹rÁrÆrÏrÖrÚr´rØr	rr:rLrOr‰r]ÚIMREAD_COLORrVrZÚstackrTÚas_posixrCr9r7ú<module>rƒs7ððððÐÐÐØ€€€Ø€€€Ø€€€ØÐÐÐØ€€€Ø	€	€	€	Ø€€€Ø
€
€
€
Ø	€	€	€	Ø
€
€
€
ØÐÐÐØ
€
€
€
Ø€€€Ø
€
€
€
ØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØ+Ð+Ð+Ð+Ð+Ð+ØÐÐÐÐÐØ#Ð#Ð#Ð#Ð#Ð#ØÐÐÐÐÐØÐÐÐÐÐØ'Ð'Ð'Ð'Ð'Ð'Ð'Ð'à
€
€
€
ØÐÐÐØÐÐÐØÐÐÐØ€€€ØÐÐÐØ€€€ðØÐÐÐàˆ7; 
Ñ.Ô.Ð.Ð.Ð.Ð.øØ^Ð$ðððØ
€B„IÐ*Ñ+Ô+Ð+ØÐÐÐÐÐðøøøð8Ð7Ð7Ð7Ð7Ð7à#Ð#Ð#Ð#Ð#Ð#Ð#Ð#Ø9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ø*Ð*Ð*Ð*Ð*Ð*Ð*Ð*à€tˆH~„~×ÒÑԀ؄|A„€Ø
€sˆ9ˆ2Œ9V˜RÑ Ô Ñ!Ô!€ðˆc!SS˜˜L˜BœL™NœN¨QÑ.Ñ/Ô/Ñ0Ô0€ØˆtIB”IÐ3°T´[À:Ñ5MÑNÔNÑOÔO€؈c)"”)Ð0°$Ñ7Ô7Ñ8Ô8×>Ò>Ñ@Ô@ÀFÒJ€Ø

ˆ#ˆiˆbŒiÐ(¨$Ñ/Ô/Ñ
0Ô
0×
6Ò
6Ñ
8Ô
8¸FÒ
B€Ø*€Ø€à€Ô °¸6ÐBÑBÔBÐBØ€Ô˜c¨l¸JÔ<MÐ-NÐOÑOÔOÐOØ!#€„
ÔÔØ€Ô!ÑÔÐØ$' C¨Ñ$4Ô$4€„
Ð Ñ!Ø'6 x¤Ñ'8Ô'8¸HÒ'DÐ'D  È#È#ÈkÑJZÔJZ€„
ÐÑØ%(€„
Ð!Ñ"ð?ð?ð?ð?ð6ð6ð6ð6ð
)ð)ð)ð
ðððxðxðxð
4ððððððððð€ð"¨4ð)ð)ð)ð)ð,€ˆLÑÔÐØ	ˆÔ	˜<Ñ	(Ô	(€Ø€8„?ÑÔ˜	Ò!Ð!ØŒk˜6œ>Ð)ð>ð>ˆØˆ˜œÐ%<Ð%<Ñ=Ô=Ð=Ð=ð
ð
ð
ð
ðˆ_Ñ
Ô
€
ðððððˆjÔ)ñôðð*ððððˆjÔ)ñôðð,
ð
ð
ð
ð
zÔ2ñ
ô
ð
ðcðcðcð
NðNX˜d”^ðNðNðNðNð1ð1ð1ð1ðtðtðtðtð
oðoðoðEðEðEðEððððððð)ð)ð)ð)ð	ð	ð	ð$ð$ð$ðððððð€„ØÐ$ÑÔðððñÔñ
„ðð4А$ÑÔð@ð@ð@ñÔð@ð"QðQðQðQð
	ð	ð	ð	ð	ð	ð	ð	ð
ð
ð
ð
ð NðNðNðNð$ð$ð$ð$ð
ðððð8 5ðJðJðJðJð?ð?ð?ð?ðDððð8!ð!ð!ð!ð Rðoðoðoðoð-ð-ð-ð-ð>ð>ð>ð+!ð+!ð+!ð+!ð\,ð,ð,ðTðTðTð
PðPðPðPð
JðJðJð4-ð-ð-ð-ð&(*¸¸¼À¹¼ð@ð@ð@ð@ð	`ð	`ð	`ð
ð
ð
ð
ð
ð
ð
ð
ð
ð
ð	
ð	
ð	
ð	
ð
ð
ð
ð
ðZðZðZðZð&ð&ð&ððððð
ð
ð
ð
ð ðððð&	Bð	Bð	Bð:ð:ð:ðØØØØØØØðnðnðnðnðb
\ð
\ð
\ð
\ð AIÀÈÑ@TÔ@Tð$^ð$^ð$^ð$^ðN 
ð 
ð 
ðFðððð6Œ*€ðÔ+ð@ð@ð@ð@ðððð8ð8ð8ð€4ˆ
ˆŒ
‰Œ˜ÔÔ#Ñ$Ô$Ô+Ô2×;Ò;Ñ=Ô=ÀÀÄÁÄÐQSÔATÔA]Ð]Ð]Ø*0°'¸6Ð'€C„J”˜SœZ˜Z˜Zð^Ð]sÂB'Â'CÃC