Я пытался запустить несколько эпох, чтобы обучить свою модель анализа настроений, в самом последнем отрывке эпохи остановились из-за ошибки в заголовке. Коды прилагаю здесь:
Классификатор настроений:
# Number of iterations
EPOCHS = 10
# Optimizer Adam
optimizer = AdamW(model.parameters(), lr=2e-5, correct_bias=False)
total_steps = len(train_data_loader) * EPOCHS
scheduler = get_linear_schedule_with_warmup(
optimizer,
num_warmup_steps=0,
num_training_steps=total_steps
)
# Set the loss function
loss_fn = nn.CrossEntropyLoss().to(device)
Я пытался запустить несколько эпох, чтобы обучить свою модель анализа настроений, в самом последнем отрывке эпохи остановились из-за ошибки в заголовке. Коды прилагаю здесь: Классификатор настроений: [code]# Build the Sentiment Classifier class class SentimentClassifier(nn.Module):
# Set the loss function loss_fn = nn.CrossEntropyLoss().to(device) [/code] оценка (при возникновении проблемы): [code]def eval_model(model, data_loader, loss_fn, device, n_examples): model = model.eval()
losses = [] correct_predictions = 0
with torch.no_grad(): for d in data_loader: input_ids = d["input_ids"].to(device) attention_mask = d["attention_mask"].to(device) targets = d["targets"].to(device)
# Get model ouptuts outputs = model( input_ids=input_ids, attention_mask=attention_mask )
_, preds = torch.max(outputs, dim=1) loss = loss_fn(outputs, targets)
6 frames /usr/local/lib/python3.10/dist-packages/torch/nn/functional.py in dropout(input, p, training, inplace) 1423 raise ValueError(f"dropout probability has to be between 0 and 1, but got {p}") 1424 return ( -> 1425 _VF.dropout_(input, p, training) if inplace else _VF.dropout(input, p, training) 1426 ) 1427
TypeError: dropout(): argument 'input' (position 1) must be Tensor, not str
[/code] Я имел в виду трансформаторы [code]pip install transformers==3 [/code] но ничего. Любая помощь приветствуется!