3、Python环境与工具链搭建:Anaconda安装、TensorFlow/PyTorch选择、Jupyter Notebook配置
说实话,做深度学习项目,最让人头疼的往往不是模型本身,而是环境搭建。我见过太多同学花了一周调模型,结果发现是CUDA版本不对,或者Python包冲突。嗯,这节课我们就来把地基打牢。
3.1 为什么非得用Anaconda?
你可能觉得,装个Python不就行了?我刚开始也这么想。直到有一次,我在一个项目里同时用了TensorFlow 1.x和2.x,结果两个版本互相打架,pip装了这个卸了那个,折腾了两天。
Anaconda说白了就是一个Python的「管家」。它帮你做三件事:
- 环境隔离:每个项目有自己的小天地,互不干扰
- 包管理:conda install比pip稳得多,尤其是对于深度学习库
- 预装常用库:numpy、pandas、matplotlib这些,装好就有
3.2 Anaconda安装实战
安装其实很简单,但有几个坑我得提前告诉你。
第一步:下载
去Anaconda官网下载对应版本。注意选Python 3.8或3.9,别追新。为什么?因为很多深度学习库对Python 3.10+的支持还不完善。
第二步:安装
Windows用户记得勾选「Add Anaconda to my PATH environment variable」。虽然安装程序会警告你,但相信我,勾上它。不然你每次打开终端都要手动激活环境,烦得很。
第三步:验证
打开终端,输入:
conda --version
python --version
如果看到版本号,恭喜你,成了。
3.3 创建虚拟环境
每个项目都应该有自己的环境。我习惯这样命名:
conda create -n wind_turbine python=3.8
conda activate wind_turbine
这个环境就叫wind_turbine,专门用来做风机故障预测。以后你装什么包都不会影响到其他项目。
你想想看,如果你同时做三个项目,每个项目依赖的库版本都不一样。没有虚拟环境?那画面太美我不敢看。
3.4 TensorFlow还是PyTorch?
这个问题,我几乎每次上课都会被问到。我的回答是:看场景。
| 对比项 | TensorFlow | PyTorch |
|---|---|---|
| 工业部署 | 强(TF Serving、TFLite) | 中等(TorchServe) |
| 研究灵活性 | 中等 | 强(动态图) |
| 时序数据处理 | 强(TF Dataset) | 中等 |
| 社区资源 | 丰富 | 非常丰富 |
对于风机故障预测这个项目,我个人推荐TensorFlow。原因有三:
- 工业场景下,TensorFlow的部署工具链更成熟
- 时序数据处理方面,TF Dataset用起来很顺手
- 我们后续要用到LSTM,TF的Keras接口写起来很简洁
当然,如果你以后想搞研究,PyTorch是更好的选择。但咱们这个课程,就先用TensorFlow。
安装命令:
pip install tensorflow==2.10.0
注意版本,2.10是最后一个支持GPU的Windows版本。之后的版本只支持Linux。
3.5 Jupyter Notebook配置
Jupyter Notebook这东西,说白了就是个交互式Python编辑器。你写一段代码,立刻看到结果,特别适合做数据分析。
安装很简单:
conda install jupyter notebook
但我建议你装Jupyter Lab,它是Notebook的升级版,界面更现代,功能更强:
conda install jupyterlab
启动方式:
jupyter lab
然后浏览器会自动打开一个页面,你就可以开始写代码了。
几个实用配置:
- 自动补全:装个jupyterlab-lsp插件,写代码快一倍
- 代码折叠:长代码看着不累
- 暗黑主题:保护眼睛,我反正离不开
3.6 知识体系总览
下面这张图,把咱们这节的内容串起来了。你一看就明白:
3.7 验证环境是否可用
装完别急着走,跑个测试:
import tensorflow as tf
print(tf.__version__)
print("GPU可用:" if tf.config.list_physical_devices('GPU') else "仅CPU")
# 跑个简单的计算
a = tf.constant([[1.0, 2.0], [3.0, 4.0]])
b = tf.constant([[5.0, 6.0], [7.0, 8.0]])
c = tf.matmul(a, b)
print(c)
如果看到矩阵乘法的结果,说明环境没问题。如果报错,别慌,八成是版本问题。去查一下TensorFlow和CUDA的对应关系,装对版本就好。
好了,环境搭好了,咱们就可以开始真正的风机故障预测了。记住,环境问题是最不值得花时间的——一次配好,后面全是享受。