
    hL                        S SK r S SKrS SKrS SKrS SKJr  S SKrS SKJrJ	r	J
r
  S SKJrJr  S SKJrJrJr  S SKJr  \R(                  R*                  S 5       r\R(                  R/                  \" SS	S
9(       + SS9S 5       r\R(                  R/                  \" SS	S
9(       + SS9S 5       r\R(                  R/                  SSS9\R(                  R/                  \" SS	S
9(       + SS9S 5       5       r\R(                  R/                  \" SS	S
9(       + SS9S 5       r\R(                  R/                  \" SS	S
9(       + SS9S 5       rg)    N)Path)MODELSOURCETMP)YOLOdownload)
ASSETS_URLDATASETS_DIRSETTINGS)check_requirementsc                  `    S[         S'   [        S5      R                  SSSSSS	9  S[         S'   g
)z/Test training with TensorBoard logging enabled.Ttensorboardyolo11n-cls.yaml
imagenet10       FcpudataimgszepochsplotsdeviceNr   r   train     Q/home/james-whalen/.local/lib/python3.13/site-packages/tests/test_integrations.pytest_tensorboardr      s9     #H]	""BqPU^c"d#H]r   rayF)installzray[tune] not installed)reasonc                  B    [        S5      R                  SSSSSSSSS9  g	)
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     		!!<aARXYafot " r   mlflowzmlflow not installedc                  `    S[         S'   [        S5      R                  SSSSSS	9  S[         S'   g
)z+Test training with MLflow tracking enabled.Tr*   r   r   r   r   Fr   r   Nr   r   r   r   test_mlflowr,   !   s9     HX	""BqPU^c"dHXr   TzQTest failing in scheduled CI https://github.com/ultralytics/ultralytics/pull/8868c                     SSK n S[        S'   SnU[        R                  S'   S[        R                  S'   [	        S	5      R                  S
SSSSS9  U R                  5       R                  R                  nUS:X  d   S5       eU R                  5       R                  R                  nS[        R                  S'   [	        S	5      R                  S
SSSSS9  U R                  US9R                  R                  nUS:X  d   S5       e[        R                  R                  SS5        [	        S	5      R                  S
SSSSS9  U R                  US9R                  R                  nUS:X  d   S5       eS[        S'   g)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statusr3   get_runpop)r*   run_namer9   r3   s       r   test_mlflow_keep_run_activer=   )   sp    HXH'BJJ| ,2BJJ'(	""BqPU^c"d %%,,FY^ ^^ %%,,F ,3BJJ'(	""BqPU^c"d^^6^*//66FZ_!__ JJNN+T2	""BqPU^c"d^^6^*//66FZo!ooHXr   tritonclientztritonclient[all] not installedc                     [        S5        SSKJn   Sn[        S-  nX!-  n[	        [
        5      R                  SSS9nUS	-  R                  SSS
9  [        U5      R                  US	-  S-  5        US-  R                  5         Sn[        R                  " SU 3SS9  [        R                  " SU SU S3SS9R                  S5      R                  5       nU " SSSS9n[!        S5       H?  n["        R$                  " [&        5         UR)                  U5      (       d   e SSS5          O   [	        SU 3S5      " [.        5        [        R                  " SU 3SS9  g! , (       d  f       O= f[*        R,                  " S5        M  )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   r   exportmkdirr   renametouch
subprocesscallcheck_outputdecodestriprange
contextlibsuppress	Exceptionis_model_readytimesleepr   )	r@   
model_namerB   triton_modelftagcontainer_idtriton_client_s	            r   test_tritonrg   I   s}    *+7 J%K+L 	U&$7A Ctd;GNN<#%45N"))+ 2C OOl3%(5 	$[M1GuLtu	
 
	  *.>SXYM 2Y  + //
;;;; ,+  	!*	.9&A OOl<.1> ,+ 	

1s   E
E-	zfaster-coco-evalzfaster-coco-eval not installedc                     SSK Jn   SSKJn  SSKJn  SSSSS	.nU " US
9nU" 5         SUl        [        [         S3[        S-  S9  UR                  UR                  5      nSSSSS	.nU" US
9nU" 5         SUl        [        [         S3[        S-  S9  UR                  UR                  5      nSSSSS	.nU" US
9nU" 5         SUl        [        [         S3[        S-  S9  UR                  UR                  5      ng)zGValidate YOLO model predictions on COCO dataset using faster-coco-eval.r   )DetectionValidator)PoseValidator)SegmentationValidatorz
yolo11n.ptz
coco8.yamlT@   )modelr   	save_jsonr   )argsz/instances_val2017.jsonzcoco8/annotations)dirzyolo11n-seg.ptzcoco8-seg.yamlzcoco8-seg/annotationszyolo11n-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!<dUWXD"-IKI
|23H[9[\IOO,A%/?d]_`D%40IKI
|23H_9_`IOO,A&0APT_abD4(IKI
|9:Og@ghIOO,Ar   )rZ   r5   rT   r^   pathlibr   pytesttestsr   r   r   ultralyticsr   r   ultralytics.utilsr	   r
   r   ultralytics.utils.checksr   markslowr   skipifr)   r,   r=   rg   rx   r   r   r   <module>r      sr    	     $ $ & @ @ 7 $ $ *5%@@Ibc d *8UCCLbc d D!tu*8UCCLbc d v< *>5IIRst0? u0?f *+=uMMVvw- x-r   