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 下载与安装
- 去Anaconda官网下载对应系统的安装包(Windows/Linux/Mac)
- 安装时注意勾选「Add Anaconda to my PATH environment variable」
- 安装完成后,打开终端(或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是深度学习的加速库。安装步骤:
- 去NVIDIA官网下载CUDA Toolkit(推荐11.8或12.1)
- 安装后,在终端输入
nvcc --version验证 - 下载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 本章知识体系
下面这张图帮你理清整个环境搭建的逻辑:
环境搭建就像盖房子的地基,地基不稳,后面再漂亮的算法也跑不起来。我建议你按照上面的步骤一步步来,遇到问题别慌,多半是版本或路径的问题。
我的建议:把安装过程中遇到的错误和解决方法记录下来。我自己的笔记里就有一个「环境搭建踩坑集」,每次重装系统都靠它救命。
公众号:蓝海资料掘金营,微信deep3321