📄 tokenizers.cpython-312.pyc
/home/palash/git/iron_learn/python_scripts/transformer/__pycache__/tokenizers.cpython-312.pyc
Language: pyc • Lines: 115
�

��i:
����ddlZddlZddlZddlmZddlmZm	Z		ejjd�j�e
d�Gd�d�ZGd�d	�Zy#e$rZe
de���YdZ[�*dZ[wwxYw)
�N)�Transformer)�Softmax�CrossEntropyLossz(GPU found and will be used for training.zGPU not found or error: c��eZdZd�Zd�Zd�Zy)�CorpusTokenizerc���|j�}|D�cgc]#}|j�s�|j���%}}gd�|_t�}|D]!}|j	|j���#|jt
t|��z|_t|j�D��cic]\}}||��
c}}|_
t|j�D��cic]\}}||��
c}}|_|jd|_|jd|_
|jd|_t|j�|_ycc}wcc}}wcc}}w)N��<PAD>�<SOS>�<EOS>r
rr)�
splitlines�strip�special_tokens�set�update�split�sorted�list�vocab�	enumerate�
char_to_id�
id_to_char�pad_id�sos_id�eos_id�len�
vocab_size)�self�corpus_text�lines�line�words�i�ws       �D/home/palash/git/iron_learn/python_scripts/transformer/tokenizers.py�__init__zCorpusTokenizer.__init__s���&�&�(��*/�@�$�4�:�:�<�����@��@�:�������	'�D��L�L�����&�	'��(�(�6�$�u�+�+>�>��
�,5�d�j�j�,A�B�D�A�q�1�a�4�B���,5�d�j�j�,A�B�D�A�q�1�a�4�B����o�o�g�.����o�o�g�.����o�o�g�.����d�j�j�/����'A��C��Bs�E�E�6
E�$
Ec�l�|j�}|jg|D�cgc] }||jvs�|j|��"c}z|jgz}t	|�|kr ||j
g|t	|�z
zz
}n|d|}t
j|tj��Scc}w�N)�dtype)	rrrrrr�np�array�int32)r�text�seq_lenr"r$�tokenss      r%�encode_sentencezCorpusTokenizer.encode_sentence's����
�
����+�+��e�!\��q�D�O�O�G[�$�/�/�!�"4�!\�\�`d�`k�`k�_l�l���v�;�� ��t�{�{�m�w��V��'<�=�=�F��H�W�%�F��x�x��b�h�h�/�/��"]s
�B1�B1c	���t|d�r|j�}dj|D�cgc])}t|�dkDs�|jt|���+c}�Scc}w)N�get� ���hasattrr2�join�intr)r�idsr#s   r%�decodezCorpusTokenizer.decode6sJ���3���c�g�g�i���x�x�#�L�Q��Q��!������Q��0�L�M�M��L��A!�A!N��__name__�
__module__�__qualname__r&r0r:��r%rrs��*�0
0�NrArc��eZdZd�Zd�Zd�Zy)�
CharTokenizerc���gd�|_d|_d|_d|_t	tt
|���}t|j�D��cic]\}}||��
c}}|_t|�D]*\}}|t|j�z|j|<�,|jj�D��cic]\}}||��
c}}|_t|j�|_ycc}}wcc}}w)Nr	r�r4)
rrrrrrrrrr�itemsrr)rr-�unique_charsr#�tok�ch�k�vs        r%r&zCharTokenizer.__init__<s���9�������������d�3�t�9�o�.��1:�$�:M�:M�0N�O�f�a��3��6�O����|�,�	?�E�A�r�"#�c�$�*=�*=�&>�">�D�O�O�B��	?�-1�O�O�,A�,A�,C�D�D�A�q�1�a�4�D����d�o�o�.����P��Es�
C0�?
C6c��|D�cgc] }||jvs�|j|��"}}t|�|kr ||jg|t|�z
zz
}n|d|}tj|tj
��Scc}wr()rrrr*r+r,)rr-r.rI�indicess     r%r0zCharTokenizer.encode_sentenceNsz��15�O�2��t���9N�4�?�?�2�&�O��O��w�<�'�!�����}��#�g�,�(>�?�?�G��h�w�'�G��x�x��r�x�x�0�0��
Ps
�B�Bc	���t|d�r|j�}dj|D�cgc])}t|�dkDs�|jt|���+c}�Scc}w)Nr2�r4r5)rrMr#s   r%r:zCharTokenizer.decodeXsM���7�E�"��k�k�m�G��w�w��O�A�C��F�Q�J�����A��/�O�P�P��Or;Nr<r@rAr%rCrC;s��/�$1�QrArC)�time�cupyr*�numpy�onp�transformerr�
simple_layersrr�cuda�Device�use�print�	Exception�errCr@rAr%�<module>r\sz�����#�3�*��G�G�N�N�1�����	�
4�5�+N�+N�Z"Q�"Q��a�*�	�$�Q�C�
(�)�)��*�s�1A"�"A<�'A7�7A<