0

Stephan Marslands 2D自己組織化マップを実験しようとしています(主成分分析と組み合わせて)

import som as sm
#put it into som
def som_algorithm(inputs,nIterations,x=0,y=0):
    print "Running Self-Organizing Map!"
    if x == 0 and y == 0:
        y = len(inputs[0])
        x = len(inputs)
    print "x axis is " + str(x) + " / y axis is " + str(y)
    som = sm.som(x,y,inputs)
    som.somtrain(inputs, nIterations)
    print som.somfwd(inputs)

som_algorithm(training, 100)

そして、前処理後の私のデータセットに基づいて、このエラーを生成します

Running Self-Organizing Map!
x axis is 600 / y axis is 173
Traceback (most recent call last):
  File "\source\bag_of_words.py", line 112, in <module>
som_algorithm(training, 100)
  File "\source\bag_of_words.py", line 87, in som_algorithm
som = sm.som(x,y,inputs)
  File "\som\__init__.py", line 44, in __init__
self.mapDist = zeros((self.x*self.y,self.x*self.y))
MemoryError

現在、myYは配列あたりの要素数(大きい方の次元に含まれる配列の次元)をX表し、myは小さい配列の次元を含む大きい方の次元を表します。このメモリエラーの原因は何ですか?

4

1 に答える 1

2

このコードは、x*y×x*yの形状のゼロの配列を作成しようとしています。それは10774440000要素です。配列の各値は8バイト(倍精度)です。それは80ギガバイトを超えています。単にメモリが不足しています。

于 2012-10-10T00:47:47.600 に答える