Ich definiere meine eigene Train () -Funktion - die Schulungen und Validierung (möglicherweise der Name der Funktion ist hier nicht der beschreibendste) < /p>
, da ich eine verwende Custom iterable Dataset zusammen mit einem Dataloader versuche ich herauszufinden, wie diese Metriken berechnet werden. Der iterable Datensatz hat keine Länge (), daher kann ich nicht wirklich einen anderen Weg herausfinden. < /P>
Hier ist mein Code bisher:
Ich definiere meine eigene Train () -Funktion - die Schulungen und Validierung (möglicherweise der Name der Funktion ist hier nicht der beschreibendste) < /p> , da ich eine verwende Custom iterable Dataset zusammen mit einem Dataloader versuche ich herauszufinden, wie diese Metriken berechnet werden. Der iterable Datensatz hat keine Länge (), daher kann ich nicht wirklich einen anderen Weg herausfinden. < /P> Hier ist mein Code bisher:[code]import torch from torch.utils.data import DataLoader from new_data_loader import ProtobufIterableDataset, BatchShuffleDataset from model import SimpleModel import torch.optim as optim import torch.nn as nn from tqdm import tqdm
for epoch in epoch_pbar: # Training Phase model.train() train_loss = 0 train_correct = 0 train_total = 0
# Create progress bar for training batches train_pbar = tqdm(trainingDataLoader, desc=f'Training Epoch {epoch+1}/{epochs}', position=1, leave=False)
# For every batch for set_features, access_features, cache_features, labels in train_pbar: # Combine features cache_features_flat = cache_features.reshape(-1, 17*9) combined_features = torch.cat([set_features, access_features, cache_features_flat], dim=1)
# Move to device combined_features = combined_features.to(device) labels = labels.to(device)
# Zero gradients optimizer.zero_grad()
# Forward pass outputs = model(combined_features) loss = criterion(outputs, labels)
# Update training progress bar with current loss and accuracy train_pbar.set_postfix({ 'loss': f'{train_loss/train_total:.4f}', 'acc': f'{100 * train_correct/train_total:.2f}%' })
# Update validation progress bar with current loss and accuracy val_pbar.set_postfix({ 'loss': f'{val_loss/val_total:.4f}', 'acc': f'{100 * val_correct/val_total:.2f}%' })
# Update epoch progress bar with final metrics epoch_pbar.set_postfix({ 'train_loss': f'{train_loss/(trainingDataLoader.__len__()):.4f}', 'train_acc': f'{100 * train_correct/train_total:.2f}%', 'val_loss': f'{val_loss/(validationDataLoader.__len__()):.4f}', 'val_acc': f'{100 * val_correct/val_total:.2f}%' })
# Print final statistics for the epoch print(f'\nEpoch {epoch+1}/{epochs}:') print(f'Training Loss: {train_loss/(trainingDataLoader.__len__()):.4f}, ' f'Training Accuracy: {100 * train_correct/train_total:.2f}%') print(f'Validation Loss: {val_loss/(validationDataLoader.__len__()):.4f}, ' f'Validation Accuracy: {100 * val_correct/val_total:.2f}%\n') [/code]
Ich habe versucht, das LLAMA-2-7B-Modell mit dem FreedomIntelligence/Medical-O1-Reasoning-Datensatz in einem Anweisungs-Antwort-Format zu optimieren. Im Moment übernitiere ich den Datensatz...
Ich baue/optimiere ein CNN für die Klassifizierung von Autos aus diesem Datensatz.
Mein Basismodell erreicht durch eine sehr einfache Modellarchitektur eine überraschend hohe Genauigkeit. Ich...
Ich baue/optimiere ein CNN für die Klassifizierung von Autos aus diesem Datensatz.
Mein Basismodell erreicht durch eine sehr einfache Modellarchitektur eine überraschend hohe Genauigkeit. Ich...
Ich habe ein Problem mit Microsoft.ml in C# und ich hatte gehofft, dass jemand mir helfen kann. LightGbmBinaryTrainer modelTrainer = mlContext.BinaryClassification.Trainers.LightGbm(options);