Ich bin ein Neuling in Lua (benutze es für das Torch7-Framework). Ich habe eine Eingabe-Feature-Datei, die etwa 1,4 GB groß ist (Textdatei). Die einfache io.open-Funktion gibt beim Versuch, diese Datei zu öffnen, den Fehler 'nicht genug Speicher' aus. Beim Durchblättern der Benutzergruppen und der Dokumentation sehe ich, dass seine möglicherweise eine Lua-Einschränkung ist. Gibt es einen Workaround dafür? Oder mache ich etwas falsch beim Lesen der Datei?Wie lese ich große Dateien (> 1GB) in lua?
EDIT: Die Eingabedatei, die ich versuche zu lesen, enthält Bildfunktionen, auf die ich mein Modell trainieren möchte. Diese Datei ist geordnet ({start-tag} ... Inhalt ... {end-tag} {start-tag} ... und so weiter ...), also ist es in Ordnung, wenn ich diese laden kann Abschnitte (Start-Tag bis End-Tag) nacheinander. Ich möchte jedoch, dass alle diese Abschnitte in den Speicher geladen werden.
Sind Sie sicher, dass das 'nicht genügend Speicher' erscheint nach dem 'io.open'? Das scheint nicht richtig zu sein. Ist es jedoch möglich, dass Sie die Datei in Blöcken lesen? Benötigen Sie _really_ brauchen die Loch-Datei im Speicher Beachten Sie, dass das '*' in 'file: read (" * all ")' in lua 5.3 obsolet ist (ich weiß nicht, welche Version Fackel verwendet) – pschulz
Torch verwendet LuaJIT, die hat Speicherbeschränkungen. Siehe z.B. http://stackoverflow.com/questions/35155444/why-is-luajits-memory-limited-to-1-2-gb-on-64-bit-platforms. – moteus
@pschulz: Der nicht genügend Speicherfehler erscheint, während 'local content = file: read (" * all ")' ausgeführt wird. – NightFury13