2、AI开发环境搭建:Python虚拟环境配置、TensorFlow/PyTorch安装、依赖库管理

说实话,搞AI安全这些年,我见过太多人栽在环境搭建上。

明明代码逻辑没问题,一跑就报错。十有八九是环境没配好。我自己刚入行那会儿,也在这上面浪费过整整两天。嗯,今天咱们就把这事彻底说清楚。

2.1 为什么必须用虚拟环境?

你想想看,一个项目用TensorFlow 2.10,另一个用2.4。要是全装到系统Python里,不打架才怪。

虚拟环境说白了就是给每个项目一个独立的“小房间”。里面的Python版本、依赖库互不干扰。我个人习惯,每个AI项目都新建一个虚拟环境。哪怕只是写个测试脚本,也绝不偷懒。

核心原则:一个项目,一个环境,一份依赖清单。

2.2 Python虚拟环境配置实战

Python自带的venv模块就够用。不需要额外装东西。

2.2.1 创建虚拟环境

# 在项目目录下执行
python -m venv ai_security_env

这条命令会创建一个叫ai_security_env的文件夹。里面包含了独立的Python解释器和pip。

小技巧:我习惯把环境建在项目根目录下。这样一眼就能看到,删除项目时也不会留下垃圾。

2.2.2 激活虚拟环境

Windows和Mac/Linux的命令不一样。别记混了。

操作系统 激活命令
Windows (CMD) ai_security_env\Scripts\activate
Windows (PowerShell) .\ai_security_env\Scripts\Activate.ps1
macOS / Linux source ai_security_env/bin/activate

激活成功后,命令行前面会出现(ai_security_env)的标识。看到这个,就说明你已经在虚拟环境里了。

注意:我曾经遇到过PowerShell执行策略限制,脚本跑不了。解决办法是用管理员权限执行:Set-ExecutionPolicy Unrestricted -Scope CurrentUser。或者干脆用CMD。

2.2.3 退出虚拟环境

deactivate

就这么简单。退出后,命令行前面的环境标识就消失了。

2.3 TensorFlow与PyTorch安装

这两个框架是AI安全研究的左膀右臂。我两个都用,但场景不同。

2.3.1 安装TensorFlow

先确认你的Python版本。TensorFlow 2.x 要求 Python 3.7-3.11。我建议用3.9或3.10,兼容性最好。

# CPU版本(通用)
pip install tensorflow

# GPU版本(需要NVIDIA显卡)
pip install tensorflow-gpu

避坑指南:我曾经在Windows上装GPU版,折腾了三个小时。后来发现是CUDA和cuDNN版本没对齐。TensorFlow 2.10对应CUDA 11.2和cuDNN 8.1。一定要去官网查版本对应表。

验证安装:

python -c "import tensorflow as tf; print(tf.__version__)"

2.3.2 安装PyTorch

PyTorch的安装更灵活。官方提供了根据环境自动生成命令的工具。我个人习惯直接指定版本。

# CPU版本
pip install torch torchvision torchaudio

# GPU版本(CUDA 11.8)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

我的经验:PyTorch的GPU版本安装比TensorFlow省心。只要CUDA装对了,基本一次过。我建议新手先从PyTorch入手,环境问题少一些。

验证安装:

python -c "import torch; print(torch.__version__); print(torch.cuda.is_available())"

如果cuda.is_available()返回True,恭喜你,GPU环境配好了。

2.4 依赖库管理

项目做大了,依赖库会越来越多。怎么管理?用requirements.txt。

2.4.1 生成依赖清单

# 导出当前环境所有依赖
pip freeze > requirements.txt

打开这个文件,你会看到类似这样的内容:

numpy==1.24.3
pandas==2.0.3
tensorflow==2.13.0
torch==2.0.1
...

2.4.2 从清单恢复环境

换一台机器,或者别人要跑你的代码:

pip install -r requirements.txt

一条命令,所有依赖全部装好。省心吧?

重要:我见过有人把整个环境的pip freeze直接扔进requirements.txt。里面一堆跟项目无关的库。正确做法是:只记录项目真正用到的依赖。手动维护一个精简版清单。

2.4.3 常用AI安全依赖库

除了TensorFlow和PyTorch,做AI安全还需要这些:

库名 用途 安装命令
scikit-learn 传统机器学习算法、数据预处理 pip install scikit-learn
matplotlib 数据可视化、绘制攻击效果图 pip install matplotlib
seaborn 更美观的统计图表 pip install seaborn
adversarial-robustness-toolbox 对抗样本生成与防御(IBM出品) pip install adversarial-robustness-toolbox
cleverhans 对抗攻击工具库(Google出品) pip install cleverhans
foolbox 另一个对抗攻击框架,轻量级 pip install foolbox

建议:别一次性装太多。用到什么装什么。我刚开始做AI安全时,一口气装了20多个库,结果一半没用上。还导致依赖冲突,排查了半天。

2.5 完整环境搭建流程(我的标准操作)

好了,把上面这些串起来。这是我每次开始新项目时的标准流程:

  1. 创建项目目录:mkdir ai_vuln_scanner && cd ai_vuln_scanner
  2. 创建虚拟环境:python -m venv venv
  3. 激活环境:source venv/bin/activate(Windows用对应命令)
  4. 升级pip:pip install --upgrade pip
  5. 安装核心框架:根据项目需求装TensorFlow或PyTorch
  6. 安装辅助库:按需安装scikit-learn、matplotlib等
  7. 生成依赖清单:pip freeze > requirements.txt
  8. 验证环境:写一个简单的导入测试脚本

最后提醒:千万别在系统Python环境里直接装东西。我见过有人把系统Python搞崩了,结果系统工具都用不了。虚拟环境是你的安全网,用好它。

环境搭好了,后面的事就顺了。下一章咱们开始真正动手,写第一个AI漏洞扫描脚本。

咨询更多资料,