Skip to content

项目初始化

因为每次设置项目都要遇到很多问题,比如CUDA加速没能开启变成用CPU,依赖项冲突等等,所以我就特别整理了本笔记,来理清楚建立一个新的项目时要做哪些准备,以及注意哪些事情等。

项目依赖管理

深度学习训练任务虽然主要用python,但是和普通python程序大不相同。深度学习训练所依赖的CUDA运行库是系统级二进制依赖,并不是python package。所以在依赖管理上,我们一般采用conda+pip双层结构,用conda管理底层依赖,用pip管理python依赖。

系统层驱动

首先需要确保系统层级的驱动是正确安装的。一般用 nvidia-smi命令来检查NVIDIA驱动安装情况。

conda依赖

我们一般用Conda来创建虚拟环境,然后用pip来安装PyTorch。

conda依赖我们一般写在 environment.yml中:(仅供参考,这个版本安装完后也是问题重重)

name: visinject
channels:
  - conda-forge
  - defaults

dependencies:
  - python=3.10
  - pip=23.3.1

  # Scientific stack
  - numpy=1.24.3
  - scipy=1.11.4
  - pillow=10.0.1
  - matplotlib=3.8.0
  - scikit-image=0.22.0
  - tqdm=4.66.1

使用安装命令安装:

conda env create -f environment.yml

我们也可以把conda env安装在项目文件夹内,例如:

# 在终端进入你的项目目录
cd D:\Projects\MyNewAI

# 使用 -p 指定路径(./env 表示当前目录下的 env 文件夹)
conda create -p ./env python=3.11

# 激活当前目录下的 env 环境
conda activate ./env

这样所有的依赖都会被安装在这个env文件夹内。这对需要节省C盘空间的开发者来说很方便。

pip依赖安装

pip安装的依赖一半来自于pypi。推荐通过conda安装CUDA依赖。对于conda中没有安装的内容,或者conda中没有的内容,可以通过pip安装。

pip一般把安装内容写在 requirements.txt中:(仅供参考,这个安装完后也是问题重重)

--extra-index-url https://download.pytorch.org/whl/cu124

# PyTorch + CUDA 12.4 (GPU版本,支持RTX 4090)
torch
torchvision
torchaudio

# Hugging Face & ML libraries
transformers>=4.37.0
transformers_stream_generator>=0.0.4
accelerate>=0.25.0
tiktoken>=0.5.2
einops>=0.7.0
sentencepiece>=0.1.99
protobuf>=3.20.0,<5

一般使用:

pip install -r requirements.txt

来安装pip依赖。安装时如果激活了conda环境,则自动安装在conda环境中。

验证安装

验证安装:

python -c "import torch; print(torch.__version__)"
python -c "import torch; print(torch.cuda.is_available())"
python -c "import torch; print(torch.cuda.get_device_name(0) if torch.cuda.is_available() else 'N/A')"

期望输出:

PyTorch: 2.1.0+cu118
CUDA可用: True
GPU: NVIDIA GeForce RTX 4090 Laptop GPU

保存环境

由于配置环境太过麻烦,因此最好的方法就是把能用的环境保存下来:

conda env export --no-builds > environment.yml

其他注意事项

HuggingFace的模型很大,为了节省C盘空间,可以把下载的模型权重文件放在D盘。

HuggingFace的环境变量设置:(Windwos)

# 设置用户级环境变量
[System.Environment]::SetEnvironmentVariable('HF_HOME', 'D:\hugging_face', 'User')

# 或者通过系统设置:
# 1. Win + R 输入 sysdm.cpl
# 2. 高级 → 环境变量
# 3. 在"用户变量"中新建:
#    变量名:HF_HOME
#    变量值:D:\hugging_face

验证:

# 重新加载环境变量
$env:HF_HOME = [System.Environment]::GetEnvironmentVariable('HF_HOME', 'User')

# 验证
echo $env:HF_HOME


评论 #