
    bcg                     4    d Z ddlZddlmZmZ  G d d      Zy)z
This class provides the abstraction of model. I.e. it is an object relevant to particular learn fold and particular
algorithm with parameters.
    N   )CatBoostErrorCatBoostc                   2    e Zd Zd Zd ZddZd Zd Zd Zy)		FoldModelc                 .    || _         || _        || _        y N)_id_case_model_path)selfcase
model_pathmodel_ids       T/var/www/html/bid-api/venv/lib/python3.12/site-packages/catboost/eval/_fold_model.py__init__zFoldModel.__init__   s    
%    c                 `    dj                  t        | j                        | j                        S )NzModel_{}_id_{})formatstrr   r
   r   s    r   __repr__zFoldModel.__repr__   s!    &&s4::AAr   c                     t         j                  j                  | j                        st	        d      t               }|j                  | j                         |j                  |||      S )Nz*Model was deleted. Can't create calcer now)thread_counteval_period)ospathexistsr   r   r   
load_modelcreate_metric_calcer)r   metricsr   	eval_stepmodels        r   create_metrics_calcerzFoldModel.create_metrics_calcer   sX    ww~~d../ LMM
))*))'Zc)ddr   c                     | j                   S r	   )r   r   s    r   get_casezFoldModel.get_case   s    zzr   c                     | j                   S r	   )r
   r   s    r   get_fold_idzFoldModel.get_fold_id   s    xxr   c                     t         j                  j                  | j                        r t        j                  | j                         y y r	   )r   r   r   r   remover   s    r   deletezFoldModel.delete!   s/    77>>$**+IId&&' ,r   N)   )	__name__
__module____qualname__r   r   r$   r&   r(   r+    r   r   r   r   
   s"    &
Be(r   r   )__doc__r    r   r   r   r0   r   r   <module>r3      s   
 
 &( (r   