Ë
    FêñiL  ã                   ó¨  — d dl Z d dlZd dlZd dlZd dlmZ d dlZd dlmZm	Z	 d dl
mZmZ d dlmZmZmZ d dlmZ ej&                  j(                  d„ «       Zej&                  j-                   edd	¬
«       d¬«      d„ «       Zej&                  j-                   edd	¬
«       d¬«      d„ «       Zej&                  j-                  dd¬«      ej&                  j-                   edd	¬
«       d¬«      d„ «       «       Zej&                  j-                   edd	¬
«       d¬«      d„ «       Zej&                  j-                   edd	¬
«       d¬«      d„ «       Zy)é    N)ÚPath)ÚMODELÚSOURCE)ÚYOLOÚdownload)Ú
ASSETS_URLÚDATASETS_DIRÚSETTINGS)Úcheck_requirementsc                  óf   — dt         d<   t        d«      j                  ddddd¬	«       dt         d<   y
)z/Test training with TensorBoard logging enabled.TÚtensorboardúyolo26n-cls.yamlÚ
imagenet10é    é   FÚcpu©ÚdataÚimgszÚepochsÚplotsÚdeviceN©r
   r   Útrain© ó    úY/var/www/pod-logistic/pod-ai/venv/lib/python3.12/site-packages/tests/test_integrations.pyÚtest_tensorboardr      s9   € ð #„Hˆ]ÑÜÐ	Ó×"Ñ"¨¸BÀqÐPUÐ^cÐ"ÔdØ#„Hˆ]Òr   ÚrayF)Úinstallzray[tune] not installed)Úreasonc            
      óH   — t        d«      j                  dddddddd¬«       y	)
z:Tune YOLO model using Ray for hyperparameter optimization.r   Tr   é   r   Fr   )Úuse_rayr   Úgrace_periodÚ
iterationsr   r   r   r   N)r   Útuner   r   r   Útest_model_ray_tuner(      s1   € ô 	Ð	Ó×!Ñ!Ø˜<°aÀAÈRÐXYÐafÐotð "õ r   Úmlflowzmlflow not installedc                  óf   — dt         d<   t        d«      j                  ddddd¬	«       dt         d<   y
)z+Test training with MLflow tracking enabled.Tr)   r   r   r   r   Fr   r   Nr   r   r   r   Útest_mlflowr+   !   s9   € ð „HˆXÑÜÐ	Ó×"Ñ"¨¸BÀqÐPUÐ^cÐ"ÔdØ„HˆXÒr   TzQTest failing in scheduled CI https://github.com/ultralytics/ultralytics/pull/8868c                  ó  — ddl } dt        d<   d}|t        j                  d<   dt        j                  d<   t	        d	«      j                  d
dddd¬«       | j                  «       j                  j                  }|dk(  sJ d«       ‚| j                  «       j                  j                  }dt        j                  d<   t	        d	«      j                  d
dddd¬«       | j                  |¬«      j                  j                  }|dk(  sJ d«       ‚t        j                  j                  dd«       t	        d	«      j                  d
dddd¬«       | j                  |¬«      j                  j                  }|dk(  sJ d«       ‚dt        d<   y)zVEnsure MLflow run status matches MLFLOW_KEEP_RUN_ACTIVE environment variable settings.r   NTr)   zTest RunÚ
MLFLOW_RUNÚTrueÚMLFLOW_KEEP_RUN_ACTIVEr   r   r   r#   Fr   r   ÚRUNNINGz<MLflow run should be active when MLFLOW_KEEP_RUN_ACTIVE=TrueÚFalse)Úrun_idÚFINISHEDz<MLflow run should be ended when MLFLOW_KEEP_RUN_ACTIVE=FalsezLMLflow run should be ended by default when MLFLOW_KEEP_RUN_ACTIVE is not set)r)   r
   ÚosÚenvironr   r   Ú
active_runÚinfoÚstatusr2   Úget_runÚpop)r)   Úrun_namer8   r2   s       r   Útest_mlflow_keep_run_activer<   )   sp  € ó à„HˆXÑØ€HØ'„B‡J�Jˆ|Ñð ,2„B‡J�JÐ'Ñ(ÜÐ	Ó×"Ñ"¨¸BÀqÐPUÐ^cÐ"ÔdØ×ÑÓ ×%Ñ%×,Ñ,€FØ�YÒÐ^Ð ^Ó^Ðà×ÑÓ ×%Ñ%×,Ñ,€Fð ,3„B‡J�JÐ'Ñ(ÜÐ	Ó×"Ñ"¨¸BÀqÐPUÐ^cÐ"ÔdØ�^‰^ 6ˆ^Ó*×/Ñ/×6Ñ6€FØ�ZÒÐ_Ð!_Ó_Ðô ‡J�J‡N�NÐ+¨TÔ2ÜÐ	Ó×"Ñ"¨¸BÀqÐPUÐ^cÐ"ÔdØ�^‰^ 6ˆ^Ó*×/Ñ/×6Ñ6€FØ�ZÒÐoÐ!oÓoÐØ„HˆXÒr   Útritonclientztritonclient[all] not installedc                 ó  — t        d«       ddlm} d}| dz  }||z  }t        t        «      j                  dd¬«      }|d	z  j                  dd¬
«       t        |«      j                  |d	z  dz  «       |dz  j                  «        d}t        j                  d|› �d¬«       t        j                  d|› d|› d�d¬«      j                  d«      j                  «       } |ddd¬«      }t        d«      D ]9  }	t!        j"                  t$        «      5  |j'                  |«      sJ ‚	 ddd«        n  t        d|› �d«      t,        «       t        j                  d|› �d¬«       y# 1 sw Y   nxY wt)        j*                  d«       Œ’)z:Test NVIDIA Triton Server functionalities with YOLO model.ztritonclient[all]r   )ÚInferenceServerClientÚyoloÚtriton_repoÚonnxT)ÚformatÚdynamicÚ1)ÚparentsÚexist_okz
model.onnxzconfig.pbtxtz%nvcr.io/nvidia/tritonserver:23.09-py3zdocker pull )Úshellzdocker run -d --rm -v z:/models -p 8000:8000 z( tritonserver --model-repository=/modelszutf-8zlocalhost:8000F)ÚurlÚverboseÚsslé
   Nr#   zhttp://localhost:8000/Údetectzdocker kill )r   Útritonclient.httpr?   r   r   ÚexportÚmkdirr   ÚrenameÚtouchÚ
