https://www.youtube.com/watch?v=Dh9CL8fyG80&list=PLo2EIpI_JMQvWfQndUesu0nPBAtZ9gP1o&index=30
from datasets import load_dataset load_dataset
from transformers import AutoTokenizer, DataCollatorWithPadding
raw_datasets = load_dataset("glue", "mrpc") # 데이터셋
checkpoint = "bert-base-cased" # 모델명 - 대소문자를 구분하는 버트 모델.
tokenizer = AutoTokenizer.from_pretrained(checkpoint) # 토크나이저 - 사전학습된 모델을 이용한 토크나이저. 그 중에서도 모델 이름을 기반으로한 적절한 토크나이저 선택.
def tokenize_function(examples): # 데이터셋 examples 안의 sentence1,2
return tokenizer(exmamples["sentence1"], examples["sentence2"], truncation=True)
# 샘플에서의 문장 1과 2를 토크나이저를 이용해서 토큰화 하도록한다.
tokenized_datasets = raw_datasets.map(tokenize_function, batched=True) # map함수를 이용하여 전체 데이터셋에 적용한다. batched를 이용해서 미리 정의된 배치 사이즈를 사용한다. 이 결과 토큰화된 예제들이 포함된 새로운 데이터셋이 생성된다.
tokenized_datasets = tokenized_datasets.remove_columns(["sentence1", "sentence2", idx"])
tokenized_datasets = tokenized_datasets.rename_column("label", "labels")
tokenized_datsets.set_format("torch")
data_collator = DataCollatorWithPading(tokenizer)
Preprocess the GLUE MRPC dataset using dynamic padding.
from torch.utils.data import DataLoader
train_dataloader = DataLoader(
tokenized_datasets["train"], shuffle=True, batch_size=8, collate_fn=data_collator
)
eval_dataloader = DataLoader(
tokenized_datasets["validation"], batch_size=8, collate_fn=data_collator
)
TF predictions and metrics (F1 score, recall, precision etc) (0) | 2023.09.19 |
---|---|
The Trainer API (0) | 2023.09.15 |
Transformers Pipeline, Tokenizer, Model, and Result (0) | 2023.09.14 |
The tokenization pipeline (0) | 2023.09.14 |
What happens inside the pipeline function? (TensorFlow) (0) | 2023.09.13 |