
    *#h                     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d	       G d
 de             Zy)    N)	dataclassfield)ClassVarDict   )
ClassLabelFeaturesImage   )TaskTemplateT)frozenc                       e Zd ZU  edddi      Zeed<    ed e       i      Z	e
e   ed<    edei      Ze
e   ed	<   dZeed
<   dZeed<   d Zedeeef   fd       Zy)ImageClassificationzimage-classification$include_in_asdict_even_if_is_defaultT)defaultmetadatataskimageinput_schemalabelslabel_schemaimage_columnlabel_columnc                 `   | j                   |vrt        d| j                    d      t        || j                      t              st        d| j                    d      t	        j
                  |       }| j                  j	                         }|| j                      |d<   ||j                  d<   |S )NzColumn z is not present in features.z is not a ClassLabel.r   r   )r   
ValueError
isinstancer   copydeepcopyr   __dict__)selffeaturestask_templater   s       `/var/www/html/sandstorm/venv/lib/python3.12/site-packages/datasets/tasks/image_classification.pyalign_with_featuresz'ImageClassification.align_with_features   s    H,wt'8'8&99UVWW(4#4#45zBwt'8'8&99NOPPd+((--/!)$*;*;!<X1=~.    returnc                 6    | j                   d| j                  diS )Nr   r   )r   r   )r    s    r#   column_mappingz"ImageClassification.column_mapping   s$     wx
 	
r%   N)__name__
__module____qualname__r   r   str__annotations__r	   r
   r   r   r   r   r   r   r$   propertyr   r(    r%   r#   r   r   	   s    4@fhl?mnD#n'/%'0B'CL(8$C'/:0F'GL(8$GL# L# 	 
S#X 
 
r%   r   )r   dataclassesr   r   typingr   r   r!   r   r	   r
   baser   r   r/   r%   r#   <module>r3      s7     ( ! 2 2  $
, 
 
r%   