Ë
    ÿÿæiÞ$  ã                  ó
  — d dl mZ d dlmZ d dlmZ d dlmZ d dlZd dlZ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Zd dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ er$d dlm Z  d dlm!Z! d dlm"Z" d dlm#Z# d dlm$Z$ d dlm%Z%  ejL                  e'«      Z(	 	 	 	 	 	 	 d	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd„Z)	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd„Z*	 	 	 	 	 	 	 	 dd„Z+	 	 d	 	 	 	 	 	 	 	 	 	 	 dd„Z,y) é    )Úannotations)ÚFIRST_COMPLETED)ÚThreadPoolExecutor)ÚwaitN)ÚTYPE_CHECKING)Ú
exceptions)Úlogging)Úprogress_bar)Úoptuna_warn)ÚExperimentalWarning)Úget_heartbeat_thread)Úis_heartbeat_enabled)Ú_tell_with_warning)Ú
TrialState)ÚCallable)ÚIterable)ÚSequence)ÚFuture)ÚAny)ÚFrozenTrialc	                óD  — t        |t        «      s"t        dt        |«      j                  › d�«      ‚| j
                  j                  rt        d«      ‚|r|€|�|dk7  rt        d«       d}t        j                  |||«      }	d| _        	 |dk(  rt        | ||||||dd |	¬«
       �n'|dk(  rt        j                  «       xs d}t        j                  j!                  «       }
t#        «       }t%        |¬	«      5 }t'        j(                  «       D ]¶  }| j                  r n¨|�4t        j                  j!                  «       |
z
  j+                  «       |kD  r nr|�||k\  r nit-        |«      |k\  r+t/        |t0        ¬
«      \  }}|D ]  }|j3                  «        Œ |j5                  |j7                  t        | |d||||d|
|	«      «       Œ¸ d d d «       d| j
                  _        |	j9                  «        y # 1 sw Y   Œ+xY w# d| j
                  _        |	j9                  «        w xY w)NzThe catch argument is of type 'z' but must be a tuple.z;Nested invocation of `Study.optimize` method isn't allowed.é   zAThe timeout-based progress bar is not supported with n_jobs != 1.F)Úreseed_sampler_rngÚ
time_startr
   éÿÿÿÿ)Úmax_workers)Úreturn_whenT)Ú
isinstanceÚtupleÚ	TypeErrorÚtypeÚ__name__Ú_thread_localÚin_optimize_loopÚRuntimeErrorr   Úpbar_moduleÚ_ProgressBarÚ
_stop_flagÚ_optimize_sequentialÚosÚ	cpu_countÚdatetimeÚnowÚsetr   Ú	itertoolsÚcountÚtotal_secondsÚlenr   r   ÚresultÚaddÚsubmitÚclose)ÚstudyÚfuncÚn_trialsÚtimeoutÚn_jobsÚcatchÚ	callbacksÚgc_after_trialÚshow_progress_barr
   r   ÚfuturesÚexecutorÚn_submitted_trialsÚ	completedÚfs                   úk/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/optuna/study/_optimize.pyÚ	_optimizerF   '   s  € ô �eœUÔ#ÜØ-¬d°5«k×.BÑ.BÐ-CÐCYÐZó
ð 	
ð ×Ñ×+Ò+ÜÐXÓYÐYá˜XÐ-°'Ð2EÈ&ÐTUÊ+ÜÐWÔXØ!Ðä×+Ñ+Ð,=¸xÈÓQ€Là€EÔð:Ø�QŠ;Ü ØØØØØØØØ#(ØØ)÷ð ˜Š|ÜŸ™›Ò,¨1�ä!×*Ñ*×.Ñ.Ó0ˆJÜ#&£5ˆGä#°Õ7¸8Ü*3¯/©/Ö*;Ð&Ø×'Ò'Ùð  Ð+Ü%×.Ñ.×2Ñ2Ó4°zÑA×PÑPÓRÐU\Ò\áàÐ+Ð0BÀhÒ0NÙä˜7“| vÒ-Ü-1°'ÄÔ-WÑ*˜	 7ã!*˜AØŸH™H�Jð "+ð —K‘KØ Ÿ™Ü0Ø!Ø ØØ#Ø!Ø%Ø*Ø Ø&Ø(óõð' +<÷ 8ðH 05ˆ×ÑÔ,Ø×ÑÕ÷K 8Ð7ûðH 05ˆ×ÑÔ,Ø×ÑÕús&   ÂA-G< Ã8CG0ÇG< Ç0G9Ç5G< Ç<#Hc
                ó  — d| j                   _        |r| j                  j                  «        d}
