Ausführen des Programms
Installiere die benötigten Python-Pakete:
pip install datasets
pip install transformers
pip install torch
pip install huggingface-hub
pip install beautifulsoup4
pip install pyth3
pip install seaborn
CUDA
Stellen Sie sicher, dass CUDA und cuDNN korrekt installiert sind.
nvcc --version
PyTorch mit CUDA Unterstützung installieren:
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu111
Führe das Skript aus:
Neu V0.0.4 Doxygen Text aus html .html, docbook .xml und Rich Text Format .rtf
python main_GPU_V004.py /path/to/your/directory
Testing (Neu)
python main_Testing_V004.py /path/to/your/directory/ModelTestData.db
Ersetze /pfad/zu/deinem/verzeichnis durch den tatsächlichen Pfad zu dem Verzeichnis, das du durchsuchen möchtest.
Kurzfassung:
Dieses Skript durchsucht das Verzeichnis, extrahiert die erforderlichen Parameter, speichert sie in einer SQLite-Datenbank,
konvertiert diese Daten in ein HuggingFace Dataset, trainiert ein Modell und speichert das trainierte Modell auf der Festplatte neben der Datenbank.
Ausführlich:
Dieses Python-Programm durchläuft einen angegebenen Verzeichnisbaum,
extrahiert Informationen über bestimmte Dateitypen,
speichert diese Informationen in einer SQLite-Datenbank,
erstellt ein Hugging Face Dataset aus den gespeicherten Daten,
trainiert ein Modell für die Klassifikation von Dateien basierend auf deren Pfaden
und speichert das trainierte Modell sowie den Tokenizer.
Hier ist eine einfache und verständliche Erklärung, wie das Programm funktioniert:
Extrahiere Parameter aus Dateien (
extrahiere_parameter(file_path)
):- Öffnet eine Datei und liest deren Zeilen.
- Sammelt Informationen wie Anzahl der Zeilen, Anzahl der Zeichen und ob der Text lang ist (>1000 Zeilen).
- Gibt diese Informationen zurück, außer wenn ein Lesefehler auftritt.
Durchsuche Verzeichnis und extrahiere Parameter (
durchsuchen_und_extrahieren(root_dir, db_pfad)
):- Verbindet sich mit einer SQLite-Datenbank (
db_pfad
). - Erstellt eine Tabelle (
dateiparameter
) für die gesammelten Dateiinformationen, falls diese noch nicht existiert. - Durchläuft rekursiv das angegebene Verzeichnis (
root_dir
) und extrahiert Parameter von Dateien mit unterstützten Dateitypen. - Speichert die extrahierten Parameter in der SQLite-Datenbank.
- Verbindet sich mit einer SQLite-Datenbank (
Extrahiere Parameter aus der SQLite-Datenbank (
extrahiere_parameter_aus_db(db_pfad)
):- Verbindet sich mit der SQLite-Datenbank.
- Führt eine Abfrage aus, um alle gespeicherten Dateiparameter zu erhalten.
- Gibt die abgerufenen Daten zurück, außer wenn ein Fehler auftritt.
Konvertiere zu Hugging Face Dataset (
konvertiere_zu_hf_dataset(daten)
):- Nimmt die aus der SQLite-Datenbank abgerufenen Daten und wandelt sie in ein Hugging Face Dataset um.
- Fügt Platzhalterwerte für Trainings- und Testdaten hinzu.
Trainiere und speichere Modell (
trainiere_und_speichere_modell(hf_dataset_pfad, output_model_dir)
):- Lädt das Hugging Face Dataset von der Festplatte.
- Erstellt einen Tokenizer (
AutoTokenizer
) für BERT. - Definiert eine Funktion zum Tokenisieren der Dateipfade im Dataset.
- Erstellt ein Modell (
AutoModelForSequenceClassification
) für die Klassifikation der Dateipfade. - Konfiguriert Trainingsargumente und einen Trainer für das Modell.
- Trainiert das Modell mit den trainierten und Testdaten aus dem Dataset.
- Speichert das trainierte Modell und den Tokenizer im angegebenen Ausgabeverzeichnis (
output_model_dir
).
Main-Funktion (
if __name__ == "__main__":
):- Überprüft, ob ein Verzeichnispfad als Argument übergeben wurde; andernfalls wird das aktuelle Verzeichnis verwendet.
- Erstellt einen SQLite-Datenbanknamen aus dem Basisnamen des Verzeichnisses.
- Führt die Funktionen aus, um Daten zu extrahieren, ein Hugging Face Dataset zu erstellen und ein Modell zu trainieren.
- Gibt eine Erfolgsmeldung aus, wenn das Modell erfolgreich gespeichert wurde.
Das Programm ist darauf ausgelegt, durch Verzeichnisse zu navigieren, Dateiinformationen zu extrahieren,
diese in einem maschinenlesbaren Format zu speichern, ein Hugging Face Dataset zu erstellen und ein Modell zu trainieren, das auf diesen Daten basiert.