o
    Zh0                     @   sn   d dl Z ddlmZmZ e rd dlmZmZ d dlmZm	Z	 dZ
dd Zd	d
 Zdd Zdd Zdd ZdS )    N   )is_sklearn_availablerequires_backends)pearsonr	spearmanr)f1_scorematthews_corrcoefu  This metric will be removed from the library soon, metrics should be handled with the 🤗 Evaluate library. You can have a look at this example script for pointers: https://github.com/huggingface/transformers/blob/main/examples/pytorch/text-classification/run_glue.pyc                 C   s"   t tt ttd | |k S )Nsklearn)warningswarnDEPRECATION_WARNINGFutureWarningr   simple_accuracymean)predslabels r   Q/var/www/auris/lib/python3.10/site-packages/transformers/data/metrics/__init__.pyr      s   
r   c                 C   s@   t tt ttd t| |}t|| d}|||| d dS )Nr	   )Zy_trueZy_pred   )accf1
acc_and_f1)r
   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   $   s   


r   c                 C   sF   t tt ttd t| |d }t| |d }|||| d dS )Nr	   r   r   )Zpearsonr   Zcorr)r
   r   r   r   r   pearson_and_spearmanr   r   )r   r   Zpearson_corrZspearman_corrr   r   r   r   0   s   

r   c                 C   s0  t tt ttd t|t|ks!J dt| dt| | dkr,dt||iS | dkr7dt||iS | dkr@t	||S | d	krIt
||S | d
krRt	||S | dkr]dt||iS | dkrhdt||iS | dkrsdt||iS | dkr~dt||iS | dkrdt||iS | dkrdt||iS t| )Nr	   /Predictions and labels have mismatched lengths  and ZcolaZmcczsst-2r   Zmrpczsts-bZqqpZmnlizmnli/acczmnli-mmzmnli-mm/accZqnliZrteZwnliZhans)r
   r   r   r   r   glue_compute_metricslenr   r   r   r   KeyErrorZ	task_namer   r   r   r   r   r   <   s4   
,


r   c                 C   s`   t tt ttd t|t|kr!tdt| dt| | dkr,dt||iS t	| )Nr	   r   r   Zxnlir   )
r
   r   r   r   r   xnli_compute_metricsr   
ValueErrorr   r   r   r   r   r   r   Z   s   
r   )r
   utilsr   r   Zscipy.statsr   r   Zsklearn.metricsr   r   r   r   r   r   r   r   r   r   r   r   <module>   s   