o
     i{                     @   sH   d dl Z d dlZd dlZd dlmZ e  e j G dd deZdS )    N)Datasetc                   @   s0   e Zd Zdd Zdd Zdd Zedd Zd	S )

LRADatasetc                 C   s\   t |d}t|| _W d    n1 sw   Y  || _td| dt| j  d S )NrbzLoaded z	... size=)openpickleloadexamplesseq_lenlogginginfolen)self	file_pathr	   f r   X/home/ubuntu/.local/lib/python3.10/site-packages/xformers/benchmarks/LRA/code/dataset.py__init__   s
    zLRADataset.__init__c                 C   s
   t | jS N)r   r   )r   r   r   r   __len__   s   
zLRADataset.__len__c                 C   s   |  | j| | jS r   )create_instr   r	   )r   ir   r   r   __getitem__   s   zLRADataset.__getitem__c                 C   s   dt j| d t jdd | i}|d dk |d< d| v r8t j| d t jdd | |d< |d dk |d< t j| d t jd|d< |S )Ninput_ids_0)dtyper   mask_0input_ids_1mask_1label)torchtensorlongfloat)instr	   outputr   r   r   r   !   s   zLRADataset.create_instN)__name__
__module____qualname__r   r   r   staticmethodr   r   r   r   r   r      s    r   )	r
   r   r   torch.utils.data.datasetr   	getLoggersetLevelINFOr   r   r   r   r   <module>   s   	