Spaces:
Runtime error
Runtime error
File size: 1,533 Bytes
2bbf97a b6a1553 3e7c541 b6a1553 3e7c541 849f804 3e7c541 849f804 3e7c541 849f804 b6a1553 5665c6b 3e7c541 b6a1553 3e7c541 b6a1553 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
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)
# 2️⃣ Dataset laden (armanc/scientific_papers) mit trust_remote_code=True
dataset = load_dataset("armanc/scientific_papers", trust_remote_code=True)
# 3️⃣ Tokenisierung der Texte (hier wird die Spalte "text" genutzt; ggf. anpassen, falls andere Spalten vorhanden sind)
def tokenize_function(examples):
return tokenizer(examples["text"], 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.") |