pyc • Lines: 115�
��i:
� �� � d dl Z d dlZd dlZd dlmZ d dlmZm Z ej j d � j � e
d� G d� d� Z G d� d � Zy# e$ rZ e
de� �� Y dZ[�*dZ[ww xY w)
� N)�Transformer)�Softmax�CrossEntropyLossz(GPU found and will be used for training.zGPU not found or error: c � � e Zd Zd� Zd� Zd� Zy)�CorpusTokenizerc �� � |j � }|D �cg c]# }|j � s�|j � ��% }}g d�| _ t � }|D ]! }|j |j � � �# | j t
t |� � z | _ t | j � D ��ci c] \ }}||��
c}}| _
t | j � D ��ci c] \ }}||��
c}}| _ | j d | _ | j d | _
| j d | _ t | j � | _ y c c}w c c}}w c c}}w )N��<PAD>�<SOS>�<EOS>r
r r )�
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 � }| j g|D �cg c] }|| j v s�| j | ��" c}z | j gz }t |� |k r || j
g|t |� z
z z
}n|d | }t
j |t j �� S c c}w �N)�dtype) r r r r r r �np�array�int32)r �text�seq_lenr"