Fastai: KI-Modelle einfach trainieren mit Python

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Einführung in fastai

fastai ist eine hochrangige Python-Bibliothek für maschinelles Lernen, die auf PyTorch aufbaut und das Erstellen, Trainieren und Anwenden moderner neuronaler Netze drastisch vereinfacht. Entwickelt von den Forschern Jeremy Howard und Sylvain Gugger, wird die Bibliothek sowohl in akademischen Kursen führender Universitäten als auch in kommerziellen Projekten großer Unternehmen eingesetzt.

Die grundlegende Philosophie von fastai besteht darin, eine möglichst einfache Schnittstelle für komplexe Machine-Learning-Aufgaben bereitzustellen, ohne dabei die Möglichkeit zur tiefgehenden Anpassung zu opfern. Mit nur wenigen Codezeilen lassen sich so State-of-the-Art-Ergebnisse erzielen.

Wichtige Funktionen und Vorteile von fastai

Hochrangige API auf Basis von PyTorch

fastai baut auf PyTorch auf, bietet aber eine deutlich benutzerfreundlichere und intuitivere Oberfläche. Das bedeutet, Sie erhalten die volle Leistungsfähigkeit von PyTorch bei minimalem Programmieraufwand.

Unterstützung für vielfältige Aufgaben

Die Bibliothek deckt ein breites Spektrum an Machine-Learning-Aufgaben ab:

  • Bildklassifikation
  • Objekterkennung und -segmentierung
  • Natürliche Sprachverarbeitung (NLP)
  • Tabellendaten
  • Kollaborative Filterung
  • Bild- und Textgenerierung
  • Regressionsaufgaben

Integrierte moderne Trainingstechniken

fastai wendet automatisch fortschrittliche Methoden zum Training neuronaler Netze an:

  • One Cycle Policy zur Optimierung der Lernrate
  • Mixup und CutMix zur Datenaugmentierung
  • Progressive Resizing für die Bildverarbeitung
  • Label Smoothing zur Verbesserung der Generalisierung
  • Automatic Mixed Precision zur Beschleunigung des Trainings

Vortrainierte Modelle und Transfer Learning

Die Bibliothek bietet Zugriff auf zahlreiche vortrainierte Architekturen:

  • ResNet, EfficientNet, RegNet für Computer Vision
  • LSTM, AWD-LSTM für Textverarbeitung
  • UNet für Segmentierung
  • Transformer-Modelle über die Integration mit HuggingFace

Leistungsstarke Visualisierungs- und Interpretationswerkzeuge

fastai enthält integrierte Tools zur Analyse und Interpretation von Modellen, was für das Verständnis der Algorithmen und die Fehlersuche unerlässlich ist.

Installation und erste Schritte

Bibliothek installieren

Für die Installation von fastai wird die Verwendung von conda oder pip empfohlen:

# Installation mit conda (empfohlen)
conda install -c fastai fastai

# Oder mit pip
pip install fastai

Wichtige Module importieren

# Für Bildverarbeitung
from fastai.vision.all import *

# Für Textverarbeitung
from fastai.text.all import *

# Für Tabellendaten
from fastai.tabular.all import *

# Für kollaborative Filterung
from fastai.collab import *

Architektur von fastai und Kernkomponenten

DataBlock API

Die DataBlock API ist ein deklarativer Ansatz zur Datenbeschreibung, der klar definiert, wie Daten geladen, verarbeitet und dem Modell zugeführt werden.

dblock = DataBlock(
    blocks=(ImageBlock, CategoryBlock),
    get_items=get_image_files,
    get_y=parent_label,
    splitter=RandomSplitter(),
    item_tfms=Resize(224),
    batch_tfms=aug_transforms()
)

Learner — die zentrale Trainingsklasse

Der Learner kapselt Modell, Daten, Verlustfunktion, Optimierer und Metriken in einem einzigen Objekt und vereinfacht so den Trainingsprozess erheblich.

Callback-System

Callbacks ermöglichen es, dem Trainingsprozess zusätzliche Funktionalität hinzuzufügen:

  • EarlyStoppingCallback für vorzeitigen Trainingsabbruch
  • SaveModelCallback zum Speichern der besten Gewichte
  • CSVLogger zum Protokollieren von Metriken
  • ReduceLROnPlateau zur adaptiven Anpassung der Lernrate

Empfehlungen