Утечка памяти Gdal, но Anaconda не позволяет мне перейти на более новую версию

Я пытаюсь выполнить несколько простых операций, используя Rasterio и GDAL, но утечки памяти просто убивают мой компьютер. Я просто хотел открыть и распечатать tif файл, а это заняло около 50 ГБ !!! Ram, хотя сам образ составляет всего 1,2 ГБ.

Код довольно простой.

import rasterio
from rasterio.plot import show
src = rasterio.open("../temp.tif", mode="r+")
datimg = src.read(1)
show(src.read(1))

Вот изображение использования памяти на средней панели. Это все оперативная память.

Использование памяти

Таким образом, процесс на самом деле никогда не работал, и теперь мне нужно выйти из системы и снова войти в свою учетную запись на моем компьютере, чтобы очистить память.

У меня были установлены gdal версии 2.3.3 и rasterio версии 1.0.21, поэтому я надеялся, что этот человек, обновивший версию gdal до 3.0.1, может исправить проблемы.

Я использую дистрибутив Anaconda на python 3.7, Ubuntu linux 18.04 LTS. Но когда я попытался перейти на новую версию gdal с помощью conda install -c conda-forge gdal gdal==3.0.1, я получил ошибки, указывающие на несовместимость с другими пакетами.

conda install -c conda-forge gdal gdal==3.0.1
Collecting package metadata (current_repodata.json): done
Solving environment: failed
Collecting package metadata (repodata.json): done
Solving environment: failed

UnsatisfiableError: The following specifications were found to be incompatible with each other:

  - _anaconda_depends -> mkl-service
  - anaconda -> mkl-service==1.1.2=py36he904b0f_5
  - fiona -> gdal[version='>=2.4.1,<2.5.0a0'] -> libgdal==2.4.2=h0845e09_2
  - gdal==3.0.1 -> libgdal==3.0.1=h0845e09_3
  - geopandas -> fiona -> gdal[version='>=2.4.1,<2.5.0a0'] -> libgdal==2.4.2=h0845e09_2
  - libgdal
  - pkgs/main/linux-64::importlib_metadata==0.8=py37_0
  - pkgs/main/linux-64::mkl-service==1.1.2=py37he904b0f_5
  - pkgs/main/linux-64::path.py==11.5.0=py37_0 -> importlib_metadata[version='>=0.5']
  - rasterio -> libgdal[version='>=2.4.1,<2.5.0a0']

Итак, я не уверен, что мне здесь делать? Я не могу выходить и снова входить в свою учетную запись каждый раз, когда запускаю команду. Память никогда не освобождается, поэтому, если я снова запускаю любую команду rasterio или gdal, вся система блокируется.


person krishnab    schedule 16.07.2019    source источник


Ответы (1)


Предлагаю вам использовать Google Colab. Насколько я помню, год назад у него было почти 20 ГБ ОЗУ. Попробуйте в Colab, по крайней мере, вы будете уверены, что ваш компьютер больше не выйдет из строя. Другой совет: попробуйте карту меньшего размера, чтобы увидеть, что может пойти не так.

person Ensar Kaya    schedule 09.08.2019