这周为了跑通yrcong/RelTR: RelTR: Relation Transformer for Scene Graph Generation (github.com)配置环境花了好长时间,这里记录一下。
从github下载项目,按照网站要求:
git clone https://github.com/yrcong/RelTR.git
cd RelTR
之后下载anaconda配置新的环境,记住一定要按照网站要求设置python=3.6,我一开始运行python=3.7一直无法成功。之后下载需要的包。
# create a conda environment
conda create -n reltr python=3.6
conda activate reltr
# install packages
conda install pytorch==1.6.0 torchvision==0.7.0 cudatoolkit=10.1 -c pytorch
conda install matplotlib
下载 Scipy和pycocotools,不过应该还需要下载Cython,原文中没有说明。
conda install scipy
conda install Cython
pip install -U 'git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI'
如果遇到pip install "git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI"出错可以尝试换成以下代码:
pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI
之后需要使用setup.py build_ext --inplace命令来进行解析部署需要的包。原文中说的是:
# compile the code computing box intersection
cd lib/fpn
sh make.sh
这里看可以直接使用:
cd lib/fpn/box_intersections_cpu
python setup.py build_ext --inplace
之后就遇到了问题,显示报错"cl.exe' failed: No such file or directory",这是因为其需要用到cl.exe进行编译,需要安装visual studio,这里我装的是2019,如果安装其他版本可能遇到版本不一致的问题。
记得要选右边的MSVC
之后配置环境,在用户变量中的Path中添加下面这行
我这里没有用给定的代码训练,下载作者预训练的模型。
之后在inference.py文件中设置图片的路径,测试结果。
以上图为例:
可以得到上面的结果。