File size: 4,493 Bytes
860370f
 
 
c6e34f3
860370f
c6e34f3
860370f
c6e34f3
860370f
c6e34f3
860370f
 
91d06ad
 
 
 
 
 
860370f
2709b9c
860370f
c6e34f3
860370f
 
 
c6e34f3
860370f
 
 
2709b9c
4f4758a
 
91d06ad
c6e34f3
4f4758a
c6e34f3
91d06ad
860370f
 
 
91d06ad
860370f
2709b9c
860370f
c6e34f3
860370f
 
91d06ad
860370f
2709b9c
860370f
c6e34f3
860370f
c6e34f3
860370f
c6e34f3
860370f
c6e34f3
860370f
c6e34f3
860370f
 
 
 
91d06ad
860370f
2709b9c
 
c6e34f3
860370f
c6e34f3
860370f
 
 
2709b9c
 
c6e34f3
860370f
c6e34f3
860370f
c6e34f3
860370f
 
91d06ad
860370f
2709b9c
860370f
c6e34f3
860370f
c6e34f3
860370f
 
91d06ad
860370f
2709b9c
 
860370f
c6e34f3
860370f
 
91d06ad
860370f
2709b9c
860370f
c6e34f3
860370f
c6e34f3
860370f
c6e34f3
860370f
c6e34f3
860370f
c6e34f3
860370f
c6e34f3
860370f
 
91d06ad
860370f
2709b9c
860370f
c6e34f3
860370f
c6e34f3
860370f
c6e34f3
860370f
 
91d06ad
c6e34f3
 
860370f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
**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.