Basis Script zum anpassen
Posted: Tue 21. Jul 2009, 16:17
Hallo Leute,
ich stell hier mal ein "Basis-Script" rein, das jeder an seine Gegebenheiten anpassen kann/soll...
Das Script benötigt min. Version: 03.05.01.01. von MemBrain, bitte vorher in MemBrain prüfen.
"Base.as" Version vom 30.08. 2009.
BESCHREIBUNG:
Funktion des Script's:
1. Laden des Netzes.
2. Laden der Lessons/Daten.
3. Einstellen der Views/Charts.
4. Einstellen des Teachers/Lehrers.
5. Das Netz normalisieren.
6. Das Netz bis zum Abbruchkriterium (Zeit, Lessons, NetError) trainieren.
5. Das trainierte Netz abspeichern.
6. Abarbeiten einer "Think-Lesson".
(Mit jeder Zeile der "Think-Lesson" DENKT das Netz einmal, und erzeugt dabei den Output).
7. Abspeichern des Outputs in einer CSV-Datei (Output.csv).
Voraussetzung:
1. Ein Netz, das zu Deinen Daten/Lessons paßt (Anzahl der IN/OUT Put-Neuronen).
2. Vier(4) Dateien/Lessons.
a. Die "Normalize Lesson".
(In dieser Datei sollten ALLE Werte enthalten sein, die die IN/OUT Put-Neuronen jemals erreichen können).
(Es geht hier um die minimal und maximal Werte der IN/OUT Put-Neuronen).
(Wenn Ihr euch nicht sicher seid, benutzt einfach die "Trainings / Learn - Lesson" zum normalisieren).
(Diese kann über die Einstellung "AUTO_CREATE_NORMALIZE_LESSON" auch automatisch aus den drei anderen Lessons erzeugt werden).
b. Die "Learn Lesson".
(In dieser Datei befinden sich die Daten, mit denen das Netz trainiert wird).
c. Die "Validate Lesson".
(In dieser Datei befinden sich die Daten, die von den Trainingsdaten abgezweigt wurden (ca. 5 - 10 % der Trainingsdaten).
(Um das Netz mit "NICHT trainierten Daten" zu prüfen/testen).
d. Die "Think Lesson".
(In dieser Datei befinden sich die Daten, mit denen man eine Prognose erstellen will).
(Diese Datei enthält NUR die Inputs, die Outputs werden ja durch das Netz erzeugt).
3. Es sollte ein "Net Error" Wert bekannt sein, der mit dem Netz und den Learn/Validate Daten auch erreicht werden kann.
(Das könnt Ihr z.B. mit dem Script "Traintime" herausfinden).
Bedienung:
1. Ladet den Editor "PSPad" herunter und installiert diesen.
http://www.pspad.com
(Dieser Editor ist Freeware, kostet NICHTS, hat "Syntax Highlighting" und kann sehr gut für MemBrain/AngelScript eingerichtet werden).
(Es geht natürlich auch mit "Windows Editor", dann aber OHNE Farbe).
2. Entpackt die ZIP-Datei "Base.zip" in einen Ordner.
3. Kopiert alle Dateien aus diesem Ordner, in den Ordner, der auch das Netz und die Daten/Lessons enthält.
("NetEditor.as, Position.as und SecondsTimer.as" MÜSSEN ZWINGEND im selben Ordner sein).
4. Öffnet das Script "Base.as" mit "PSPad / Win Editor".
(Ist eine reine Text-Datei, also bitte nicht mit MS-Word im DOC-Format abspeichern).
5. Ändern / überprüfen ALLER "Einstellungen" oben im Script, NACH der Beschreibung und INNERHALB der gestrichelten Zeilen, zwischen:
// BEGINN der Einstellungen, bitte anpassen !!!
UND
// ENDE der Einstellungen, danke...
Ihr müßt immer den Wert RECHTS vom "=" ändern.
Wenn Ihr mit einem Wert NICHTS anfangen könnt, dann last in erstmal UNVERÄNDERT !!!
5.1 Wie oft soll das Script abgearbeitet werden (Init_Always - Think_Lesson in main() ) ?
5.2 Dateiname des Netzes.
5.3 Das Dateiformat der Lessons.
"1" = RAW CSV (Standart Excel CSV-Format).
"2" = MemBrain CSV (MemBrain Sectioned CSV-Format).
"3" = MemBrain MBL (MemBrain Standart Lessons MBL-Format).
5.4 Soll die Normalize - Lesson automatisch aus den anderen drei Lessons erzeugt werden ?
5.5 Dateinamen aller Lessons/Dateien.
5.6 Soll der "Net Error Viewer" angezeigt werden ?
5.7 Soll der "Pattern Error Viewer" angezeigt werden ?
5.8 Nach wieviel Sekunden soll der "Pattern Error Viewer" Chart in der Höhe angepasst werden (Y-Fit) ?
5.9 Name des Teachers
(Dieser muß natürlich auch bei den Teachers vorhanden/eingetragen sein).
5.10 Die Lernrate des Teachers.
5.11 Die Reihenfolge in der die Lern / Trainingsdaten gelernt werden.
5.12 Soll das Training nach einer bestimmten Zeit abgebrochen werden ?
5.13 Soll bei Trainingsabbruch durch "Zeit" ein "Think ausgeführt / Output gespeichert" werden ?
5.14 Nach welcher Zeit (In Sekunden) soll das Training abgebrochen werden ?
5.15 Soll das Training nach einer bestimmten Anzahl Durchläufe der Lern / Trainings - Lesson (Lesson Repetitions) abgebrochen werden ?
5.16 Soll bei Trainingsabbruch durch "Lesson Repetitions" ein "Think ausgeführt / Output gespeichert" werden ?
5.17 Nach wievielen Durchläufen der Lern / Trainings - Lesson (Lesson Repetitions) soll das Training abgebrochen werden ?
5.18 Soll das Training bei erreichen eines bestimmten Net Errors abgebrochen werden ?
5.19 Soll bei Trainingsabbruch durch "Net Error" ein "Think ausgeführt / Output gespeichert" werden ?
5.20 Bei welchem "Net Error" (z.B. 0.002) soll das Training abgebrochen werden ?
5.21 Sollen in der Output - Lesson - Datei auch die Input-Daten des Netzes enthalten sein ?
5.22 Soll die "Output" CSV-Datei am Ende des Scripts z.B. mit Excel geöffnet werden ?
5.23 Soll "MemBrain" am Ende des Scripts auch beendet werden ?
6. Startet "MemBrain".
7. Startet das Script im Menü über "Scripting > Execute Script...".
Gruß Seppy
ich stell hier mal ein "Basis-Script" rein, das jeder an seine Gegebenheiten anpassen kann/soll...
Das Script benötigt min. Version: 03.05.01.01. von MemBrain, bitte vorher in MemBrain prüfen.
"Base.as" Version vom 30.08. 2009.
BESCHREIBUNG:
Funktion des Script's:
1. Laden des Netzes.
2. Laden der Lessons/Daten.
3. Einstellen der Views/Charts.
4. Einstellen des Teachers/Lehrers.
5. Das Netz normalisieren.
6. Das Netz bis zum Abbruchkriterium (Zeit, Lessons, NetError) trainieren.
5. Das trainierte Netz abspeichern.
6. Abarbeiten einer "Think-Lesson".
(Mit jeder Zeile der "Think-Lesson" DENKT das Netz einmal, und erzeugt dabei den Output).
7. Abspeichern des Outputs in einer CSV-Datei (Output.csv).
Voraussetzung:
1. Ein Netz, das zu Deinen Daten/Lessons paßt (Anzahl der IN/OUT Put-Neuronen).
2. Vier(4) Dateien/Lessons.
a. Die "Normalize Lesson".
(In dieser Datei sollten ALLE Werte enthalten sein, die die IN/OUT Put-Neuronen jemals erreichen können).
(Es geht hier um die minimal und maximal Werte der IN/OUT Put-Neuronen).
(Wenn Ihr euch nicht sicher seid, benutzt einfach die "Trainings / Learn - Lesson" zum normalisieren).
(Diese kann über die Einstellung "AUTO_CREATE_NORMALIZE_LESSON" auch automatisch aus den drei anderen Lessons erzeugt werden).
b. Die "Learn Lesson".
(In dieser Datei befinden sich die Daten, mit denen das Netz trainiert wird).
c. Die "Validate Lesson".
(In dieser Datei befinden sich die Daten, die von den Trainingsdaten abgezweigt wurden (ca. 5 - 10 % der Trainingsdaten).
(Um das Netz mit "NICHT trainierten Daten" zu prüfen/testen).
d. Die "Think Lesson".
(In dieser Datei befinden sich die Daten, mit denen man eine Prognose erstellen will).
(Diese Datei enthält NUR die Inputs, die Outputs werden ja durch das Netz erzeugt).
3. Es sollte ein "Net Error" Wert bekannt sein, der mit dem Netz und den Learn/Validate Daten auch erreicht werden kann.
(Das könnt Ihr z.B. mit dem Script "Traintime" herausfinden).
Bedienung:
1. Ladet den Editor "PSPad" herunter und installiert diesen.
http://www.pspad.com
(Dieser Editor ist Freeware, kostet NICHTS, hat "Syntax Highlighting" und kann sehr gut für MemBrain/AngelScript eingerichtet werden).
(Es geht natürlich auch mit "Windows Editor", dann aber OHNE Farbe).
2. Entpackt die ZIP-Datei "Base.zip" in einen Ordner.
3. Kopiert alle Dateien aus diesem Ordner, in den Ordner, der auch das Netz und die Daten/Lessons enthält.
("NetEditor.as, Position.as und SecondsTimer.as" MÜSSEN ZWINGEND im selben Ordner sein).
4. Öffnet das Script "Base.as" mit "PSPad / Win Editor".
(Ist eine reine Text-Datei, also bitte nicht mit MS-Word im DOC-Format abspeichern).
5. Ändern / überprüfen ALLER "Einstellungen" oben im Script, NACH der Beschreibung und INNERHALB der gestrichelten Zeilen, zwischen:
// BEGINN der Einstellungen, bitte anpassen !!!
UND
// ENDE der Einstellungen, danke...
Ihr müßt immer den Wert RECHTS vom "=" ändern.
Wenn Ihr mit einem Wert NICHTS anfangen könnt, dann last in erstmal UNVERÄNDERT !!!
5.1 Wie oft soll das Script abgearbeitet werden (Init_Always - Think_Lesson in main() ) ?
5.2 Dateiname des Netzes.
5.3 Das Dateiformat der Lessons.
"1" = RAW CSV (Standart Excel CSV-Format).
"2" = MemBrain CSV (MemBrain Sectioned CSV-Format).
"3" = MemBrain MBL (MemBrain Standart Lessons MBL-Format).
5.4 Soll die Normalize - Lesson automatisch aus den anderen drei Lessons erzeugt werden ?
5.5 Dateinamen aller Lessons/Dateien.
5.6 Soll der "Net Error Viewer" angezeigt werden ?
5.7 Soll der "Pattern Error Viewer" angezeigt werden ?
5.8 Nach wieviel Sekunden soll der "Pattern Error Viewer" Chart in der Höhe angepasst werden (Y-Fit) ?
5.9 Name des Teachers
(Dieser muß natürlich auch bei den Teachers vorhanden/eingetragen sein).
5.10 Die Lernrate des Teachers.
5.11 Die Reihenfolge in der die Lern / Trainingsdaten gelernt werden.
5.12 Soll das Training nach einer bestimmten Zeit abgebrochen werden ?
5.13 Soll bei Trainingsabbruch durch "Zeit" ein "Think ausgeführt / Output gespeichert" werden ?
5.14 Nach welcher Zeit (In Sekunden) soll das Training abgebrochen werden ?
5.15 Soll das Training nach einer bestimmten Anzahl Durchläufe der Lern / Trainings - Lesson (Lesson Repetitions) abgebrochen werden ?
5.16 Soll bei Trainingsabbruch durch "Lesson Repetitions" ein "Think ausgeführt / Output gespeichert" werden ?
5.17 Nach wievielen Durchläufen der Lern / Trainings - Lesson (Lesson Repetitions) soll das Training abgebrochen werden ?
5.18 Soll das Training bei erreichen eines bestimmten Net Errors abgebrochen werden ?
5.19 Soll bei Trainingsabbruch durch "Net Error" ein "Think ausgeführt / Output gespeichert" werden ?
5.20 Bei welchem "Net Error" (z.B. 0.002) soll das Training abgebrochen werden ?
5.21 Sollen in der Output - Lesson - Datei auch die Input-Daten des Netzes enthalten sein ?
5.22 Soll die "Output" CSV-Datei am Ende des Scripts z.B. mit Excel geöffnet werden ?
5.23 Soll "MemBrain" am Ende des Scripts auch beendet werden ?
6. Startet "MemBrain".
7. Startet das Script im Menü über "Scripting > Execute Script...".
Gruß Seppy