CoolFace
Apppublic

robometer/rewardeval_ui

sourceHugging Faceupdated 7mo agoView on Hugging Face
4likes
base_pref.cpython-310.pyc25 linesDownload Raw Back to __pycache__
1o

2�TiW3�@sHddlmZmZddlZddlmZmZddlm	Z	Gdd�de	�Z4dS)�)�Dict�AnyN)�PreferenceSample�5Trajectory)�RFMBaseSamplerc@s:eZdZdZdeeefdefdd�Zdd�Z	dd	�Z6d7S)�BaseQualityPreferenceSampleraBase class for quality preference samplers.8 9    Subclasses should implement `_generate_all_sample_indices` to define how10    trajectories are paired. This base class provides the common `_generate_sample_from_indices`11    method that loads and processes the trajectories.12    �sample_idx_info�returncCs�|d}|d}|j|}|j|}|d|d|d|d|dd�}|�d	�d13ur2|�d	�|d	<|j||d�}|d|d|d|d|dd�}|�d	�d14urY|�d	�|d	<|j||d�}	t|dd
�}15t||	|16d�}|S)z-Generate a single sample from stored indices.�chosen_traj_idx�rejected_traj_idx�
quality_label�data_source�task�id�frames)rr
rr�17video_path�partial_successN)�traj�metadata�data_gen_strategy�quality_preference)�chosen_trajectory�rejected_trajectoryr)�dataset�get�_get_traj_from_data�getattrr)�selfr�18chosen_idx�rejected_idx�chosen_traj�
rejected_traj�chosen_metadatar�rejected_metadatarr�sample�r%�;/scr/aliang80/reward_fm/rfm/data/samplers/eval/base_pref.py�_generate_sample_from_indicessF1920�����z:BaseQualityPreferenceSampler._generate_sample_from_indicescCs21t|j�S�N)�len�sample_indices)rr%r%r&�__len__Es22z$BaseQualityPreferenceSampler.__len__cCs|�|j|�Sr()r'r*)r�idxr%r%r&�__getitem__Hsz(BaseQualityPreferenceSampler.__getitem__N)�__name__�23__module__�__qualname__�__doc__r�strrrr'r+r-r%r%r%r&r	s244r)�typingrr�numpy�np�rfm.data.dataset_typesrr�rfm.data.samplers.baserrr%r%r%r&�<module>s25