3、Python环境搭建:Anaconda安装、GDAL与Spectral库配置、GPU环境准备

说实话,搞高光谱图像处理,环境搭建往往是劝退很多人的第一道坎。我见过太多同学代码写好了,结果跑不起来,最后发现是GDAL没装对。嗯,这节课我们就来把这几个坑填平。

3.1 为什么选Python?

你可能要问:遥感领域不是有ENVI、ERDAS这些专业软件吗?为什么还要折腾Python?

我的回答很简单:批量处理。你想想看,一个高光谱影像上百个波段,手动操作得点到手抽筋。而Python脚本一跑,几分钟搞定。我在项目中处理过一颗卫星的连续10景影像,用ENVI打开都卡,但用Python+GDAL,半小时全部处理完。

另外,深度学习做高光谱分类,几乎清一色用Python。TensorFlow、PyTorch这些框架,Python是第一公民。所以,Python环境搭建是绕不开的第一步。

3.2 Anaconda安装——省心之选

我个人习惯用Anaconda来管理Python环境。为什么?因为它自带conda包管理器,能帮你隔离不同项目的依赖。说白了,就是避免「装了这个库,那个库就崩了」的惨剧。

核心思路:每个项目建一个独立环境,互不干扰。

3.2.1 下载与安装

  1. 去Anaconda官网下载对应系统的安装包(Windows/Linux/Mac)
  2. 安装时注意勾选「Add Anaconda to my PATH environment variable」
  3. 安装完成后,打开终端(或Anaconda Prompt),输入 conda --version 验证

注意:Windows用户安装路径不要有中文或空格。我曾经帮一个同学排查问题,搞了半天发现他装在了「D:\软件\Python」下面,路径里的中文导致GDAL死活加载不了。

3.2.2 创建虚拟环境

我建议为高光谱课程单独建一个环境:

conda create -n hyperspectral python=3.9
conda activate hyperspectral

Python版本我选3.9,因为3.10以上有些库兼容性不太好。嗯,这里要注意,别追新版本,稳定才是王道。

3.3 GDAL配置——遥感数据的瑞士军刀

GDAL(Geospatial Data Abstraction Library)是遥感图像处理的基石。读取GeoTIFF、ENVI格式、HDF5……都离不开它。说白了,没有GDAL,你连数据都打不开。

3.3.1 安装方式

我推荐用conda安装,省去编译的麻烦:

conda install -c conda-forge gdal

如果你用pip安装,Windows上经常报错,因为需要C++编译环境。我曾经在Windows上折腾了整整一下午,最后发现conda一行命令就搞定了。

3.3.2 验证安装

python -c "from osgeo import gdal; print(gdal.__version__)"

如果能输出版本号,说明安装成功。如果报错,大概率是路径问题。检查一下环境变量里有没有GDAL的路径。

小技巧:gdalinfo --version 也可以验证。我习惯用这个命令快速检查。

3.4 Spectral库配置——高光谱专用工具

Spectral库(SPy)是专门为高光谱图像设计的Python库。它提供了读取、可视化、分类等一系列功能。我个人觉得,它的ENVI文件读取接口特别好用。

3.4.1 安装

pip install spectral

或者用conda:

conda install -c conda-forge spectral

3.4.2 快速测试

import spectral
print(spectral.__version__)

如果能正常导入,说明安装成功。注意,Spectral库依赖numpy和matplotlib,这些conda会自动帮你装上。

3.5 GPU环境准备——深度学习加速

高光谱图像分类,尤其是用CNN、Transformer这些模型,没有GPU基本跑不动。一张256×256×200的高光谱影像,CPU训练可能要几个小时,GPU几分钟就搞定。

3.5.1 检查硬件

首先确认你的电脑有没有NVIDIA显卡:

  • Windows:打开任务管理器 -> 性能 -> GPU
  • Linux:运行 nvidia-smi

如果没有NVIDIA显卡,可以用Google Colab的免费GPU。我在早期做实验时,就是靠Colab撑过来的。

3.5.2 安装CUDA和cuDNN

CUDA是NVIDIA的并行计算平台,cuDNN是深度学习的加速库。安装步骤:

  1. 去NVIDIA官网下载CUDA Toolkit(推荐11.8或12.1)
  2. 安装后,在终端输入 nvcc --version 验证
  3. 下载cuDNN,解压后把文件复制到CUDA安装目录

避坑指南:我曾经在CUDA版本上吃过亏。PyTorch 2.0对应CUDA 11.8,如果你装了CUDA 12.0,PyTorch可能识别不到。所以,先确定你要用的深度学习框架版本,再装对应的CUDA。

3.5.3 安装PyTorch(GPU版)

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

验证GPU是否可用:

import torch
print(torch.cuda.is_available())  # 输出True表示成功

3.6 整体环境验证

把所有库串起来跑一遍:

import numpy as np
from osgeo import gdal
import spectral
import torch

print("NumPy:", np.__version__)
print("GDAL:", gdal.__version__)
print("Spectral:", spectral.__version__)
print("PyTorch:", torch.__version__)
print("CUDA可用:", torch.cuda.is_available())

如果全部正常输出,恭喜你,环境搭建完成!

3.7 本章知识体系

下面这张图帮你理清整个环境搭建的逻辑:

Python高光谱环境搭建知识体系 Python环境 Anaconda GDAL Spectral库 GPU环境 虚拟环境 包管理 CUDA cuDNN PyTorch 四个核心组件,缺一不可

环境搭建就像盖房子的地基,地基不稳,后面再漂亮的算法也跑不起来。我建议你按照上面的步骤一步步来,遇到问题别慌,多半是版本或路径的问题。

我的建议:把安装过程中遇到的错误和解决方法记录下来。我自己的笔记里就有一个「环境搭建踩坑集」,每次重装系统都靠它救命。


公众号:蓝海资料掘金营,微信deep3321