_Tiket asli http://projects.scipy.org/numpy/ticket/1803 pada 2011-04-19 oleh pengguna trac meawoppl, ditetapkan ke tidak diketahui._
a = nol ((300000, 1000))
f = buka ("test.pkl", "w")
SystemError Traceback (panggilan terakhir terakhir)
/ home / kddcup / code / matt / svd-projection / take5 /
SystemError: kesalahan kembali tanpa set pengecualian
Atau menggunakan fungsi .dump:
SystemError Traceback (panggilan terakhir terakhir)
/ home / kddcup / code / matt / svd-projection / take5 /
SystemError: Hasil NULL tanpa kesalahan di PyObject_Call
Saya tidak yakin apakah ini kesalahan numpy atau Pickle / cPickle. Dalam kedua kasus tersebut, pesan kesalahan yang lebih instruktif pasti akan membantu. Saya pikir masalahnya hanya terjadi untuk array yang lebih besar dari 2 ** (32-1) byte tetapi saya harus bereksperimen lebih banyak untuk memastikan.
Saya juga menghadapi masalah ini.
@zhlsk tidak mencoba lebih jauh atau menyelidiki apakah ada perbaikan pada python, tetapi saya pikir ini bukan masalah numpy tetapi masalah python, karena: cPickle.dump(a.tostring(), f)
juga gagal untuk saya sama saja dan itu hanya besar string kemudian dan tidak ada hubungannya dengan numpy. Menggunakan fungsi penyimpanan numpy seharusnya tidak memiliki masalah seperti ini.
@seberg Terima kasih atas balasan Anda. Kamu benar. Ini masalah python: http://bugs.python.org/issue11564
Pada prinsipnya kita mungkin bisa mengatasi bug dengan melewatkan besar
array ke pickler sebagai rangkaian objek, yang masing-masing pas di file
membatasi, dan merekonstruksi larik pada waktu tak terikat. Kedengarannya seperti itu
limit adalah seukuran array byte tunggal.
Pada 14 Des 2012 22:11, "zhlsk" [email protected] menulis:
@seberg https://github.com/seberg Terima kasih atas balasan Anda. Kamu benar.
Ini masalah python: http://bugs.python.org/issue11564-
Balas email ini secara langsung atau lihat di Gi tHubhttps: //github.com/numpy/numpy/issues/2396#issuecomment -11394338.
Ada kemajuan dalam hal ini? Tampaknya numpy.save
dan numpy.savetxt
keduanya terpengaruh oleh masalah ini. Ada solusi?
Ini adalah bug di Python, perbaikannya adalah meningkatkan ke versi yang lebih baru (diperbaiki dengan Python 3.3), dan solusinya adalah dengan membuat acar array Anda sendiri di bagian yang lebih kecil, atau menggunakan beberapa format file lain selain acar Python.
np.savetxt tidak terpengaruh oleh ini, dan np.save hanya terpengaruh untuk larik objek.
Penutupan.
Saya mendapatkan ini saat mencoba cPickle matriks renggang 11.314 x 8.463.980.778 dengan 352.451.719 elemen tersimpan dalam format scipy.sparse.csr_matrix. Versi Python: Python 2.7.10 | Anaconda 2.3.0 (x86_64) | (default, 28 Mei 2015, 17:04:42)