ManfredAabye
commited on
Commit
•
860370f
1
Parent(s):
a114c8b
Informationen DE
Browse files- mainXXX.md +71 -0
mainXXX.md
ADDED
@@ -0,0 +1,71 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
**Ausführen des Programms**
|
2 |
+
|
3 |
+
Installiere die benötigten Python-Pakete:
|
4 |
+
pip install datasets
|
5 |
+
pip install transformers
|
6 |
+
pip install torch
|
7 |
+
pip install huggingface-hub
|
8 |
+
|
9 |
+
**CUDA**
|
10 |
+
Stellen Sie sicher, dass CUDA und cuDNN korrekt installiert sind.
|
11 |
+
nvcc --version
|
12 |
+
|
13 |
+
PyTorch mit CUDA Unterstützung installieren:
|
14 |
+
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu111
|
15 |
+
|
16 |
+
**Führe das Skript aus:**
|
17 |
+
python main.py /pfad/zu/deinem/verzeichnis
|
18 |
+
|
19 |
+
Ersetze /pfad/zu/deinem/verzeichnis durch den tatsächlichen Pfad zu dem Verzeichnis, das du durchsuchen möchtest.
|
20 |
+
|
21 |
+
**Kurzfassung:**
|
22 |
+
Dieses Skript durchsucht das Verzeichnis, extrahiert die erforderlichen Parameter, speichert sie in einer SQLite-Datenbank,
|
23 |
+
konvertiert diese Daten in ein HuggingFace Dataset, trainiert ein Modell und speichert das trainierte Modell auf der Festplatte neben der Datenbank.
|
24 |
+
|
25 |
+
**Ausführlich:**
|
26 |
+
Dieses Python-Programm durchläuft einen angegebenen Verzeichnisbaum,
|
27 |
+
extrahiert Informationen über bestimmte Dateitypen,
|
28 |
+
speichert diese Informationen in einer SQLite-Datenbank,
|
29 |
+
erstellt ein Hugging Face Dataset aus den gespeicherten Daten,
|
30 |
+
trainiert ein Modell für die Klassifikation von Dateien basierend auf deren Pfaden
|
31 |
+
und speichert das trainierte Modell sowie den Tokenizer.
|
32 |
+
|
33 |
+
Hier ist eine einfache und verständliche Erklärung, wie das Programm funktioniert:
|
34 |
+
|
35 |
+
1. **Extrahiere Parameter aus Dateien (`extrahiere_parameter(file_path)`)**:
|
36 |
+
- Öffnet eine Datei und liest deren Zeilen.
|
37 |
+
- Sammelt Informationen wie Anzahl der Zeilen, Anzahl der Zeichen und ob der Text lang ist (>1000 Zeilen).
|
38 |
+
- Gibt diese Informationen zurück, außer wenn ein Lesefehler auftritt.
|
39 |
+
|
40 |
+
2. **Durchsuche Verzeichnis und extrahiere Parameter (`durchsuchen_und_extrahieren(root_dir, db_pfad)`)**:
|
41 |
+
- Verbindet sich mit einer SQLite-Datenbank (`db_pfad`).
|
42 |
+
- Erstellt eine Tabelle (`dateiparameter`) für die gesammelten Dateiinformationen, falls diese noch nicht existiert.
|
43 |
+
- Durchläuft rekursiv das angegebene Verzeichnis (`root_dir`) und extrahiert Parameter von Dateien mit unterstützten Dateitypen.
|
44 |
+
- Speichert die extrahierten Parameter in der SQLite-Datenbank.
|
45 |
+
|
46 |
+
3. **Extrahiere Parameter aus der SQLite-Datenbank (`extrahiere_parameter_aus_db(db_pfad)`)**:
|
47 |
+
- Verbindet sich mit der SQLite-Datenbank.
|
48 |
+
- Führt eine Abfrage aus, um alle gespeicherten Dateiparameter zu erhalten.
|
49 |
+
- Gibt die abgerufenen Daten zurück, außer wenn ein Fehler auftritt.
|
50 |
+
|
51 |
+
4. **Konvertiere zu Hugging Face Dataset (`konvertiere_zu_hf_dataset(daten)`)**:
|
52 |
+
- Nimmt die aus der SQLite-Datenbank abgerufenen Daten und wandelt sie in ein Hugging Face Dataset um.
|
53 |
+
- Fügt Platzhalterwerte für Trainings- und Testdaten hinzu.
|
54 |
+
|
55 |
+
5. **Trainiere und speichere Modell (`trainiere_und_speichere_modell(hf_dataset_pfad, output_model_dir)`)**:
|
56 |
+
- Lädt das Hugging Face Dataset von der Festplatte.
|
57 |
+
- Erstellt einen Tokenizer (`AutoTokenizer`) für BERT.
|
58 |
+
- Definiert eine Funktion zum Tokenisieren der Dateipfade im Dataset.
|
59 |
+
- Erstellt ein Modell (`AutoModelForSequenceClassification`) für die Klassifikation der Dateipfade.
|
60 |
+
- Konfiguriert Trainingsargumente und einen Trainer für das Modell.
|
61 |
+
- Trainiert das Modell mit den trainierten und Testdaten aus dem Dataset.
|
62 |
+
- Speichert das trainierte Modell und den Tokenizer im angegebenen Ausgabeverzeichnis (`output_model_dir`).
|
63 |
+
|
64 |
+
6. **Main-Funktion (`if __name__ == "__main__":`)**:
|
65 |
+
- Überprüft, ob ein Verzeichnispfad als Argument übergeben wurde; andernfalls wird das aktuelle Verzeichnis verwendet.
|
66 |
+
- Erstellt einen SQLite-Datenbanknamen aus dem Basisnamen des Verzeichnisses.
|
67 |
+
- Führt die Funktionen aus, um Daten zu extrahieren, ein Hugging Face Dataset zu erstellen und ein Modell zu trainieren.
|
68 |
+
- Gibt eine Erfolgsmeldung aus, wenn das Modell erfolgreich gespeichert wurde.
|
69 |
+
|
70 |
+
Das Programm ist darauf ausgelegt, durch Verzeichnisse zu navigieren, Dateiinformationen zu extrahieren,
|
71 |
+
diese in einem maschinenlesbaren Format zu speichern, ein Hugging Face Dataset zu erstellen und ein Modell zu trainieren, das auf diesen Daten basiert.
|