RTX 3090运行Scene-Graph-Benchmark.pytorch(KaihuaTang)的环境配置与调试实战

1. 环境准备:从零开始的3090战场

最近在折腾视觉关系检测(Scene Graph Generation,简称SGG)这个方向,想复现一下KaihuaTang大佬开源的经典工作 Scene-Graph-Benchmark.pytorch。我手头正好有一张RTX 3090,想着24GB的显存跑这种大模型应该挺舒服的。结果呢,从环境配置到成功跑起来,整个过程可以说是“一步一坑”,但踩坑的过程也是学习的过程。这篇文章就是把我折腾的详细过程、遇到的问题和解决方案都记录下来,如果你也打算在3090上跑这个项目,希望能帮你省下大把的调试时间。

首先明确一下,这个项目是一个基于PyTorch的场景图生成基准测试框架,它集成了检测、分类和关系预测,代码结构清晰,是研究SGG的绝佳起点。但它的依赖环境,特别是PyTorch、CUDA和APEX的版本搭配,在RTX 30系显卡上有点“挑食”。我的目标很简单:在Ubuntu系统下,用RTX 3090,从零开始把环境搭好,把数据集准备好,最后能顺利跑起训练和测试。下面,我就带你走一遍这个实战流程。

我的基础硬件和驱动环境是这样的:RTX 3090显卡,系统是Ubuntu 20.04 LTS。在开始之前,你需要先确认好你的NVIDIA驱动版本和系统CUDA版本。打开终端,输入 nvidia-smi,你会在右上角看到类似“CUDA Version: 11.4”的字样,这个是你的驱动支持的最高CUDA版本,不是系统里安装的运行时版本。再输入 nvcc -V,这个才是你实际安装的CUDA Toolkit版本。我一开始就犯了个错,以为 nvidia-smi 显示的11.4就是我的CUDA版本,结果后面安装PyTorch时对不上号,折腾了好久。我的服务器上实际安装的是CUDA 11.1。

提示:强烈建议在开始前,用 nvcc -Vnvidia-smi 两个命令都看一下,记下你的CUDA运行时版本(比如11.1)和驱动支持的版本(比如11.4)。后续安装PyTorch时,要匹配的是运行时版本。

接下来是创建一个干净的Conda虚拟环境,这是保证环境不冲突的最佳实践。我强烈建议使用国内的镜像源来加速下载,比如清华源。你可以一次性把常用的频道都加上,这样后续安装包会快很多。下面是我用的命令,你可以直接复制执行:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/peterjc123/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes

设置好源之后,就可以创建环境了。这里有个关键点:Python版本不要选太高。项目代码比较经典,对Python 3.8+的支持可能会有一些隐藏的兼容性问题。我实测下来,Python 3.7是最稳妥的选择。执行下面的命令来创建名为 scene_graph_benchmark 的环境:

conda create --name scene_graph_benchmark python=3.7

创建完成后,激活这个环境:conda activate scene_graph_benchmark。从现在开始,我们所有的操作都在这个虚拟环境里进行,这样即使搞乱了,删掉环境重来也很方便,不会污染系统环境。

1.1 PyTorch与CUDA版本的“相爱相杀”

环境建好了,重头戏就是安装PyTorch。这是踩坑最密集的区域。我的CUDA是11.1,按照PyTorch官网的匹配逻辑,我第一反应是安装 pytorch==1.8.0 搭配 cudatoolkit=11.1。命令如下:

conda install p
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值