файл содержит 2000000 строк: каждая строка содержит 208 столбцов, разделенных запятой, например:Почему numpy narray читает из файла, потребляет столько памяти?
0.0863314058048,0.0208767447842,0.03358010485,0.0,1.0,0.0,0.314285714286,0.336293217457,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,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,1,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,1,0,0,0,0,0,0
Программа считывает этот файл на Numpy narray, я ожидал, что он будет потреблять около (2000000 * 208 * 8B) = 3.2GB
памяти. Однако, когда программа читала этот файл, я обнаружил, что программа потребляет около 20 ГБ памяти.
Я смущен тем, почему моя программа потребляет столько памяти, что не соответствует ожиданиям?
Можете ли вы показать точную строку кода, которая считывает данные из файла? Трудно ответить, если мы должны угадать. –
@BasSwinckels спасибо, я использую np.loadtxt() для чтения данных. Саулло Кастро указал на проблему и объяснил эту проблему примерно. –