P = y.T @ (np.diag(Wc) @ y) Эта строка увеличивает использование памяти в приведенном ниже коде на моем компьютере с Windows 11. Как только я запускаю код, я вижу, что использование оперативной памяти увеличивается и стремительно растет. Но когда я заменяю эту строку на P = y.T @ (y * Wc[:, None]) , использование оперативной памяти становится стабильным. Однако я протестировал тот же код на своем компьютере с Ubuntu 20.04, и он отлично работал для обоих изменений. Я не могу понять странное поведение. Знатоки, помогите пожалуйста.
Ubuntu 20.04; Питон 3.10.12; Numy: 1.26.4
Я могу обновить публикацию версиями Python/numpy для ПК с Windows, как только снова получу к ней доступ.
import numpy as np, psutil, os, time, gc
p = psutil.Process(os.getpid())
def rss_mb(): return p.memory_info().rss / 1024 / 1024
n = 3
kmax = 2*n + 1
Wc = np.random.randn(kmax)
y = np.random.randn(kmax, n)
print("start rss", rss_mb())
i = 0
while True:
P = y.T @ (np.diag(Wc) @ y) #
Подробнее здесь: https://stackoverflow.com/questions/798 ... nd-doing-m
Утечка памяти происходит с Python при создании диагонального массива и выполнении матричных вычислений ⇐ Python
Программы на Python
1771238876
Anonymous
P = y.T @ (np.diag(Wc) @ y) Эта строка увеличивает использование памяти в приведенном ниже коде на моем компьютере с Windows 11. Как только я запускаю код, я вижу, что использование оперативной памяти увеличивается и стремительно растет. Но когда я заменяю эту строку на P = y.T @ (y * Wc[:, None]) , использование оперативной памяти становится стабильным. Однако я протестировал тот же код на своем компьютере с Ubuntu 20.04, и он отлично работал для обоих изменений. Я не могу понять странное поведение. Знатоки, помогите пожалуйста.
Ubuntu 20.04; Питон 3.10.12; Numy: 1.26.4
Я могу обновить публикацию версиями Python/numpy для ПК с Windows, как только снова получу к ней доступ.
import numpy as np, psutil, os, time, gc
p = psutil.Process(os.getpid())
def rss_mb(): return p.memory_info().rss / 1024 / 1024
n = 3
kmax = 2*n + 1
Wc = np.random.randn(kmax)
y = np.random.randn(kmax, n)
print("start rss", rss_mb())
i = 0
while True:
P = y.T @ (np.diag(Wc) @ y) #
Подробнее здесь: [url]https://stackoverflow.com/questions/79889908/memory-leak-happening-with-python-when-creating-numpy-diagonal-array-and-doing-m[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия