论文复现RecNet
论文链接:https://paperswithcode.com/paper/reconstruction-network-for-video-captioning
github工程链接:https://github.com/hobincar/RecNet
环境配置
基于RTX2080Ti的服务器, Ubuntu16.04系统
cuda 10.0,
cudnn 7.5.1
pytorch 1.1.0
torchvision 0.3.0
其他环境按照论文的requirement.txt来,报错缺啥模块就安装啥
首先在Anaconda下创建一个虚拟环境并激活
#创建虚拟环境
conda create -n rn python=2.7.12
#退出base环境
conda deactivate
#激活环境
conda activate rn
其次在清华源头下载安装包
https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
我选择linux-64,然后选择python2.7、pytorch1.1.0、cuda10
同时还要选择和 pytorch1.1.0 匹配的 torchvision0.3.0
安装包下好之后,我的目录如下:
执行下列命令:
(rn)$ conda install --offline pytorch-1.1.0-py2.7_cuda10.0.130_cudnn7.5.1_0.tar.bz2
(rn)$ conda install --offline torchvision-0.3.0-py27_cu10.0.130_1.tar.bz2
这样就在rn的虚拟环境下装好了pytorch和torchvision,还需要自己安装cuda和cudnn,注意版本匹配
(rn)$ conda install cudatoolkit=10.0
(rn)$ conda install cudnn
环境安装部分鸣谢课题组何师兄和网上一众大佬的博客,蟹蟹学长们鸭
https://blog.csdn.net/hesongzefairy/article/details/108009749
https://blog.csdn.net/weixin_43859329/article/details/93535369
复现代码步骤(仅跑测试)
1.从github上下载RecNet-Master文件夹到服务器容器内的Workspace路径下,并把文件夹改名成rn(Reconstruction Network的简写), 方便操作。
2.在/root/Workspace/rn/data/MSVD路径下创建一个叫features的文件夹存放提取的数据集特征,
(rn)$ cd Workspace/rn/data/MSVD/
(rn)$ mkdir features
3.我在这里就是仅拿MSVD的数据集的特征进行跑测试,所以把用Inception-v4网络提取MSVD的特征hdf5文件下载到此路径下,在此路径下可以看到: /root/Workspace/rn/data/features/MSVD_InceptionV4.hdf5
文件夹如图:
4. 在/root/Workspace/rn路径下执行以下指令,这条指令的效果是把数据集特征一部分作为训练,一部分作为测试,一部分作为验证,可以在features文件夹下看到新生成的hdf5文件,同时也在metadata而文件夹下看到后缀.csv文件:
(rn) $ python -m splits.MSVD
5.准备计算评价指标的代码,github下载coco-caption工程文件夹并改名为pycocoevalcap文件夹,代码如下:
#在容器内直接通过网址下载github工程,这一步要等待比较长的时间
(rn) $ git clone https://github.com/tylin/coco-caption.git
(rn) $ mv coco-caption/pycocoevalcap .
(rn) $ rm -rf coco-caption
6.在工程下创建一个名为checkpoint的文件夹,在github工程下选择一个模型文件下载到checkpoint文件下,我在这里选择的是RecNet-global_MSVD.ckpt, 链接如下:
https://drive.google.com/file/d/1f2oSoMvxivtup583Z1O7P6J65GQ2rcXw/view
下载完的模型路径如图所示:
7. 在rn工程下创建一个叫results的文件夹用来保存测试的输出,然后进入rn工程下的configs文件夹,在run.py文件里修改模型路径,代码如下:
(rn) $ mkdir results
(rn) $ cd configs/
(rn) $ vim run.py
修改内容如图:
8.跑测试,执行下面命令
(rn) $ python run.py
测试结果,可以看到video captioning的评价指标如 CIDEr, Bleu_1/2/3/4, METEOR等。进入results文件夹,可以看到MSVD_test.csv文件。如图: