Переход на Python с Matlab: построение и потребление оперативной памятиPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Переход на Python с Matlab: построение и потребление оперативной памяти

Сообщение Anonymous »

Я нахожусь в процессе перехода с Matlab на Python. Я переписываю большинство своих кодов и использую Spyder IDE. < /P>
Мне постоянно нужно загружать большие наборы данных и построить их. Здесь я столкнулся с проблемой с использованием потребления Python и RAM при построении данных < /p>
Вот пример двух кодов, сначала в Matlab и использование RAM в каждой точке, а затем реализация в Python. Цель состоит в том, чтобы прочитать несколько наборов данных HDF5, сшить их вместе и сюжет.

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

filename = dir('*00.hdf5');
[~, idx]   = max([filename.datenum]);
filename = filename(idx).name;
dLim = [0 1];
Data = [];
lgth = cellstr(num2str((dLim(1):dLim(2))', '%04d'));
date = filename(1:17);
for i = 1:length(lgth)
filename1 = [date ,sprintf('.00%s', lgth{i}),'.hdf5'];
intD = double(h5read(filename1,'/data'));
Data = [Data; intD];
end
< /code>
Окончательный размер Data = 58976577x4 RAM Использование = 3662 МБ < /p>
после графика с Matlab < /p>
ram usage = 7322 Mb. < /p>
python: < /p>
filenames = glob.glob('*00.hdf5')
filename = max(filenames, key=os.path.getmtime)
filename = os.path.basename(filename)
dLim = [0, 1]
lgth = [f"{i:04d}" for i in range(dLim[0], dLim[1] + 1)]
date = filename[:17]
Data = None
for i in range(len(dLim)):
filename1 = f"{date}.00{lgth[i]}.hdf5"
with h5py.File(filename1, 'r') as f:
intD = np.array(f['/data']).T
if Data is None:
Data = intD
else:
Data = np.vstack((Data, intD))
< /code>
Окончательный размер Data = 58976577x4 < /p>
Использование оперативной памяти = 2280 мб < /p>
После построения построения с помощью Matplotlib: < /p>
from matplotlib import pyplot as plt

plt.plot(Data)
ram usage = 11000+ мб.
Сводка:
Потребление оперативной памяти Matlab:
Окончательный размер данных = 58976577x4
ram usage = 3662 mb
ram usage = 3662 mb
ram usage = 3662 mb
plot:
RAM usage = 7322 MB
Python (Spyder) RAM consumption:
Final size of Data = 58976577x4
RAM usage = 2280 MB
After plot with matplotlib: < /p>
Использование оперативной памяти = 11000+ МБ. Становится едва отзывчивым. < /P>
Что я делаю не так? Это даже не самый большой набор данных, с которым я работал раньше, и я застрял ... Я могу понизить данные и уменьшить нагрузку, но это не главное. Это можно сделать и в Matlab ...

Подробнее здесь: https://stackoverflow.com/questions/788 ... onsumption
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Чрезмерное потребление оперативной памяти процессом Wazuh-Indexer на агенте Proxmox VE
    Anonymous » » в форуме Linux
    0 Ответы
    40 Просмотры
    Последнее сообщение Anonymous
  • Потребление оперативной памяти контроля страниц
    Anonymous » » в форуме C#
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Потребление оперативной памяти контроля страниц
    Anonymous » » в форуме C#
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Потребление оперативной памяти контроля страниц
    Anonymous » » в форуме C#
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Потребление оперативной памяти контроля страниц
    Anonymous » » в форуме C#
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous

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