全网第一篇:DRRG代码的具体运行方法(亲测)

前言

经过三个星期的刻苦奋斗,终于成功运行出了DRRG,期间经历了无数的坑,我不敢说我是全网第一个跑出来的(肯定不是),但我绝对是第一个写出来教程的,本人也是一个小白,过程不易如果有帮到您请给一个赞,谢谢大家。前几天写的今天回来补充一点,因为很多东西涉及到系统权限,所以请大家用root权限做,不是用root用户哦。
命令:

su root

然后输入你的密码就行了·,要不可能会报错。

效果图

先上训练图,证明我跑了:在这里插入图片描述

准备

首先,附上代码网址:
https://github.com/GXYM/DRRG
然后我们做准备工作:
第一步下载代码:https://codeload.github.com/GXYM/DRRG/zip/master
第二步:下载数据集:
在这里插入图片描述点击代码网址这部分。有条件的小伙伴可以用谷歌云下载,实在不行我告诉你一种办法去淘宝找代下载。
第三步把数据集放到对应文件夹:在这里插入图片描述
放这里。至此我们就准备了所有的代码部分。

系统准备

首先我们在代码网址:https://github.com/GXYM/DRRG。看一下运行步骤,先是编译csrc文件(make命令),然后是编译/nmslib/lanms,最后bash tool文件夹下的train_CTW1500.sh文件。这里我解释一下这都是linux的命令,Windows也有办法用但是要下载git啥的比较复杂。所以我们要有一台linux真实机(注意虚拟机不可以,因为代码要用到cuda,虚拟机的显卡是cpu模拟出来的不能用的),真实机要是n卡,不能是AMD显卡,AMD装不了cuda。
本人只有一个N卡的win10系统,所以我的解决方案是:双系统。我装的第二系统是centos7.附上镜像网址:http://mirrors.aliyun.com/centos/7.8.2003/isos/x86_64/CentOS-7-x86_64-Everything-2003.iso
官网免费,大家可以放心下载。
至于双系统的安装,建议大家去淘宝找人安,我自己安安坏了,然后重做系统加安装花了110,桑心。。。。。。。。。
然后我们假设你有了双系统。我们进入下一步,软件准备.

软件准备

让我们看一下DRRG的要求文件:在这里插入图片描述
这就是代码中的README文件。大家可以自己去看,这里我要说一点,他有错误:GCC必须是8,9是不好使的。
下面我们说软件:首先python版本必须是3.7,这点很重要,因为pytorch只能用1.2.0,其他都不好使所以,python必须是3.7,然后centos自带的python是2,所以即使你安了3.7也是按在主环境里面但是后续安装pytorch的时候你可能不知道他具体安在哪个环境里面。所以我推荐是做一个虚拟环境,虚拟环境管理不易,推荐下载anaconda。下面我们进入下载环节。

安装anaconda

为了照顾初学者我们全程用命令安装:
首先右键打开终端,就是这个:
在这里插入图片描述
然后我们下载anaconda的安装文件,注意你在哪打开终端他就会下到哪,所以我推荐在桌面打开,方便删除,下载命令:

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

安装anaconda:

bash Anaconda3-2020.07-Linux-x86_64.sh

这里你要注意一点,由于网速问题你可能下的sh文件不完整,完整的文件应该是500m,如果下的不对多运行几次第一个代码就行了。但是每次下载的文件名字会在sh后面加上1、2、3什么的。所以你在运行第二条命令的时候也要做出更改,也即是说完整的sh文件叫什么,就bash什么。
然后是安装图形化界面步骤,这里推荐一个大神的安装步骤:
https://blog.csdn.net/qq_39431829/article/details/100165319
然后是安装python3.7。

制造python3.7虚拟环境

当我们安装完anaconda,我们就进入了图形化界面,然后我们点进去Environments,也就是这个界面:在这里插入图片描述
注意:为了安装3.7,我们得先点击一下升级数据:Update index,否则你是找不到3.7的。然后点击Create 制造虚拟环境,点完以后是这样在这里插入图片描述
的:其中name是随便取得是你虚拟环境的名字。随便取(最好取DRRG我去的这个方便你后面看教程),然后python选择3.7,其他不要动,点击Create(不是刚才那个是这个小框的),然后等,直到他安完(肯呢个时间比较长,因为是外国网站)按完以后如果base(root)下面出现了你取名字的那个名字,就说明成功了,否则是失败了,再来几遍。
接下来我们有了python3.7虚拟环境,然后是安库,比如pytorch啥的。

安库

我们要安得库有pytorch–1.2.0,opencv,matplotlib,shapely,sklearn,easydict,pillow这些库虽然没有列出,但是你必须有,两个方法安装一个是你就用ananconda安当然最后一个不行而且比较慢,另外一个是用pycharm安装,比较快。先说ananconda:
只需要在搜索框搜索对应的软件名字,但是前提是你把install改成了uninstall,否则找不到,而且还有一点sklearn叫Scikit-learn,别搜错了。搜到了点小方框然后apply,直到安装完成,当搜不到就是完成了。第二种方法是下载pycham,然后运行,当然运行代码pychrm是必须的。所以下一步我们开始安装pycharm。

安装pycharm

同样我们为了方便初学者全程用命令安装。
同样我们先打开一个新的终端

wget https://download.jetbrains.8686c.com/python/pycharm-community-2020.2.3.tar.gz

然后解压安装包:

tar -xzvf pycharm-community-2020.2.3.tar.gz

同样因为网络问题有可能下载失败,安装包大概800多m,如果下载失败,安装要和anaconda做一样的处理改动命令tar -xzvf后面的内容。
然后我们就有了一个解压后的文件夹:应该叫:pycharm-community-2020.2.3文件夹,点进去,进入到bin文件夹,然后打开新的终端输入:

./pycharm.sh

然后一直下一步就行了,
然后我们要pycharm会在主文件夹下建一个PycharmProjects文件点进去,再点击pythonProject进去,把代码放进去就行了。然后我们要把anaconda环境导入,点这里:
在这里插入图片描述
然后,在这里插入图片描述
切记,我这里是我的虚拟环境取名叫DRRG,你要是别的就在路径的envs下找你的环境名字。然后ok,当这样:在这里插入图片描述
你有了这个就是导入成功了。然后我们运行程序。

安装cuda

在运行程序之前我们要先安装cuda10.1,其他版本不行,切记,因为要和pytorch版本对应,具体方法推荐大神的博客:网上有很多教程,大家自己搜一下,如果你成功禁用了原有驱动,你可以运行以下命令:

wget https://developer.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda-repo-rhel7-10-1-local-10.1.105-418.39-1.0-1.x86_64.rpm
sudo rpm -i cuda-repo-rhel7-10-1-local-10.1.105-418.39-1.0-1.x86_64.rpm
sudo yum clean all
sudo yum install cuda

这些命令会帮你安装cuda10.1,但是他同样会产生网速问题,所以你要做和anaconda一样的处理。切记完成以后要配置环境变量,然后重启。才能生效,然后做的是升级GCC版本这里有个问题,要求文档说GCC是9.0但是我测试后发现,只有8才好使大家别按错了,这里推荐大神的教程:CentOS完美升级gcc版本方法 - 吴昊博客 https://blog.whsir.com/post-4975.html
注意:同样要配置环境变量重启或者source。版本很重要这里再说一遍!!!

跑代码

接下来我们要去跑代码,首先我们要改tool下的train_CTW1500.sh文件,这里主要改两点,batch_size 和你的GPU有关他越大对你GPU要求越高,我设置为2,还有一个参数num_workers他和你的CPU有关,cpu核数越多打就可以设置越大,我设置为4,不要太大否则会卡死,初始文件是没有的,你要自己加上,在末尾后空格加,还有一点不用改但是很重要,gpu的0不是数量是名字,是说第一块gpu的名字叫0,以此类推:

--num_workers 4

否则会默认为8,可能和卡死,然后保存。
接着我们开始跑:
第一步打开terminal在pycharm的左下角点开它,应该是这样的:
在这里插入图片描述

首先我们要进入代码文件夹,在$后面输入:

cd DRRG-master

然后我们安装库,如果你在anaconda安了只需:

pip install easydict

否则依次运行以下命令:

pip install shapely
pip install sklearn
pip install pillow
pip install easydict
pip install matplotlib
pip install opencv-contrib-python
pip install torchvision==0.4.0

最后一句就是安装pytorch1.2.0,切记版本不可错,错了第二步编译会报错。
然后就是跑代码。

跑代码

第一步:进入csrc文件并且编译

cd ./csrc
make

不报错就是成功,错误原因都是版本,改一下就好了,接着退回主文件夹:

cd ../

然后复制官网命令:

cd ./nmslib/lanms

记得要分开

make

无错误就是成功。这里我补充一点,有的小伙伴私信我说遇到了:
g++: error: unrecognized command line option ‘-fno-plt’ Makefile:10: recipe for target 'adaptor.so' failed错误,这个如果你是在centons,且gcc8
的环境下一般不会报错,但是如果仍然报错了,解决办法参照这个网址:https://github.com/GXYM/DRRG/issues/4,可以解决虽然不是特别完美的办法,但是可以保证顺利运行。
接下来退出两级:

cd ../../

然后训练:进入tool:

cd tool

运行:

sh train_CTW1500.sh

运行,一般会出出两个错误:一个是网络错误再执行以下上面命令就行了。
另外一个错误是没有对应文件夹:只要在代码主文件夹下建立相应文件夹就能解决。
然后就等训练了。

最后

写到这里,说明你的环境配置好了,接下来就等他训练完成吧,然后得测试只要用

cd ../

退回主文件夹然后复制官网命令就好了,这里我再补充一点,就是官网命令没有指定gpu可能会报错,所以你的命令应该是:

python  eval_TextGraph.py --gpu 0

意思是用名字为0(就是第一块)的gpu跑。
这就是所有的运行方法了,本人亲测,希望能帮到您。如果有效记得点赞哦。另外如果有神魔问题可以私信我或者评论,我会看到以后解答,因为本人最近小论文也比较忙可能回复不及时还请见谅。

  • 9
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 27
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值