各マトリックスが長さ 370 万のベクトルである約 50.000 の scipy スパース csr マトリックスを格納する必要があります。
x = scipy.sparse.csr_matrix((3.7Mill,1))
各ベクトルに対応するキー (この場合、キーは単純な整数) も知る必要があるため、現在、それらを単純な辞書に格納しています。
現在の問題は、必要な大量のメモリです。より効率的な方法はありますか?
各マトリックスが長さ 370 万のベクトルである約 50.000 の scipy スパース csr マトリックスを格納する必要があります。
x = scipy.sparse.csr_matrix((3.7Mill,1))
各ベクトルに対応するキー (この場合、キーは単純な整数) も知る必要があるため、現在、それらを単純な辞書に格納しています。
現在の問題は、必要な大量のメモリです。より効率的な方法はありますか?
Lazyデータ構造を使用してみてください。
例えば:
def lazy(func):
    def lazyfunc(*args, **kwargs):
        temp = lambda x : func(*args, **kwargs)
        temp.__name__ = "lazy-" + func.__name__
        return temp
    return lazyfunc
"""
Add some simple functions
"""
def add(x, y):
    print "Not lazy"
    return x + y
@lazy
def add_lazy(x, y):
    print "lazy!"
    return x + y
使用法:
>>> add(1, 2)
Not lazy
3
$ add_lazy(1, 2)
<function lazy-add_lazy at 0x021E9470>
>>> myval = add_lazy(1, 2)
>>> myval()
lazy!
3
見る: