ManfredAabye commited on
Commit
c6e34f3
1 Parent(s): 860370f

Software V0.0.1

Browse files
Files changed (1) hide show
  1. 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 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.
 
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.