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