|
6 / 6 / 1
Регистрация: 26.09.2017
Сообщений: 68
|
|||||||||||
np.array большое потребление памяти04.04.2023, 11:59. Показов 2760. Ответов 25
кусок данных беру из бд напрямую в panda.dataframe делаю пред обработку и маленькими частями запихиваю в list
Для tensorflow нужно чтобы данные были в numpy Я и запихиваю всё это в
10% выжирает около 40 гигов все данные входят в диапазон от 0 до 1 Есть ли способ уменьшить массив? float16 ситуацию не меняет.
0
|
|||||||||||
| 04.04.2023, 11:59 | |
|
Ответы с готовыми решениями:
25
Как уменьшить потребление памяти?
Большое потребление памяти приложением |
|
Модератор
|
||||
| 04.04.2023, 12:20 | ||||
|
Ты понимаешь что вообще делаешь в программе? На этапе подготовки, ты уже занял 15гб места в пустую. Добавлено через 3 минуты Тут либо данные подтягивать ленивым способом, либо не создавать кучу не нужных переменных и держать кулачки чтоб тебе хватило места.
0
|
||||
|
6 / 6 / 1
Регистрация: 26.09.2017
Сообщений: 68
|
|
| 04.04.2023, 13:09 [ТС] | |
|
Fudthhh, Не совсем так pandas Я использую только для предобработки данных. В цикле он обновляется больше 2000 раз и можно просто пренебречь. np после записи массива занимает больше 40 гигов. это без учёта предыдущих данных. Я просто не понимаю почему np.array занимает в 3.5 раза больше памяти. если бы в 2-а раза вопросов бы не возникло.
Добавлено через 4 минуты Fudthhh, Вполне возможно что надо сохранять не в list а в pandas.datafreme и после этого преобразовывать. Может np создаёт индексы вдоль и поперёк и можно их как то отключить Я не нашёл не чего в интернете.
0
|
|
|
Модератор
|
|||
| 04.04.2023, 13:35 | |||
|
А теперь посчитай: 4974910 * 256 * 91 * 2 = ?
0
|
|||
|
578 / 411 / 69
Регистрация: 09.01.2018
Сообщений: 1,363
|
|||||||||||||||||||||
| 04.04.2023, 13:36 | |||||||||||||||||||||
|
Вообще-то копирование DataFrame в массив numpy лучше делать вот так:
Даже в последнем случае оказывается, что роста объема практически нет. Легкий эксперимент:
2
|
|||||||||||||||||||||
|
6 / 6 / 1
Регистрация: 26.09.2017
Сообщений: 68
|
|
| 04.04.2023, 13:55 [ТС] | |
|
passant, Значит надо заполнять в pandas? Я почему-то изначально решил заполнять в list Сегодня протестировать не успею ну если что отпишусь завтра.
0
|
|
|
578 / 411 / 69
Регистрация: 09.01.2018
Сообщений: 1,363
|
|
| 04.04.2023, 14:33 | |
|
Что значит "надо заполнять в pandas?". Я не говорил ни про "надо", ни про pandas. Я просто показал, как надо обращаться с памятью. Ну, как минимум - из pandas перегонять прямо в numpy, а не через список. А все остальное - использование сначала Pandas, потом numpy - это ваше личное решение.
0
|
|
|
6 / 6 / 1
Регистрация: 26.09.2017
Сообщений: 68
|
||
| 04.04.2023, 14:40 [ТС] | ||
|
passant,
Я без каких то претензий говорил. Извините если чем то обидел.
0
|
||
|
578 / 411 / 69
Регистрация: 09.01.2018
Сообщений: 1,363
|
|
| 04.04.2023, 15:00 | |
|
Этой фразой я говорю, что если у вас есть DataFrame (почему он у вас есть - я не знаю, это вы так решили) и него скопировать в numpy (опять таки, это вы так решили), то делать это лучше не через первую перегонку в список - с потерей памяти, вторую перегонку в массив - с еще одной потерей памяти, а напрямую, при которой память дополнительно вообще практически не расходуется.
0
|
|
|
6 / 6 / 1
Регистрация: 26.09.2017
Сообщений: 68
|
|
| 04.04.2023, 15:24 [ТС] | |
|
passant, dataframe мне нужен для быстрой предобработки всего фрейма есть лямбда которая скейлит одну строку датафрейма. Питоровскими методами это занимает секунд 20 а в датафрейме секунду на все строки. np с многомерными массивами работает быстрее + reshape. Я почитаю как дозаписывать np.array но на сколько Я помню он выделяет память на оба массива копирует всё это добро и удаляет старый массив.
0
|
|
|
578 / 411 / 69
Регистрация: 09.01.2018
Сообщений: 1,363
|
||
| 04.04.2023, 16:00 | ||
|
0
|
||
| 04.04.2023, 16:11 | |
|
Не по теме: passant, проблема xy.
0
|
|
|
6 / 6 / 1
Регистрация: 26.09.2017
Сообщений: 68
|
|
| 04.04.2023, 16:28 [ТС] | |
|
passant, Да Я это понимаю что tuple не любит добавлений из за чего он быстрее и меньше весит чем list. Вернёмся к началу разговора Я понимаю что python list имеет большой объём из за того что туда можно записать str int float и всё это в одном списке. Как получается что создание стандартизированного float32 занимает больше места в памяти чем list питора? Может быть из за того что создаётся из листа он больше памяти занимает? Я не знаю и не где такой информации не нашёл.
0
|
|
|
578 / 411 / 69
Регистрация: 09.01.2018
Сообщений: 1,363
|
||||||||||||||
| 04.04.2023, 18:03 | ||||||||||||||
|
Добавлено через 32 минуты И по ходу. tuple - не "не любит" дополнения. Он их просто на дух не переносит, т.е. прямо и безоговорочно ЗАПРЕЩАЕТ!
Что такое "стандартизированное float32" для меня вообще осталось загадкой.
0
|
||||||||||||||
| 04.04.2023, 18:22 | |
|
Не по теме: passant, мне кажется он не понимает что коллекция из 4974910 * 256 * 91 элементов, будет весить в любом случае очень много, если загонять ее прямиком в память. Скорее всего это обучающий датасет, и он не понимает как реализовать ленивое чтение чтобы тренировать свою модель.
0
|
|
|
6 / 6 / 1
Регистрация: 26.09.2017
Сообщений: 68
|
|||
| 04.04.2023, 18:28 [ТС] | |||
|
passant,
Вы ведёте себя как ребёнок. Если не можете ответить можете перестать писать чушь? Добавлено через 5 минут Fudthhh, Я всё понимаю и данные для моего датасета избыточны. Я не понимаю как они помещаются в list python и не помещаются в np для меня это загадка. И Я пришёл узнать мнение умных людей.
0
|
|||
|
Модератор
|
|||||||||||||
| 04.04.2023, 18:56 | |||||||||||||
|
Snowman8526, сгенирируй мне массив такого размера 4974910 * 256 * 91 не используя numpy
Добавлено через 37 секунд Добавлено через 2 минуты Добавлено через 11 минут
Если тебе не ясно, то вот держи, читай и просвещайся: https://svn.python.org/project... iew=markup
1
|
|||||||||||||
|
6 / 6 / 1
Регистрация: 26.09.2017
Сообщений: 68
|
|
| 04.04.2023, 23:16 [ТС] | |
|
0
|
|
|
578 / 411 / 69
Регистрация: 09.01.2018
Сообщений: 1,363
|
|||
| 05.04.2023, 10:37 | |||
|
Чего?????
Про tuple, который у вас откуда-то по дороге возник я вообще молчу. Не нравятся мои ответы и пояснения, не можете их "переварить" - продолжайте упражняться в изобретении терминов и решении проблемы XY самостоятельно. Мне стало не интересно при таком вашем подходе вести дальнейший диалог.
0
|
|||
|
Модератор
|
|
| 05.04.2023, 11:07 | |
|
Snowman8526, покажи код инициализации X_train
0
|
|
| 05.04.2023, 11:07 | |
|
Помогаю со студенческими работами здесь
20
Большое потребление памяти PostgreSQL Большое потребление памяти с использованием assimp opengl Большое потребление памяти при вызове метода nginx+php-fpm debian - большое потребление памяти Слишком большое потребление оперативной памяти в простом приложении Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|