Transformer / app.py
flytoe's picture
Update app.py
b6a1553 verified
raw
history blame
1.45 kB
import torch
from transformers import AutoModelForSequenceClassification, Trainer, TrainingArguments, AutoTokenizer
from datasets import load_dataset
# 1️⃣ Modell & Tokenizer laden
model_name = "allenai/scibert_scivocab_uncased"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name, num_labels=3) # z.B. für 3 Kategorien
# 2️⃣ Dataset laden (ersetze mit deinem Dataset)
dataset = load_dataset("scientific_papers", "arxiv") # Hugging Face Datasets
# 3️⃣ Tokenisierung der Texte
def tokenize_function(examples):
return tokenizer(examples["abstract"], padding="max_length", truncation=True)
tokenized_datasets = dataset.map(tokenize_function, batched=True)
# 4️⃣ Trainingsparameter setzen
training_args = TrainingArguments(
output_dir="./results",
evaluation_strategy="epoch",
save_strategy="epoch",
per_device_train_batch_size=8,
per_device_eval_batch_size=8,
num_train_epochs=3,
weight_decay=0.01,
logging_dir="./logs",
)
# 5️⃣ Training starten
trainer = Trainer(
model=model,
args=training_args,
train_dataset=tokenized_datasets["train"],
eval_dataset=tokenized_datasets["validation"],
)
trainer.train()
# 6️⃣ Speichern des Modells nach dem Training
model.save_pretrained("./trained_model")
tokenizer.save_pretrained("./trained_model")
print("✅ Training abgeschlossen! Modell gespeichert.")