Skip to content

TypeError: tuple indices must be integers or slices, not tuple #18

@fakerybakery

Description

@fakerybakery

Hi,
Sorry if I'm missing something but I'm getting the error TypeError: tuple indices must be integers or slices, not tuple.
My code is:

import torch
from torch import Tensor

from self_rewarding_lm_pytorch import (
    SelfRewardingTrainer,
    create_mock_dataset
)

from x_transformers import TransformerWrapper, Decoder
from transformers import AutoModelForCausalLM, AutoTokenizer

model = AutoModelForCausalLM.from_pretrained('distilgpt2')
tokenizer = AutoTokenizer.from_pretrained('distilgpt2')

sft_dataset = create_mock_dataset(10, lambda: (torch.randint(0, 256, (256,)), torch.tensor(1)))
prompt_dataset = create_mock_dataset(10, lambda: 'mock prompt')

def decode_tokens(tokens: Tensor) -> str:
    return tokenizer.decode(tokens)

def encode_str(seq_str: str) -> Tensor:
    return tokenizer(seq_str, return_tensors='pt')['input_ids'][0]

trainer = SelfRewardingTrainer(
    model.transformer,
    finetune_configs = dict(
        train_sft_dataset = sft_dataset,
        self_reward_prompt_dataset = prompt_dataset,
        dpo_num_train_steps = 1000
    ),
    tokenizer_decode = decode_tokens,
    tokenizer_encode = encode_str,
    accelerate_kwargs = dict(

    )
)

trainer(overwrite_checkpoints = True)

Thanks

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions