আমি MacOS এ একই সমস্যার মুখোমুখি না হয়ে উবুন্টু 18-তে নম্পরায় বিশাল অ্যারে বরাদ্দের একটি সমস্যার মুখোমুখি।
আমি আকারের (156816, 36, 53806)
সাথে একটি নমপি অ্যারের জন্য মেমরি বরাদ্দ করার চেষ্টা করছি
np.zeros((156816, 36, 53806), dtype='uint8')
এবং আমি উবুন্টু ওএসে একটি ত্রুটি পেয়েছি
>>> import numpy as np
>>> np.zeros((156816, 36, 53806), dtype='uint8')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
numpy.core._exceptions.MemoryError: Unable to allocate array with shape (156816, 36, 53806) and data type uint8
আমি ম্যাকওএস এ পাচ্ছি না:
>>> import numpy as np
>>> np.zeros((156816, 36, 53806), dtype='uint8')
array([[[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
...,
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0]],
[[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
...,
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0]],
[[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
...,
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0]],
...,
[[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
...,
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0]],
[[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
...,
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0]],
[[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
...,
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0],
[0, 0, 0, ..., 0, 0, 0]]], dtype=uint8)
আমি কোথাও পড়েছি np.zeros
যা অ্যারের জন্য প্রয়োজনীয় পুরো মেমরিটিকে সত্যিকার অর্থে বরাদ্দ করা উচিত নয়, তবে কেবল অ-শূন্য উপাদানগুলির জন্য। যদিও উবুন্টু মেশিনটিতে 64 গিগাবাইট মেমরি রয়েছে তবে আমার ম্যাকবুক প্রোটিতে কেবল 16 জিবি রয়েছে।
সংস্করণ:
Ubuntu
os -> ubuntu mate 18
python -> 3.6.8
numpy -> 1.17.0
mac
os -> 10.14.6
python -> 3.6.4
numpy -> 1.17.0
পিএস: গুগল কোলাবেও ব্যর্থ হয়েছে