|€t        j                  j                  «       }	 | j                  rní|�|
|k\  rnå|
dz  }
|�5t        j                  j                  «       |z
  j                  «       }||k\  rn©	 t        | ||«      }|rt        j                  «        	 |�>| j                  j                  |«      }|D ]  } || t        j                  |«      «       Œ  |	�At        j                  j                  «       |z
  j                  «       }|	j                  || «       Œú| j                  j!                  «        y # |rt        j                  «        w w xY w)NTr   r   )r#   r$   ÚsamplerÚ
reseed_rngr,   r-   r(   r1   Ú
_run_trialÚgcÚcollectÚ_storageÚ	get_trialÚcopyÚdeepcopyÚupdateÚremove_session)r7   r8   r9   r:   r<   r=   r>   r   r   r
   Úi_trialÚelapsed_secondsÚfrozen_trial_idÚfrozen_trialÚcallbacks                  rE   r)   r)      s_  € ð ,0€E×ÑÔ(ÙØ�‰× Ñ Ô"à€GàÐÜ×&Ñ&×*Ñ*Ó,ˆ
à
Ø×ÒØàÐØ˜(Ò"ØØ�q‰LˆGàÐÜ'×0Ñ0×4Ñ4Ó6¸ÑC×RÑRÓTˆOØ 'Ò)Øð	Ü(¨°°eÓ<ˆOñ Ü—
‘
•àÐ Ø Ÿ>™>×3Ñ3°OÓDˆLÛ%�Ù˜¤§¡¨lÓ ;Õ<ð &ð Ð#Ü'×0Ñ0×4Ñ4Ó6¸ÑC×RÑRÓTˆOØ×Ñ °Ô7ð? ðB 
‡N�N×!Ñ!Õ#øñ Ü—
‘
•ð ús   Â#E& Å&E?c           
     óŽ  — t        | j                  «      rVt        j                  «       5  t        j                  dt
        «       t        j                  j                  | «       d d d «       | j                  «       }d }d }d }d }t        |j                  | j                  «      5  	  ||«      }d d d «       	 t+        | |||d¬«      \  }	}
}	 |	t        j2                  k(  r,|
€J ‚| j5                  |
|j6                  |j8                  «       n¹|	t        j                  k(  r/t:        j=                  d|j6                  › dt?        |«      › �«       nw|	t        j$                  k(  r]|�.tA        |j6                  |j8                  tC        |«      ||¬«       n4|�$tA        |j6                  |j8                  ||¬«       nJ d«       ‚J d«       ‚|	t        j$                  k(  r|�tE        ||«      s|‚|j                  S # 1 sw Y   �Œ‘xY w# t        j                  $ r}t        j                  }|}Y d }~�Œ}d }~wt         t"        f$ r1}t        j$                  }|}t'        j(                  «       }Y d }~�Œ»d }~ww xY w# 1 sw Y   �ŒÅxY w# t         $ rA | j                  j-                  |j                  «      }|j.                  }	|j0                  }
d }‚ w xY w# 	t        j2                  k(  r,
€J ‚| j5                  |
|j6                  |j8                  «       w |	t        j                  k(  r/t:        j=                  d|j6                  › dt?        |«      › �«       w |	t        j$                  k(  r]|�.tA        |j6                  |j8                  tC        |«      ||¬«       w �$tA        |j6                  |j8                  ||¬«       w J d«       ‚J d«       ‚xY w)	NÚignoreT)r7   ÚtrialÚvalue_or_valuesÚstateÚsuppress_warningúTrial z	 pruned. )Úexc_infor[   )r[   zShould not reach.)#r   rM   ÚwarningsÚcatch_warningsÚsimplefilterr   ÚoptunaÚstoragesÚfail_stale_trialsÚaskr   Ú	_trial_idr   ÚTrialPrunedr   ÚPRUNEDÚ	ExceptionÚKeyboardInterruptÚFAILÚsysr_   r   rN   r\   ÚvaluesÚCOMPLETEÚ_log_completed_trialÚnumberÚparamsÚ_loggerÚinfoÚstrÚ_log_failed_trialÚreprr   )r7   r8   r<   rZ   r\   r[   Úfunc_errÚfunc_err_fail_exc_infoÚeÚupdated_statern   Úwarning_messagerV   s                rE   rJ   rJ   º   s3  € ô
 ˜EŸN™NÔ+Ü×$Ñ$Õ&ä×!Ñ! (Ô,?Ô@Ü�O‰O×-Ñ-¨eÔ4÷ 'ð
 �I‰I‹K€Eà#€EØ6:€OØ59€HØ)-Ðä	˜eŸo™o¨u¯~©~Õ	>ð		4Ù" 5›kˆO÷ 
?ð'.Ü1CØØØ+ØØ!ô2
Ñ.ˆ�v™ð œJ×/Ñ/Ò/ØÐ%Ð%Ð%Ø×&Ñ& v¨u¯|©|¸U¿\¹\ÕJØœj×/Ñ/Ò/Ü�L‰L˜6 %§,¡, ¨y¼¸X»¸ÐHÕIØœjŸo™oÒ-ØÐ#Ü!Ø—L‘LØ—L‘LÜ˜“NØ3Ø$3öð !Ð,Ü!Ø—L‘LØ—L‘LØ#Ø$3ö	ð 2Ð1Ó1�uà-Ð-Ó-�5ð 	œŸ™Ò(ØÐ Ü˜8 UÔ+àˆØ�?‰?Ð÷Q 'Ñ&ûô ×%Ñ%ò 	ä×%Ñ%ˆEØŽHûÜÔ,Ð-ò 	4Ü—O‘OˆEØˆHÜ%(§\¡\£^Ö"ûð	4ú÷ 
?Ñ	>ûô* ò Ø—~‘~×/Ñ/°·±Ó@ˆØ$×*Ñ*ˆØ×$Ñ$ˆØˆØðûð œJ×/Ñ/Ò/ØÐ%Ð%Ð%Ø×&Ñ& v¨u¯|©|¸U¿\¹\ÕJØœj×/Ñ/Ò/Ü�L‰L˜6 %§,¡, ¨y¼¸X»¸ÐHÕIØœjŸo™oÒ-ØÐ#Ü!Ø—L‘LØ—L‘LÜ˜“NØ3Ø$3öð !Ð,Ü!Ø—L‘LØ—L‘LØ#Ø$3ö	ð 2Ð1Ó1�uà-Ð-Ó-�5úsg   ª:G3Â$I1Â&H Â7I> Ç3G=È I.ÈH+È%I1È+I.È=&I)É#I1É)I.É.I1É1I;É>A
KËK ËC9Oc           	     ó�   — t         j                  d| › d|› d|› d�|¬«       t         j                  d| › dt        |«      › d�«       y )Nr^   z failed with parameters: z! because of the following error: Ú.)r_   z failed with value )rs   Úwarningrw   )Útrial_numberÚtrial_paramsÚmessager_   r[   s        rE   rv   rv     s_   € ô ‡O�Oà�\�NÐ";¸L¸>ð J/Ø/6¨i°qð:ð ð ô ô ‡O�O�f˜\˜NÐ*=¼dÀ?Ó>SÐ=TÐTUÐVÕWó    )NNr   © NFF)r7   ú'optuna.Study'r8   ú&'optuna.study.study.ObjectiveFuncType'r9   ú
int | Noner:   úfloat | Noner;   Úintr<   útuple[type[Exception], ...]r=   ú>Iterable[Callable[['optuna.Study', FrozenTrial], None]] | Noner>   Úboolr?   rŒ   ÚreturnÚNone)r7   r…   r8   r†   r9   r‡   r:   rˆ   r<   rŠ   r=   r‹   r>   rŒ   r   rŒ   r   zdatetime.datetime | Noner
   zpbar_module._ProgressBar | Noner�   rŽ   )r7   r…   r8   r†   r<   rŠ   r�   r‰   )NN)r€   r‰   r�   zdict[str, Any]r‚   zstr | Warningr_   r   r[   r   r�   rŽ   )-Ú
