U
    &c                  	   @   s~   z(d dl mZmZ d dlmZmZ dZW n eefk
rD   dZY nX dd Z	erzdd Z
d	d
 Zdd Zdd Zdd ZdS )    pearsonr	spearmanr)matthews_corrcoeff1_scoreTFc                   C   s   t S N)_has_sklearn r	   r	   F/tmp/pip-unpacked-wheel-ymerj3tt/transformers/data/metrics/__init__.pyis_sklearn_available   s    r   c                 C   s   | |k  S r   )Zmean)predslabelsr	   r	   r
   simple_accuracy    s    r   c                 C   s*   t | |}t|| d}|||| d dS )N)Zy_trueZy_pred   )accf1
acc_and_f1)r   r   )r   r   r   r   r	   r	   r
   r   #   s    

r   c                 C   s0   t | |d }t| |d }|||| d dS )Nr   r   )Zpearsonr   Zcorrr   )r   r   Zpearson_corrZspearman_corrr	   r	   r
   pearson_and_spearman,   s    
r   c                 C   s  t |t |kst| dkr*dt||iS | dkr@dt||iS | dkrRt||S | dkrdt||S | dkrvt||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rdt||iS | dk rdt||iS t| d S )NZcolaZmcczsst-2r   Zmrpczsts-bZqqpZmnlizmnli-mmZqnliZrteZwnliZhans)lenAssertionErrorr   r   r   r   KeyErrorZ	task_namer   r   r	   r	   r
   glue_compute_metrics5   s0    



r   c                 C   s6   t |t |kst| dkr*dt||iS t| d S )NZxnlir   )r   r   r   r   r   r	   r	   r
   xnli_compute_metricsP   s    r   N)Zscipy.statsr   r   Zsklearn.metricsr   r   r   AttributeErrorImportErrorr   r   r   r   r   r   r	   r	   r	   r
   <module>   s   
		