�

��Fe���ddlZddlmZmZej���red��ejd��ZnUejj	���red��ejd��Zned��ejd��Zd	Z
eje
��Zeje
d
����
e��Zd�ZdS)
�N)�RobertaTokenizer� RobertaForSequenceClassificationz
USING CUDA�cudazUSING Apple Metal�mpsz	USING CPU�cpuzmshenoda/roberta-spam�)�
num_labelsc�
�t|dddd���}d�|���D��}tj��5t	d	i|��}ddd��n#1swxYwYtj|jd���S)
N�pt�
max_lengthTi)�return_tensors�padding�
truncationrc�J�i|] \}}||�t����!S�)�to�device)�.0�k�vs   �0/Users/kobaltz/Projects/spam-checker/detector.py�
<dictcomp>zdetect.<locals>.<dictcomp>s(��6�6�6���!�A�q�t�t�F�|�|�6�6�6��)�dimr)�	tokenizer�items�torch�no_grad�model�argmax�logits)�text�inputs�outputss   r�detectr&s����T�$��QU�be�f�f�f�&�6�6�v�|�|�~�~�6�6�6�&��}������o�o�f�o�o�G�������������������
��g�n�!�	,�	,�	,�,s�
A�A#�&A#)r�transformersrrr�is_available�printr�backendsr�
model_path�from_pretrainedrrr r&rrr�<module>r-s������K�K�K�K�K�K�K�K��:�������%������5�<����&�&�
�^��$�$�&�&���%������5�<����&�&��%������5�<����&�
$�
�,��,�Z�8�8�	�8�(�8��PQ�R�R�R�U�U�V\�]�]��-�-�-�-�-r