Numpy.load (), кажется, использует двойную память массива на пикеPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Numpy.load (), кажется, использует двойную память массива на пике

Сообщение Anonymous »

Я думал, что numpy.load () записывается непосредственно в память данных массива. Я бы ожидал пиковую память 2 ГБ для функции загрузки. Я также мог себе представить, что 4 ГБ в пике, используемом в качестве массива, может быть загружена в буфер и записанный в память данных.

Тем не менее, время в профилировании кажется странным. После загрузки программы следует подождать секунду и распечатать время. Тем не менее, размер памяти увеличивается после этой секунды?

Код: Выделить всё

import time
from datetime import datetime as dt

import memray
import numpy as np

def main():
time.sleep(1)
print(dt.now())
m_ = np.load(
os.path.join(os.path.expanduser('~'), 'test_data/max_compression_chunk.npy'),
mmap_mode=None,
)
print(dt.now())
time.sleep(1)
print(dt.now())

if __name__ == "__main__":
with memray.Tracker("memray_test.bin", memory_interval_ms=0.1, follow_fork=True, native_traces=True):
main()
Прикреплено также результаты MProf и Memray:
Изображение


Edit 2
Interestingly, it seems that numpy.fromfile does indeed work better.
(The code is the same as above, just, using fromfile instead of load.)


2 "src =" https://i.sstatic.net/3gm9azsl.png "/>
Выход MPROF - это то, что я ожидал (а также для функции np.load). Однако, по -видимому, существует несоответствие между выходом мемрай и выходом MPLOT. < /P>

edit 3 < /strong> < /p>
После повторного установления моей среды и создания новой массивы тестов, кажется, что зависит от того, что я могу ожидать. усилие! Особенно, если пиковая память, как ожидается, будет 4 ГБ (вдвое больше размера массива)?



4
Появляется, что поведение не зависит от размера файла, но, по -видимому, но в файловой системе из того, что загружается массив. Массив загружается.)

Все работало, как можно было ожидать < /li>
< /ul>
< /li>
Размер массива поступил от максимального размера чанка, над которыми будут работать протестированные компрессоры. Поэтому я подумал, что, возможно, это может быть чем -то, что размер находится вблизи этого размера. Поэтому я медленно увеличивал размер, чтобы пересечь эту границу ...

Все, как можно было ожидать, < /li>
< /ul>
< /li>
, чем я изменил на исходный путь ...

Повернулся снова ... в обоих вариациях. /> < /li>
< /ol>
работа: beegfs. < /strong>

накладные расходы примерно 2 ГБ (const для увеличения размеров данных): CVFS < /strong> < /p>
Конечно, разница между двумя файлами, но иначе, но в отличие от того, что может быть что -то, что может быть чем -то, но иначе, но в отличие от того, что отличаются, но в отличие от того, что отличаются. Причина.
beegfs



cvfs


Подробнее здесь: https://stackoverflow.com/questions/795 ... ay-at-peak
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Numpy.load (), кажется, использует двойную память массива на пике
    Anonymous » » в форуме Python
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Numpy.load (), кажется, использует двойную память массива на пике
    Anonymous » » в форуме Python
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Как заставить Isolation Forest обнаруживать аномалию на пике разницы, а не на первом увиденном значении
    Anonymous » » в форуме Python
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Ошибка joblib.load и Pickle.load «Нет атрибута XGBoostLabelEncoder»
    Anonymous » » в форуме Python
    0 Ответы
    59 Просмотры
    Последнее сообщение Anonymous
  • Meta load() Метод загрузки рекламы устарел. Как использовать load(withBidPayload: <#T##String#>)
    Anonymous » » в форуме IOS
    0 Ответы
    57 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»