Сбой ОЗУ с использованием memmap в правиле Oja

Я использую правило oja для набора данных размером 400x156300. Кажется, сбой моей оперативной памяти. Я не уверен, что вызывает это. Пожалуйста помоги. У меня 12 ГБ оперативной памяти. Пробовал с помощью memmap, но все еще сбой!!

#convert memmap and reduce precision
[num_sample,num_feat]=train_data.shape
filename = path.join(mkdtemp(), 'train_data.dat')
memmap_train = np.memmap(filename, dtype='float32', mode='w+', shape=(num_sample,num_feat))
memmap_train[:] = train_data[:]
del train_data,test_data

#apply oja's rule
ojanet = algorithms.Oja(minimized_data_size=1250,step=1e-10,verbose=True,show_epoch=1)
ojanet.train(memmap_train, epsilon=1e-3,epochs=10000)
red_train_data = ojanet.predict(memmap_train)
ojanet.plot_errors(logx=False)
pdb.set_trace()

Также поднят вопрос: https://github.com/itdxer/neupy/issues/27. Не знаю, активна ли разработка пакета.

Под крахом ОЗУ я подразумеваю, что использование% ОЗУ превышает 100%, и мой компьютер перестает отвечать на запросы.

1 ответ

Эта проблема была связана с неэффективным использованием памяти для алгоритма Oja. Это было исправлено в NeuPy версии 0.1.4. Закрытый билет вы можете найти здесь: https://github.com/itdxer/neupy/issues/27

Другие вопросы по тегам