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

Informationen DE

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