Speicherprobleme mit der CTP 2

Leider wird sich wohl nun die Veröffentlichung der CTP 2 noch etwas verzögern. Das liegt daran, dass nicht genug Arbeitsspeicher für alle Gewichte und Daten vor allem während der Ausführung vorhanden ist. Ich muss mir also Gedanken darüber machen das Zeug in einem temporären Verzeichnis abzuspeichern. Wer jetzt schon mal die CTP 1 ausprobiert hat wird gemerkt haben, dass bei sehr großen Netzen das Programm einfach nicht mehr funktioniert. Ich hab mir das folgendermaßen gedacht:

  1. Die Gewichte und alle anderen größeren Datenmengen werden nach ihrer Berechnung oder nach dem Laden nicht erst in den Arbeitsspeicher geladen sondern sofort in ein Verzeichnis mit Schlüssel weggeschrieben, was aber eben nur Nutzdaten beinhaltet
  2. Dann können auf Abfrage Teile von diesen Dateien zur weiteren Verarbeitung ausgelesen werden

Dazu hab ich erst mal 2 Klassen:

StorageVector: Zugriff auf einen Vektor über ein Verzeichnis

StorageMatrix: Zugriff auf eine Matrix über ein Verzeichnis

Man muss also nie die ganze Matrix oder den ganzen Vektor in den Speicher laden (macht bei dem Vektor wenig Sinn weil der eh nie größer werden wird, der wird aber von der Matrix intern gebraucht) aber man hat vor allen Dingen nicht immer auch die Sachen, die man gerade nicht braucht im Speicher. So kann man also sehr viele große Gewichte laden und sehr kompliziert und aufwendig ausführen mit vielen Testdaten zum Beispiel und so weiter, soweit man so viel Platz auf der Platte hat.