Я хочу удалить весь массив numpy. Например, если я создаю массив A
как
A = np.zeros((2,3))
Я хочу удалить весь массив A
и хочу повторно использовать имя «A» в других целях.
Есть ли коды (функции) для удаления массива?
Я хочу удалить весь массив numpy. Например, если я создаю массив A
как
A = np.zeros((2,3))
Я хочу удалить весь массив A
и хочу повторно использовать имя «A» в других целях.
Есть ли коды (функции) для удаления массива?
Я хочу удалить весь массив A
del A
хотите повторно использовать имя "А" в других целях.
A = whateverElse # associate A with whateverElse, so simple :o)
A.flags
, прежде чем выполнять del A
, чтобы увидеть больше деталей. Numpy использует интеллектуальные структуры для хранения и обработки векторных/матричных/тензорных данных. Некоторые даже не владеют своими собственными данными и являются просто облегченным считывателем-помощником в данных другого numpy-объекта, поэтому удаление такого не-владельца по очевидным причинам удалит только lightqweight-reader-helper, а не толстый-(_иностранный по принадлежности_)-данные< /b> себя.
- person user3666197; 12.06.2020
del
не освободим его, то нет другого способа освободить эту память, кроме как убить процесс?
- person Jivan; 12.06.2020
del
ничего не освобождает, он удаляет переменную, которая может или не может привести к тому, что счетчик ссылок достигнет 0 (что в CPython приводит к немедленному восстановлению объекта)
- person juanpa.arrivillaga; 12.06.2020
Просто назначьте A чему-то другому. Как сказал @juanpa.arrivillaga, Python позаботится о массиве, на который теперь нет ссылок, и сам выполнит любую сборку мусора.
например. A = "new string"
del my_numpy_array_taking_50gb_in_memory
и посмотри что будет в htop потом — память все же выделена - person Jivan   schedule 12.06.2020