cv_resnet101_face-detection_cvpr22papermogface 保姆级Ubuntu部署指南:从系统安装到模型运行
cv_resnet101_face-detection_cvpr22papermogface 保姆级Ubuntu部署指南:从系统安装到模型运行
你是不是也遇到过这种情况?看到一个很酷的人脸检测模型,比如这个cv_resnet101_face-detection_cvpr22papermogface,想在自己的服务器上跑起来试试效果,结果被一堆环境配置、依赖安装搞得头大。特别是对于不常接触Linux的朋友,光是看到命令行可能就有点发怵了。
别担心,这篇指南就是为你准备的。我会手把手带你,在一台全新的Ubuntu 20.04 LTS服务器上,从零开始把这个模型部署起来。整个过程就像搭积木,我们一步一步来,保证你能跟上。虽然现在很多平台提供了一键部署的便利,但自己动手部署一次,不仅能让你更了解模型运行背后的环境,还能获得更高的灵活性和控制权。当然,我也会告诉你,什么时候选择平台部署会更省心。
准备好了吗?我们开始吧。
1. 准备工作:明确目标与检查清单
在动手之前,我们先花两分钟搞清楚我们要做什么,以及需要准备什么。这能帮你避免做到一半才发现缺东西的尴尬。
我们的目标:在一台安装了Ubuntu 20.04操作系统的服务器上,成功运行cv_resnet101_face-detection_cvpr22papermogface这个人脸检测模型。这意味着我们需要准备好操作系统、GPU驱动、深度学习环境以及模型代码本身。
你需要准备的东西:
- 一台服务器:可以是云服务器,也可以是本地有GPU的物理服务器。确保它是一台“干净”的机器,或者你愿意在上面进行系统级操作。
- Ubuntu 20.04 LTS 系统镜像:我们将从安装系统开始。你可以从Ubuntu官网下载。
- 基本的命令行操作知识:不需要你是专家,但要知道怎么打开终端、输入命令、用
sudo获取权限。我会把每条命令都写清楚。 - 网络连接:安装过程中需要下载很多软件包。
- 耐心:部署过程可能会遇到一些小问题,这很正常。跟着步骤走,我们一起来解决。
与平台一键部署的对比:
- 平台部署(如CSDN星图镜像广场):优点是快,省心。你选择一个预置好的镜像,点一下就能得到一个包含所有环境、可以直接运行模型的服务。非常适合快速验证、原型开发或者不想折腾环境的时候。
- 自主部署(本篇指南):优点是灵活、透明、学习成本低。你可以完全控制环境的每一个细节,知道每个库的版本,方便后续自定义修改和深度定制。适合需要长期维护、深度集成或学习底层原理的场景。
简单来说,平台部署是“开箱即用”,自主部署是“自己组装”。各有各的好,今天我们先体验一下“自己组装”的乐趣和挑战。
2. 第一步:安装Ubuntu 20.04 LTS操作系统
如果你的服务器已经是Ubuntu 20.04,可以跳过这一步。如果是新机器或者需要重装,请继续。
核心步骤:
- 制作启动盘:将下载好的Ubuntu 20.04 LTS ISO镜像文件,使用Rufus(Windows)或Etcher(Mac/Linux)等工具写入到一个U盘(至少8GB),制作成系统安装盘。
- 从U盘启动:将U盘插入服务器,重启并进入BIOS/UEFI设置,将启动顺序调整为从U盘优先启动。
- 图形化安装:跟随安装向导进行操作。有几个关键点需要注意:
- 语言和键盘:选择中文或英文,根据喜好来。
- 安装类型:如果你要清空整个磁盘,选择“清除整个磁盘并安装Ubuntu”。如果想保留其他系统,选择“其他选项”进行手动分区。对于新手,建议使用第一种。
- 时区与用户:设置你所在的时区(如Shanghai),并创建一个用户名和密码,记住它,后面登录和
sudo操作都要用。 - 安装OpenSSH服务器:在安装类型选择后,通常会有一个“安装第三方软件…”的选项,勾选它。更稳妥的是,在软件选择步骤,确保勾选了“SSH server”。这能让你在系统安装完成后,通过其他电脑远程连接这台服务器,非常方便。
- 等待安装完成:安装过程会自动进行,完成后会提示重启。重启前记得拔掉U盘。
安装完成后,你应该能使用刚才设置的用户名和密码登录到Ubuntu的图形界面或命令行界面。如果安装了SSH,你可以在同一局域网内的另一台电脑上,使用终端(Mac/Linux)或PuTTY/Xshell(Windows)通过ssh 用户名@服务器IP地址来远程连接,后续操作都可以在远程终端里完成,这会更高效。
3. 第二步:配置系统基础环境与GPU驱动
系统装好了,我们先做一些基础配置,然后安装最重要的GPU驱动和CUDA。
3.1 系统更新与基础工具安装
首先,打开终端(快捷键Ctrl+Alt+T),让我们把系统软件包更新到最新,并安装一些后续会用到的工具。
# 1. 更新软件包列表 sudo apt update # 2. 升级已安装的软件包(这步可能需要一点时间) sudo apt upgrade -y # 3. 安装一些常用的编译工具和依赖库 sudo apt install -y build-essential cmake git wget curl software-properties-common-y参数表示自动回答“yes”,省去我们手动确认。build-essential包含编译C/C++程序必需的工具,git用来下载代码,wget和curl用来下载文件,这些都是基础中的基础。
3.2 安装NVIDIA GPU驱动与CUDA
这是深度学习环境的核心。我们使用Ubuntu官方推荐的ubuntu-drivers工具来安装,它会自动选择适合你显卡的稳定版驱动。
# 1. 添加显卡驱动PPA仓库 sudo add-apt-repository ppa:graphics-drivers/ppa -y sudo apt update # 2. 自动检测并安装推荐的驱动版本 # 首先查看可用的驱动版本 ubuntu-drivers devices # 你会看到类似 “recommended: nvidia-driver-550” 的输出 # 3. 安装推荐版本的驱动(请根据上一步的实际推荐版本替换‘550’) sudo apt install -y nvidia-driver-550 # 4. 安装CUDA Toolkit (以CUDA 11.8为例,这是一个较新且兼容性好的版本) # 访问 NVIDIA CUDA Toolkit 官网下载对应版本的runfile或deb安装包。 # 这里以使用网络安装deb包的方式为例: wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600 wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda-repo-ubuntu2004-11-8-local_11.8.0-520.61.05-1_amd64.deb sudo dpkg -i cuda-repo-ubuntu2004-11-8-local_11.8.0-520.61.05-1_amd64.deb sudo cp /var/cuda-repo-ubuntu2004-11-8-local/cuda-*-keyring.gpg /usr/share/keyrings/ sudo apt-get update sudo apt-get -y install cuda-11-8 # 5. 安装cuDNN (深度学习加速库) # 需要去NVIDIA官网注册并下载对应CUDA 11.8版本的cuDNN deb包。 # 假设你下载的文件名为 ‘cudnn-local-repo-ubuntu2004-8.x.x.x_1.0-1_amd64.deb’ # sudo dpkg -i cudnn-local-repo-ubuntu2004-8.x.x.x_1.0-1_amd64.deb # sudo apt-get update # sudo apt-get install -y libcudnn8 libcudnn8-dev # 由于需要登录下载,这里不提供具体命令,请根据官网指引操作。安装后验证: 重启服务器 (sudo reboot),然后登录,在终端输入以下命令检查安装是否成功。
# 检查NVIDIA驱动 nvidia-smi # 你应该能看到显卡信息、驱动版本和CUDA版本(显示的是驱动支持的最高CUDA版本,不一定是你安装的版本) # 检查CUDA编译器 nvcc --version # 这里显示的才是你实际安装的CUDA Toolkit版本,应该显示11.8如果nvidia-smi能正确输出信息,说明驱动安装成功。如果nvcc --version报错“命令未找到”,可能需要将CUDA路径加入环境变量。编辑~/.bashrc文件:
nano ~/.bashrc在文件末尾添加:
export PATH=/usr/local/cuda-11.8/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}保存退出(Ctrl+X,然后按Y,再按Enter),然后让配置生效:
source ~/.bashrc再次运行nvcc --version就应该能看到了。
4. 第三步:搭建Python虚拟环境与安装PyTorch
我们不建议直接在系统Python环境里安装项目依赖,那样容易引起冲突。使用虚拟环境是Python开发的最佳实践。
4.1 安装Miniconda(推荐)
Miniconda是一个轻量级的Python环境管理工具,比完整的Anaconda更小巧,也自带conda包管理器,能很好地处理科学计算包的依赖。
# 1. 下载Miniconda安装脚本 (以Python 3.9版本为例) wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh # 2. 运行安装脚本 bash Miniconda3-latest-Linux-x86_64.sh安装过程中,一直按Enter阅读许可协议,输入yes同意,然后按Enter使用默认安装路径(通常是/home/你的用户名/miniconda3),最后输入yes来初始化conda。安装完成后,关闭并重新打开终端,或者执行source ~/.bashrc,你会发现命令行前面多了个(base),这表示conda的基础环境已激活。
4.2 创建专属虚拟环境并安装PyTorch
现在,我们为这个人脸检测项目创建一个独立的环境。
# 1. 创建一个名为‘mogface’的虚拟环境,并指定Python版本为3.8(一个稳定且兼容性好的版本) conda create -n mogface python=3.8 -y # 2. 激活这个环境 conda activate mogface # 激活后,命令行提示符会从 (base) 变成 (mogface) # 3. 安装PyTorch (根据之前安装的CUDA 11.8,去PyTorch官网获取对应命令) # 访问 https://pytorch.org/get-started/locally/ 选择 Stable(稳定版), Linux, Conda, CUDA 11.8 # 下面是一个示例命令(请以官网生成的最新命令为准): conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia这个过程会下载安装PyTorch及其核心依赖,包括CUDA版本。安装完成后,可以验证一下:
python -c "import torch; print(torch.__version__); print(torch.cuda.is_available())"如果输出了PyTorch版本(如2.1.0)和True,恭喜你,PyTorch和GPU环境都配置成功了!
5. 第四步:获取模型代码并安装项目依赖
环境准备好了,现在把模型的代码拿下来,并安装它需要的其他“零件”。
5.1 克隆模型仓库
通常这类模型会开源在GitHub上。我们需要找到cv_resnet101_face-detection_cvpr22papermogface对应的代码仓库。这里假设它是一个公开的仓库(具体地址需要你根据模型名称搜索确认,这里用[REPO_URL]代替)。
# 1. 进入一个你喜欢的目录,比如家目录下的‘projects’文件夹 cd ~ mkdir -p projects cd projects # 2. 克隆代码仓库 (请将 [REPO_URL] 替换为实际的GitHub仓库地址) git clone [REPO_URL] cd cv_resnet101_face-detection_cvpr22papermogface # 进入项目文件夹,文件夹名可能不同5.2 安装Python依赖
项目通常会有一个requirements.txt或setup.py文件,列出了所有需要的Python库。
# 假设项目根目录下有 requirements.txt 文件 pip install -r requirements.txt如果遇到某个包安装特别慢或失败,可能是网络问题,可以尝试使用国内镜像源,例如:
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple如果项目没有requirements.txt,你可能需要查看项目的README文档,或者根据它导入的库(import xxx)手动安装。常见的依赖可能包括opencv-python,numpy,pillow,scipy等,你可以手动安装:
pip install opencv-python numpy pillow scipy6. 第五步:下载模型权重并运行测试
最后一步,也是最激动人心的一步:让模型跑起来!
6.1 下载预训练权重
深度学习模型光有代码不行,还需要训练好的“大脑”——也就是模型权重文件(通常以.pth或.pt结尾)。这个文件一般很大,不会放在GitHub代码仓库里,而是提供下载链接。
你需要查看项目的README或文档,找到权重文件的下载链接。假设下载链接是[WEIGHT_URL],权重文件叫mogface_resnet101.pth。
# 在项目目录下,创建一个存放权重的文件夹(如果文档没有指定位置) mkdir -p weights cd weights wget [WEIGHT_URL] -O mogface_resnet101.pth cd ..6.2 准备测试图片与运行推理脚本
现在,我们需要一张图片来测试模型是否工作。
准备图片:在项目目录下放一张包含人脸的图片,比如
test.jpg。找到或编写测试脚本:查看项目代码,通常会有
demo.py,inference.py,test.py之类的脚本。打开它,看看它需要什么参数。一个典型的调用方式可能是:python demo.py --image-path ./test.jpg --model ./weights/mogface_resnet101.pth或者
python tools/inference.py -c configs/mogface_resnet101.yml --image_file test.jpg请务必仔细阅读项目的README文件!里面会有准确的运行命令和参数说明。
运行测试:根据README的指示,运行命令。如果一切顺利,你应该会看到输出信息,并且可能在当前目录生成一个带有检测框的结果图片,比如
test_result.jpg。
常见问题与解决:
- 报错
ImportError:缺少某个Python库。根据错误信息提示的库名,用pip install安装即可。 - 报错与CUDA相关:可能是PyTorch版本与CUDA版本不匹配。确认安装PyTorch时选择的CUDA版本与你系统安装的版本一致。
- 报错找不到模型文件:检查权重文件路径是否正确,文件名是否拼写正确。
- 输出结果不理想:可能是图片不适合(人脸太小、太模糊、角度太偏),可以换一张清晰的正脸图片再试试。
7. 写在最后
走完这一整套流程,从一块“空白”的硬盘到成功运行一个前沿的人脸检测模型,感觉怎么样?虽然步骤看起来不少,但每一步都是在为模型创造一个稳定、合适的“家”。自己部署一遍,你对模型运行环境的理解肯定会深刻很多,以后再遇到其他模型,心里也就有底了。
回顾一下,我们经历了系统安装、驱动配置、环境搭建、依赖安装和最终测试。这个过程确实比在平台上点一下“一键部署”要花费更多时间和精力,但换来的是完全的控制权和深入的理解。对于学习、研究或者需要高度定制的生产环境来说,这份投入是值得的。
当然,我也必须再次强调平台部署的价值。当你需要快速验证一个想法、进行原型演示,或者只是单纯想用一下某个模型而不想关心底层环境时,像CSDN星图镜像广场这样的平台提供的预置环境就是最佳选择。它能让你在几分钟内就获得一个可用的服务,把时间真正花在模型应用和业务逻辑上。
所以,没有绝对的好坏,只有适合与不适合。希望这篇详细的指南,能成为你探索AI模型世界的一块有用的垫脚石。下次当你又看到一个有趣的模型时,可以自信地说:“我知道怎么让它跑起来了。”
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。
