Torch安装+Densecap实验
本博客用于记录学习过程,欢迎交流。
Densecap引入密集的字幕任务,不仅能够定位局部显著的图像,而且能用自然语言来描述该区域。密集字幕任务概括和统一了两个任务,一个是只需要单个单词描述的目标检测任务,另一个是对整个图像的一个预测区域的字幕标注任务。为了同时解决定位和描述任务,提出了一个统一高效的直传处理图像架构,全卷积定位网络(FCLN)架构,无需外部区域的建议,并可以用单轮优化进行端对端的训练。该架构包含一个卷积网络,一个新的密集定位层,一个生成标签序列的递归神经网络的语言模型。评估了视觉基因组数据集,该数据集包括94000图像和4,100,000个区域字幕。在字幕生成和图像检索两个任务上对算法进行了评估,不管是速度还是准确性上,对当前最优的基线都有提升。
1.安装 Torch
1.1 下载Torch
git clone https://github.com/torch/distro.git ~/torch –recursive
1.2 安装LuaJIT和Torch所需的基本包依赖项
cd ~/torch
bash install-deps
1.3 安装LuaJIT,LuaRocks.
安装LuaJIT,LuaRocks,然后使用LuaRocks(lua软件包管理器)安装核心软件包,如torch,nn和path,以及其他几个软件包
./install.sh
1.4 更新环境变量。
更新环境变量,添加Tor环境ch的变量,并在正确的配置文件中修改路径。
source ~/.bashrc
2.配置Densecap
2.1 安装依赖
luarocks install torch
luarocks install nn
luarocks install image
luarocks install lua-cjson
luarocks install https://raw.githubusercontent.com/qassemoquab/stnbhwd/master/stnbhwd-scm-1.rockspec
luarocks install https://raw.githubusercontent.com/jcjohnson/torch-rnn/master/torch-rnn-scm-1.rockspec
2.2 安装GPU acceleration
luarocks install cutorch
luarocks install cunn
2.3 安装(Optional) cuDNN
luarocks install cudnn
2.4 下载预训练模型
sh scripts/download_pretrained_model.sh
2.5 看图说话单张图片
th run_model.lua -input_image imgs/elephant.jpg
cd vis
python -m SimpleHTTPServer 8181
打开这个网页:
http://localhost:8181/view_results.html
原图:
结果:
2.6 看图书画多张图片
制定输入目录:
th run_model.lua -input_dir /path/to/my/image/folder
指定输出目录:
th run_model.lua -input_dir /path/to/my/image/folder -output_dir /path/to/output/folder/
安装过程遇到的问题:
安装 Torch问题1:
/usr/bin/ld: cannot find -lgfortran
collect2: 错误: ld 返回 1
make[1]: * [../libopenblas_haswellp-r0.2.20.dev.so] 错误 1
make[1]:正在离开目录 `/tmp/OpenBLAS/exports’
make: * [shared] 错误 2
Error. OpenBLAS could not be compiled
解决方案:
sudo apt-get install gfortran-4.9
问题2
问题2:Then make sure files named as libcudnn.so.4 or libcudnn.4.dylib are placed in your library load path (for example /usr/local/lib , or manually add a path to LD_LIBRARY_PATH)
解决方案:
到官网https://developer.nvidia.com/cuDNN注册下载cudnn-7.0-linux-x64-v4.0-prod.tgz,解压然后将cuda/lib64/libcudnn.so.4 复制到/usr/lib下。
然后执行下列命令:
hdu@hdu:~/densecap$ th run_model.lua -input_image imgs/elephant.jpg
1/1 processing image imgs/elephant.jpg
参考文章:
http://weibo.com/5501429448/DtW9teG9s?type=comment#_rnd1484010132423