我正在尝试使用Rasterio
和GDAL
运行一些简单的操作,但是内存泄漏正在扼杀我的计算机。我只是想打开并绘制一个tif
文件,所以大约需要50 GB !!!即使图像本身只有1.2 GB,
代码非常简单。
import rasterio
from rasterio.plot import show
src = rasterio.open("../temp.tif", mode="r+")
datimg = src.read(1)
show(src.read(1))
这是中间面板中的内存使用情况的图片。这就是所有RAM。
所以该过程从未真正起作用,现在我有了 基本上注销并重新登录我的计算机帐户以清除内存。
我安装了gdal版本2.3.3和rasterio版本1.0.21,所以我希望将gdal版本升级到3.0.1的人可以解决此问题。
我在python 3.7,Ubuntu linux 18.04 LTS上使用Anaconda发行版。但是,当我尝试使用conda install -c conda-forge gdal gdal==3.0.1
升级到较新的gdal版本时,出现错误,表明与其他软件包不兼容。
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命令,则整个系统将锁定。
答案 0 :(得分:0)
我建议您使用Google Colab。据我所记得,它允许近20 GB的RAM。在Colab中尝试一下,至少可以确保计算机不会再崩溃。另一个建议是,尝试使用较小的地图来观察可能出了什么问题。