U
    4Af0                     @   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_accuracyZmean)predslabels r   F/tmp/pip-unpacked-wheel-zw5xktn0/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   s:  t tt ttd t|t|ksBtdt| dt| | dkrXdt||iS | dkrndt	||iS | dkrt
||S | d	krt||S | d
krt
||S | dkrdt	||iS | dkrdt	||iS | dkrdt	||iS | dk rdt	||iS | dkrdt	||iS | dkr.dt	||iS t| d S )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lenAssertionErrorr   r   r   r   KeyErrorZ	task_namer   r   r   r   r   r   <   s4    
,





r   c                 C   sd   t tt ttd t|t|krBtdt| dt| | dkrXdt||iS t	| d S )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   