|
**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: |
|
|
|
|
|
1. **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. |
|
|
|
2. **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. |
|
|
|
|
|
3. **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. |
|
|
|
|
|
4. **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. |
|
|
|
|
|
5. **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`). |
|
|
|
|
|
6. **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. |
|
|