Team Ai
Apppublic

Kashtan/Detect_Edits_in_AI-Generated_Text

sourceHugging Facemitupdated 2y agoView on Hugging Face
0likes
PerplexityEvaluator.cpython-38.pyc19 linesDownload Raw Back to __pycache__
1U

2�щeC�@sddlZGdd�de�ZdS)�Nc@s*eZdZd	dd�Zd3dd�Zddd�ZdS)�PerplexityEvaluator�����cCs||_||_||_dS�N)�model�	tokenizer�ignore_index)�selfrrr�r	�:/home/dsvmu/detectLM/detectLM/./src/PerplexityEvaluator.py�__init__szPerplexityEvaluator.__init__NcCs|�||�Sr)�log_perplexity)r�text�contextr	r	r4�__call__	szPerplexityEvaluator.__call__c	Cs�|jj}|j|dd�}|rr|j|dd�}tj|d|dgdd�}tjt�|d�|j|dgdd�}td�n|d}|}|j|�|�|�|�d�j	}|�5�����S)z�6        Evaluate log perplexity of text with respect to the language model7        based on the context8 9        :param text:10        :param context:11        :return:12        �pt)�return_tensors�	input_ids�)�axisz:Warning, need to remove context length when reporting lppx)r�labels)
r�devicer�torch�concatenate�	ones_liker�print�to�loss�cpu�detach�numpy)	rr
rrZtext_idsZcontext_idsrrrr	r	r13rs	��14z"PerplexityEvaluator.log_perplexity)r)N)N)�__name__�15__module__�__qualname__rrrr	r	r	r16rs1718r)r�objectrr	r	r	r19�<module>s