| **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. |
| |