Loading...
2024. 3. 31. 02:11

NLP text data 전처리에서 tokenizing할 때 padding이 필요한 이유

text 데이터는 보통 길이가 서로 달라서 전처리할때 padding을 해서 길이를 맞춰준다고 보통 그러는데 왜 해야할까? 보통 batch형태로 데이터를 만들어서 모델을 학습시키는데, 길이가 서로 다르면 batch가 안만들어진다 데이터셋을 다음과 같이 구현하고 dataloader를 만들어본다 class ChatbotDataset(Dataset): def __init__(self, dataset, tokenizer, max_length = 438): self.tokenizer = tokenizer self.data = dataset self.max_length = max_length def __getitem__(self, i): inputs = tokenizer(self.data[i][1], return_t..

2024. 3. 31. 02:03

NLP huggingface model에 input을 제대로 넣었는데 IndexError: index out of range in self가 나는 이유

데이터셋을 다음과 같이 구현하고 def preprocess(data): preprocessed_data = [] for i in range(len(data)): d = data[i] knowledge = ' '.join(d['knowledge']) query = f"질문: {d['query']}\n지식: {knowledge}" answer = f"{d['answer']}" preprocessed_data.append((i,query,answer)) return preprocessed_data T5 토크나이저, 모델 불러온 다음 tokenizer = T5Tokenizer.from_pretrained('digit82/kolang-t5-base') model = T5ForConditionalGeneration..