Tôi nắm lấy track1 bộ dữ liệu KDD từ Kaggle và quyết định tải một tập tin CSV 3 cột ~ 2.5GB vào bộ nhớ, trên 16GB bộ nhớ cao EC2 dụ của tôi:vấn đề bộ nhớ lớn đọc trong một tập tin csv sử dụng NumPy
data = np.loadtxt('rec_log_train.txt')
phiên python ăn hết bộ nhớ của tôi (100%), và sau đó bị giết.
Sau đó tôi đọc cùng một tệp bằng cách sử dụng R (thông qua read.table) và nó sử dụng ít hơn 5 GB ram, đã giảm xuống dưới 2 GB sau khi tôi gọi bộ thu gom rác.
Câu hỏi của tôi là tại sao điều này lại không thành công, và cách thích hợp để đọc một tệp vào bộ nhớ là gì. Có, tôi có thể sử dụng máy phát điện và tránh vấn đề, nhưng đó không phải là mục tiêu.
http://stackoverflow.com/questions/8956832/python-out-of-memory-on-large-csv-file-numpy – Anycorn
Nếu độ chính xác đơn sẽ làm, 'np.fromfile/np.loadtxt (dtype = np.float32) 'sẽ mất ít bộ nhớ hơn, sau đó' X = X.astype (np.float64) 'khi hoàn thành. – denis