subprocessÚcallÚcheck_outputÚdecodeÚstripÚrangeÚ
contextlibÚsuppressÚ	ExceptionÚis_model_readyÚtimeÚsleepr   )
Útmp_pathr?   Ú
model_namerA   Útriton_modelÚfÚtagÚcontainer_idÚtriton_clientÚ_s
             r   Útest_tritonrg   I   sŒ  € ô Ð*Ô+Ý7ð €JØ˜]Ñ*€KØ Ñ+€Lô 	ŒU‹×Ñ &°$ÐÓ7€Að �CÑ×Ñ t°dÐÔ;ÜˆƒG‡N�N�< #Ñ%¨Ñ4Ô5Ø�NÑ"×)Ñ)Ô+ð 2€Cô ‡O�O�l 3 %Ð(°Õ5ô 	×ÑØ$ [ MÐ1GÈÀuÐLtÐuØô	
÷ 
‰�‹ß	‰‹ð ñ *Ð.>ÈÐSXÔY€Mô �2‹Yò ˆÜ× Ñ ¤Ó+ñ 	Ø ×/Ñ/°
Ô;Ð;Ð;Ø÷	ñ 	ðð :„DÐ! * Ð	.°Ó9¼&ÔAô ‡O�O�l < .Ð1¸Ö>÷	ð 	úô 	�
‰
�1�s   ÄE$Å$E-	zfaster-coco-evalzfaster-coco-eval not installedc                  ó   — ddl m}  ddlm} ddlm} ddddd	œ} | |¬
«      } |«        d|_        t        t        › d�t        dz  ¬«       |j                  |j                  «      }ddddd	œ} ||¬
«      } |«        d|_        t        t        › d�t        dz  ¬«       |j                  |j                  «      }ddddd	œ} ||¬
«      } |«        d|_        t        t        › d�t        dz  ¬«       |j                  |j                  «      }y)zGValidate YOLO model predictions on COCO dataset using faster-coco-eval.r   )ÚDetectionValidator)ÚPoseValidator)ÚSegmentationValidatorz
yolo26n.ptz
coco8.yamlTé@   )Úmodelr   Ú	save_jsonr   )Úargsz/instances_val2017.jsonzcoco8/annotations)Údirzyolo26n-seg.ptzcoco8-seg.yamlzcoco8-seg/annotationszyolo26n-pose.ptzcoco8-pose.yamlz/person_keypoints_val2017.jsonzcoco8-pose/annotationsN)Úultralytics.models.yolo.detectri   Úultralytics.models.yolo.poserj   Úultralytics.models.yolo.segmentrk   Úis_cocor   r   r	   Ú	eval_jsonÚstats)ri   rj   rk   ro   Ú	validatorrf   s         r   Útest_faster_coco_evalrx   }   s  € õ BÝ:ÝEà!¨<ÀdÐUWÑX€DÙ"¨Ô-€IÙ„KØ€IÔÜ”
ˆ|Ð2Ð3¼ÐH[Ñ9[Õ\Ø×Ñ˜IŸO™OÓ,€Aà%Ð/?ÈdÐ]_Ñ`€DÙ%¨4Ô0€IÙ„KØ€IÔÜ”
ˆ|Ð2Ð3¼ÐH_Ñ9_Õ`Ø×Ñ˜IŸO™OÓ,€Aà&Ð0AÐPTÐ_aÑb€DÙ 4Ô(€IÙ„KØ€IÔÜ”
ˆ|Ð9Ð:ÄÐOgÑ@gÕhØ×Ñ˜IŸO™OÓ,�Ar   )rY   r4   rS   r]   Úpathlibr   ÚpytestÚtestsr   r   Úultralyticsr   r   Úultralytics.utilsr   r	   r
   Úultralytics.utils.checksr   ÚmarkÚslowr   Úskipifr(   r+   r<   rg   rx   r   r   r   ú<module>r‚      so  ðó Û 	Û Û Ý ã ç ß &ß @Ñ @Ý 7ð ‡�×Ññ$ó ð$ð ‡�×ÑÑ*¨5¸%Ô@Ð@ÐIbÐÓcñó dðð ‡�×ÑÑ*¨8¸UÔCÐCÐLbÐÓcñó dðð ‡�×Ñ�DÐ!tÐÓuØ‡�×ÑÑ*¨8¸UÔCÐCÐLbÐÓcñó dó vðð< ‡�×ÑÑ*¨>À5ÔIÐIÐRsÐÓtñ0?ó uð0?ðf ‡�×ÑÑ*Ð+=ÀuÔMÐMÐVvÐÓwñ-ó xñ-r   