2、开发环境搭建:工欲善其事,必先利其器
说实话,我见过太多初学者卡在环境搭建这一步。明明代码逻辑没问题,就是跑不起来。最后发现,要么是Python版本不对,要么是OpenCV和PyTorch打架了。嗯,这一章我们就来解决这些破事。
2.1 Anaconda:你的Python管家
我个人习惯用Anaconda来管理Python环境。为什么?因为它自带conda命令,装包、建环境、切版本,一条龙搞定。你想想看,要是手动装Python、再手动配pip、再手动处理依赖冲突……那画面太美我不敢看。
安装步骤:
- 去官网下载Anaconda(选Python 3.9+版本,别选太老的)
- 安装时勾选「Add Anaconda to my PATH environment variable」
- 打开终端(Windows用Anaconda Prompt),输入
conda --version验证
C:\Users\你的用户名\anaconda3\Scripts 加到系统环境变量里就行。
2.2 Python虚拟环境管理:别让项目打架
做计算机视觉,你可能会同时维护好几个项目。项目A用OpenCV 4.5,项目B用OpenCV 4.8。要是装在一个环境里,迟早出问题。虚拟环境就是干这个的——每个项目有自己的小天地。
常用命令:
# 创建虚拟环境(指定Python版本)
conda create -n cv_env python=3.9
# 激活环境
conda activate cv_env
# 退出环境
conda deactivate
# 查看所有环境
conda env list
# 删除环境
conda remove -n cv_env --all
项目名_py版本。比如 face_recognition_py39。这样一看就知道是干嘛的。
2.3 OpenCV库安装:计算机视觉的瑞士军刀
OpenCV是计算机视觉最基础的库。读图、显示、处理、特征提取……几乎每个项目都离不开它。安装很简单,一行命令搞定:
# 基础版(推荐)
pip install opencv-python
# 扩展版(包含更多算法模块)
pip install opencv-contrib-python
装完后,用下面代码验证一下:
import cv2
print(cv2.__version__) # 应该输出 4.x.x
如果报错,八成是网络问题。换国内镜像源试试:
pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple
sudo apt-get install python-opencv,结果版本是3.2,很多新函数用不了。后来老老实实用pip装,再也没出过问题。记住:用pip,别用系统包管理器。
2.4 PyTorch vs TensorFlow:框架怎么选?
这个问题我几乎每次上课都会被问到。我的回答是:新手选PyTorch,工业界看需求。
| 对比项 | PyTorch | TensorFlow |
|---|---|---|
| 上手难度 | 低(像写Python一样自然) | 中(API变化多,版本兼容坑多) |
| 调试体验 | 好(支持pdb直接调试) | 一般(需要tf.debugging) |
| 部署生态 | TorchServe / ONNX | TF Serving / TFLite(更成熟) |
| 学术论文 | 80%以上用PyTorch | 较少 |
说白了,如果你刚入门,选PyTorch准没错。我带的实习生里,用PyTorch的通常三天就能跑通第一个模型,用TF的可能还在跟版本兼容作斗争。
2.5 框架安装实战
PyTorch安装:
# CPU版本(先练手)
pip install torch torchvision torchaudio
# GPU版本(需要NVIDIA显卡+CUDA)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
TensorFlow安装:
# CPU版本
pip install tensorflow
# GPU版本
pip install tensorflow-gpu # 注意:TF 2.10+已合并,直接用tensorflow即可
nvidia-smi,看右上角的CUDA Version。比如显示12.0,就装对应版本的PyTorch。我见过有人CUDA 11.8却装了CUDA 12的包,结果GPU死活调用不了。
验证安装是否成功:
# PyTorch
import torch
print(torch.__version__)
print(torch.cuda.is_available()) # True表示GPU可用
# TensorFlow
import tensorflow as tf
print(tf.__version__)
print(tf.config.list_physical_devices('GPU')) # 显示GPU设备列表
2.6 IDE推荐:写代码的战场
我个人用VS Code比较多,轻量、插件丰富、启动快。PyCharm也不错,功能更全但有点重。给你个选择建议:
- VS Code:适合写脚本、做实验、调模型。装个Python插件和Jupyter插件,体验拉满。
- PyCharm:适合大型项目,有代码重构、数据库工具、远程开发等功能。专业版还支持科学计算模式。
我的建议是:两个都装,看场景切换。写小demo用VS Code,做完整项目用PyCharm。嗯,就是这么朴实无华。
Ctrl+Shift+P,输入 Python: Select Interpreter,选择你刚创建的conda环境。这样代码就能直接调用你装好的OpenCV和PyTorch了。
2.7 本章小结
环境搭建说难不难,说简单也不简单。核心就三点:用Anaconda管理环境、用pip装包、用VS Code写代码。按这个流程走,基本不会出大问题。下一章我们开始真正接触计算机视觉——读一张图片,看看它到底是什么。