波波算法笔记

Bob Peng

深度学习模型环境搭建Ubuntu

2025-03-31
深度学习模型环境搭建Ubuntu

深度学习/模型环境搭建(Ubuntu)

这几天笔者忙于工作入职,没怎么更新。接下来一段时间坚持日更哈,记录工作与学习!!!

本次分享的主题:

深度学习/大模型 环境搭建(Ubuntu)

NVIDIA驱动

一般命令行执行

nvidia-smi

如果出现以下信息则表示存在显卡驱动/安装成功:

我这边已经安装过了见不讲了,你可以NVIDIA的官网下载。

官方 NVIDIA 驱动

(https://www.nvidia.cn/drivers/lookup/)

下载后传到服务器上,执行sh脚本安装驱动。

CUDA

安装完显卡驱动后,安装cuda。

命令行执行

nvidia-smi

你会发现他有一个参数CUDA Version xx.xx。这是你的机器所能支持的最大的cuda版本。

我这边是12.2,所以安装时cuda不能超过它,所以我选了CUDA 12.1

打开英伟达cuda网页,选择适合你机器的版本

CUDA Toolkit Archive

(https://developer.nvidia.com/cuda-toolkit-archive)

再根据你的机器信息,选择版本

推荐用runfile的方式安装,英伟达很贴心的给了你安装命令(Installation Instructions)

wget https://developer.download.nvidia.com/compute/cuda/12.1.1/local_installers/cuda_12.1.1_530.30.02_linux.run


sudo sh cuda_12.1.1_530.30.02_linux.run

这里不要直接copy,看你自己的网页提示。

检查是否安装成功,执行命令:

nvcc -V

有结果出现,且版本符合预期,安装成功

CUDNN

老套路,查查cudnn什么版本适配cuda。

NVIDIA cuDNN ArchiveS

(https://developer.nvidia.com/rdp/cudnn-archive )

当然了,我直接使用了cudnn9.x的版本,因为cuda12基本上都适配

点开对应的cudnn版本链接,选择机器的对应信息

网页再一次贴心的给了你执行的命令,照抄就行

1!!不要copy我的,看自己的网页信息。

wget https://developer.download.nvidia.com/compute/cudnn/9.2.1/local_installers/cudnn-local-repo-ubuntu2204-9.2.1_1.0-1_amd64.deb  
sudo dpkg -i cudnn-local-repo-ubuntu2204-9.2.1_1.0-1_amd64.deb  
sudo cp /var/cudnn-local-repo-ubuntu2204-9.2.1/cudnn-*-keyring.gpg /usr/share/keyrings/  
sudo apt-get update  
sudo apt-get -y install cudnn


sudo apt-get -y install cudnn-cuda-12

没有报错就安装成功了。

Conda

一个虚拟环境的管理工具,便于你做版本的分离控制。

直接去官网查最新版本。要装就装最新的。

Index of

https://repo.anaconda.com/archive/)

找一个符合你机器版本的安装包,copy下载链接(注意是sh后缀的脚本),使用wget命令下载

例如:

wget https://repo.anaconda.com/archive/Anaconda3-2024.06-1-Linux-x86_64.sh

这只是下载一个安装包

接下来安装

sh Anaconda3-2024.06-1-Linux-x86_64.sh

期间会出现一些有关配置的问题,如果你不是很懂,你就输yes,或者直接回车(Enter)。

检查是否安装成功,正常情况会有conda的版本号哈。

conda --version

conda基本命令

创建环境

conda create -n 自定义环境名 python=你想要的python版本

比如:

conda create -n phb python=3.10

激活/取消激活 环境

conda activate phb


conda deactivate

Pytorch

在你激活的环境里下载哈!

conda activate 你的环境名

老套路,去官网找适配的版本

Previous PyTorch Versions

https://pytorch.org/get-started/previous-versions/)

这里有许多安装命令,根据自己的操作系统,cuda版本来选,

!!!不要选CPU only!!!

我的命令:

conda install pytorch==2.3.0 torchvision==0.18.0 torchaudio==2.3.0 pytorch-cuda=12.1 -c pytorch -c nvidia

可能需要很长时间(太慢了你就换源下载,去找找教程,清华源蛮好)

检查是否安装成功

python  
import torch  
print(torch.__version__)  # 输出PyTorch版本号,确认安装成功。

python常用库

直接写一个requirements.txt文件,写入以下内容

transformers>=4.41.2  
datasets>=2.16.0  
accelerate>=0.30.1  
peft>=0.11.1  
trl>=0.8.6  
gradio>=4.0.0  
pandas>=2.0.0  
scipy  
einops  
sentencepiece  
tiktoken  
protobuf  
uvicorn  
pydantic  
fastapi  
sse-starlette  
matplotlib>=3.7.0  
fire  
packaging  
pyyaml  
numpy<2.0.0

下载安装

pip install -r requirements.txt

到此环境已经装完了

测试

我这边简单的下载了一个facebook的opt-12m,你可去hugging face选,运行推理一下。

代码

from transformers import AutoTokenizer,AutoModel,AutoModelForCausalLM,OPTForCausalLM  
import torch  
  
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")  
tokenizer = AutoTokenizer.from_pretrained("facebook_opt125m", trust_remote_code=True)  
model = OPTForCausalLM.from_pretrained("facebook_opt125m", trust_remote_code=True).half().cuda()  
  
def chat(text):  
    inputs=tokenizer(text,return_tensors="pt").to(device)  
    print("提问{}".format(text))  
    output=model.generate(**inputs,max_length=20)  
    
    res=tokenizer.decode(output[0],skip_special_tokens=True)  
    print("回答:{}".format(res))  
while True:  
    text=input()  
    chat(text)

以及跑通了,虽然模型推理效果一般hh

jupyter lab

一个可视化的python代码单元格运行程序,方便做实验

在服务器上安装 Jupyter Lab

$ pip install jupyterlab  
# 或者  
$ conda install -c conda-forge jupyterlab

启动

$ jupyter-lab  
# 常带参数  
$ jupyter-lab --no-browser --port 8889  # 不自动打开浏览器 + 指定 8889 端口

.本地远程访问

python  
>>> from jupyter_server.auth import passwd  
>>> passwd()

记得把这个保存下来

# 生成配置文件  
jupyter-lab --generate-config

修改 ~/..jupyter/jupyter_lab_config.py 中的以下内容:

c.ServerApp.allow_remote_access = True  
c.ServerApp.ip = '*'  
  
# 启动时不自动打开浏览器  
c.ServerApp.open_browser = False  
c.LabServerApp.open_browser = False  
c.ExtensionApp.open_browser = False  
c.LabApp.open_browser = False  
  
# 添加刚刚生成的密钥  
c.ServerApp.password = 'sha1:51ef0f912be4:e77e57968f64be1818f836315465a4dc39fdd35c'  
  
# 根据个人需要修改端口号(默认 8888)  
c.ServerApp.port = 8889

端口转发

在你本地的电脑,cmd里运行

ssh -v -N -L localhost:8887:localhost:8889 用户名@服务器ip

接下来本地浏览器打开localhost:8887就可以了

把虚拟环境内核加到jupyter lab

pip install ipykernel


python -m ipykernel install --user --name=虚拟环境名  

完结撒花