__future__r   Úconcurrent.futuresr   r   r   rO   r,   rK   r/   r*   rm   Útypingr   r`   rc   r   r	   r
   r&   Úoptuna._warningsr   Úoptuna.exceptionsr   Úoptuna.storages._heartbeatr   r   Úoptuna.study._tellr   Úoptuna.trialr   Úcollections.abcr   r   r   r   r   r   Ú
get_loggerr"   rs   rF   r)   rJ   rv   r„   rƒ   rE   Ú<module>r™      så  ðÝ "å .Ý 1Ý #Û Û Û 	Û Û 	Û 
Ý  Û ã Ý Ý Ý .Ý (Ý 1Ý ;Ý ;Ý 1Ý #ñ Ý(Ý(Ý(Ý)Ýå(à
ˆ'×
Ñ
˜XÓ
&€ð  Ø ØØ)+ØPTØ Ø#ðUØðUà
0ðUð ðUð ð	Uð
 ðUð 'ðUð NðUð ðUð ðUð 
óUðp8$Øð8$à
0ð8$ð ð8$ð ð	8$ð
 'ð8$ð Nð8$ð ð8$ð ð8$ð )ð8$ð 2ð8$ð 
ó8$ðvNØðNà
0ðNð 'ðNð 	ó	Nðj ØðXØðXà ðXð ðXð ð	Xð
 ðXð 
ôXrƒ   