A6000显卡配置Scene-Graph-Benchmark.pytorch(KaihuaTang)过程

服务器上配置Scene-Graph-Benchmark.pytorch-KaihuaTang工程记录

GitHub地址https://github.com/KaihuaTang/Scene-Graph-Benchmark.pytorch

服务器cuda版本

命令行输入nvcc -V即可查看,我这里是11.1

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2020 NVIDIA Corporation
Built on Mon_Oct_12_20:09:46_PDT_2020
Cuda compilation tools, release 11.1, V11.1.105
Build cuda_11.1.TC455_06.29190527_0

创建虚拟环境

每run一个工程,都要创建一个对应的虚拟环境,方便管理

  • 创建虚拟环境
    本例程在python3.7下,后面的torch也要选择3.7的版本
conda create --name scene_graph_benchmark python=3.7
  • 激活虚拟环境
conda activate scene_graph_benchmark

在虚拟环境下安装pkgs

  • 为python安装正确的pip和依赖项
conda install ipython
conda install scipy
conda install h5py
  • 安装scene_graph_benchmark和coco依赖
    opencv-python(网址)
pip install ninja yacs cython matplotlib tqdm opencv-python overrides
如果opencv-python安装不上,或者很慢,可以去下载whl文件
  • 安装pytorch和torchvision
    这里建议安装whl格式(网址),亲测安装下方两个版本的可以跑通。如果按照命令安装,很可能安装的是CPU版本的,到时候cuda是无效的。
    A6000显卡配置Scene-Graph-Benchmark.pytorch(KaihuaTang)过程

安装maskrcnn_benchmark

这里可以按照项目中的INSTALL.md安装,不过有需要注意的地方

  • 安装pycocotools:首先进入工程的文件夹,我这里是unbiased_sgg_xuhongbo,我的代码也放在这个文件夹里。依次执行这四行命令
cd unbiased_sgg_xuhongbo
git clone git://github.com/cocodataset/cocoapi.git
cd cocoapi/PythonAPI
python setup.py build_ext install
  • 安装apex:首先回到unbiased_sgg_xuhongbo文件夹下,可能需要cd . . / . . / . . ,然后依次执行下面命令
cd unbiased_sgg_xuhongbo
git clone git://github.com/NVIDIA/apex.git
cd apex
python setup.py install
  • 安装PyTorch Detection:还是要回到unbiased_sgg_xuhongbo文件夹下,然后依次执行下面命令
cd unbiased_sgg_xuhongbo
git clone https://github.com/KaihuaTang/Scene-Graph-Benchmark.pytorch.git
  • 编译maskrcnn_benchmark:还是要回到工程文件夹下,然后执行下面命令
python setup.py build develop

至此,环境就配置完毕了,下面说说可能遇到的问题。

配置可能会踩得坑

  1. 工程中readme里的torch版本是1.4.0,但是估计是跑不起来,最好是高版本的torch
  2. 安装torch和torchvision时,最好不用命令行安装,容易装成cpu版本的torch。去下载whl文件,然后用pip install *.whl安装
  3. ninja如果说需要C++扩展,就卸载掉,然后重装,大概率会好
  4. glove一定要提前下载好,命令行执行时需要
  5. 数据集的路径要修改好,在Scene-Graph-Benchmark.pytorch-master\maskrcnn_benchmark\config\paths_catalog.py文件里
  6. 总之,按照步骤配置大概率不会出错,如果出错大概率是torch和torchvision的问题。
上一篇:Python操作Neo4j


下一篇:nginx配置基于域名的虚拟主机