Ich habe zwei Matrizen als numpy Arrays:Wie Speicherfehler zu vermeiden, wenn große Kovarianz und Identitäts-Matrizen mit numpy Berechnung
A.shape
(800, 1200)
B.shape
(800, 101343)
Ich brauche die Kovarianzmatrix A und B und die Identitätsmatrix zu berechnen, der A und B:
import numpy as np
a_row, a_col = A.shape
b_row, b_col = B.shape
C_ab = np.cov(A,B, rowvar=False)[:a_col, a_col:]
ai = np.eye(a_col)
bi = np.eye(b_col)
Das hier Problem ist aber, dass ich bekommen:
2493 else:
2494 X_T = (X*w).T
-> 2495 c = dot(X, X_T.conj())
2496 c *= 1./np.float64(fact)
2497 return c.squeeze()
MemoryError:
Aufgrund der Größe von 012.. Wer kennt eine Arbeit?
Wenn ich es geschafft habe, es zu testen, akzeptiere ich die Antwort, so wie es aussieht, jeder Versuch, numpy nach 'import graphlab.numpy' zu verwenden, führt zu einem' Zugriff auf ungültige Adresse: 0xffffffffffffffff Abgebrochen 'in ipython und' Zugriff auf ungültige Adresse: 0xffffffffffffffff Kernel starb, neu starten ([y]/n)? 'In Jupyter-Konsole – atomsmasher
Mine funktioniert gut. Benutzt du Python2? – user1157751
@atomsmasher Das könnte ein Ärgernis sein, aber ich schlage vor, dass Sie Ihren Python 2 auf den neuesten 2.7.10 aktualisieren. Es sieht so aus, als ob Python versucht hat, auf einen Speicherort zuzugreifen, den es nicht sollte. – user1157751