In Python konnte keine zuvor entsorgte Beizdatei großer Größe geladen werden

8

Ich habe cPickle und die Protokollversion 2 verwendet, um einige Berechnungsergebnisse auszugeben. Der Code sieht so aus:

%Vor%

Die Variable var ist ein Tupel der Länge zwei. Der Typ von var [0] ist eine Liste und var [1] ist ein numpy.darray.

Das obige Codesegment hat erfolgreich eine Datei mit großer Größe (~ 1.7G) erstellt.

Als ich jedoch versuchte, die Variable von foo.pck zu laden, bekam ich den folgenden Fehler.

%Vor%

Die Ladecodes sehen wie folgt aus.

%Vor%

Ich habe auch versucht, Pickle (anstelle von cPickle) zu verwenden, um die Variable zu laden, bekam aber einen ähnlichen Fehler msg wie folgt.

%Vor%

Ich habe die gleichen Code-Segmente zu einer viel kleineren Größe versucht und es hat gut funktioniert. Also meine beste Schätzung ist, dass ich die Lademengenbeschränkung von Pickle (oder cPickle) erreicht habe. Es ist jedoch seltsam, erfolgreich zu dumpen (mit großen Variablen), aber nicht geladen.

Wenn dies tatsächlich ein Problem bei der Größenbeschränkung ist, wie soll ich es umgehen? Wenn nicht, was kann die mögliche Ursache des Problems sein?

Jeder Vorschlag wird geschätzt. Danke!

    
user1036719 21.08.2012, 18:32
quelle

1 Antwort

3

Wie wäre es mit speichern & amp; lade das numpy Array nach numpy.save() & amp; np.load() ?

Sie können die gebeizte Liste und das numpy Array in der gleichen Datei speichern:

%Vor%

um die Daten zu lesen:

%Vor%     
HYRY 22.08.2012, 06:37
quelle

Tags und Links