2016-05-13 9 views
5

मैं ज़ीरो की एक बहुत बड़ी संख्यात्मक सरणी बनाने की कोशिश कर रहा हूं और फिर शून्यों की बड़ी सरणी में किसी अन्य सरणी से मूल्यों की प्रतिलिपि बना रहा हूं। मैं पिचर्म का उपयोग कर रहा हूं और मैं इसे प्राप्त करता रहता हूं: MemoryError तब भी जब मैं कोशिश करता हूं और केवल सरणी बना देता हूं।मेमोरी एरर एक बहुत बड़ी संख्यात्मक सरणी बनाते समय

import numpy as np 

last_array = np.zeros((211148,211148)) 

मैं 750m से Pycharm में स्मृति ढेर में वृद्धि इस सवाल के अनुसार 1024M के लिए कोशिश की है: यहाँ कैसे मैं शून्य की सरणी बनाने की कोशिश की है https://superuser.com/questions/919204/how-can-i-increase-the-memory-heap-in-pycharm, लेकिन वह मदद करने के लिए प्रतीत नहीं होता ।

मुझे बताएं कि क्या आप कोई और स्पष्टीकरण चाहते हैं। धन्यवाद!

+10

आप एक सरणी के आकार में 100GB खत्म हो गया है कि, की 'int' 4 बाइट – smac89

+0

ओह स्वामी है आकार संभालने बनाया है, मुझे नहीं पता था। वह डरावना है। हालांकि यह एक बहुत ही दुर्लभ सरणी है। क्या कुछ स्थितियों में मूल्यों के साथ खाली सरणी बनाने का कोई तरीका है, जैसे: 'last_array [211148] [9]' लेकिन हर जगह खाली होगा? –

+0

यह सहायक हो सकता है: http://stackoverflow.com/questions/1857780/sparse-assignment-list-in-python – Keozon

उत्तर

6

scipy के भीतर स्पैर सरणी क्षमताओं का उपयोग करने में देखें:
scipy.sparse documentation

यहाँ scipy.sparse पुस्तकालय के उदाहरण और ट्यूटोरियल का एक सेट के होते हैं:
Scipy lecture notes: Sparse Matrices in SciPy

यह आपको अपनी स्मृति मुद्दों को हल, साथ ही सब कुछ तेजी से चलाने बनाने में मदद कर सकते हैं।


के रूप में आप अपनी टिप्पणी में पूछा कुछ पदों में मूल्यों के साथ एक खाली विरल सरणी बनाने के लिए:

इस तरह के रूप में कुछ की स्थिति में मान, के साथ एक खाली सरणी बनाने के लिए कोई तरीका है: last_array [211147] [9] लेकिन हर जगह खाली होगा?

from scipy.sparse import * 
values = [42] 
row_ind = [211147] 
col_ind = [9] 
last_array = csc_matrix((values, (row_ind, col_ind)), shape=(211148,211148)) 

print(last_array[211147,9]) 
+0

धन्यवाद एक टन! मैं एक सरणी से मूल्यों का एक गुच्छा अब स्पैर मैट्रिक्स में विशिष्ट स्थानों में कैसे प्राप्त कर रहा हूं इस पर काम कर रहा हूं। –

+0

यदि आप रुचि रखते हैं तो यहां एक फॉलो-अप प्रश्न है: http://stackoverflow.com/questions/37218550/copying-values-of-a-numpy-array-into- विशिष्ट- स्थान-of-sparse-matrix –

संबंधित मुद्दे