使用docker跑通tasn-mxnet代码

论文:《Looking for the Devil in the Details: Learning Trilinear Attention Sampling Network for Fine-grained Image Recognition》

代码:TASN

拉取镜像

根据tasn项目需求,从docker官网拉取mxnet/python、cuda8.0的镜像

docker pull mxnet/python:1.5.0_gpu_cu80_mkl_py3

挂载主机

挂载主机使得容器内部目录和宿主主机目录关联起来

sudo docker run --gpus all -it -v 宿主机目录:容器内的目录 镜像id bash

镜像id可通过docker images查看

下载TASN

1、下载tasn:

git clone https://github.com/researchmm/tasn.git
cd tasn/tasn-mxnet/example/tasn

2、安装libopenblas-devliblapack-devlibopencv-dev,建立硬链接:

apt-get install -y libopenblas-dev liblapack-dev libopencv-dev
ln /dev/null /dev/raw1394

配置nccl

1、从谷歌云盘下载nccl.tar

2、将nccl.tar移动到tasn/tasn-mxnet/example/tasn目录下

3、解压nccl.tar:

tar -xvf nccl.tar

4、构建库并测试:

cd nccl
make CUDA_HOME=<cuda install path> test
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:./build/lib
./build/test/single/all_reduce_test

如果出现Error: must specify at least data size in bytes!,执行以下命令:

./build/test/single/all_reduce_test 10000000

如果出现以下内容,那么恭喜你🎉测试成功

在这里插入图片描述

Attention-based Sampler in TASN

1、安装MobulaOP:

# Clone the project
git clone https://github.com/wkcn/MobulaOP

# Enter the directory
cd MobulaOP

# Install MobulaOP
pip install -v -e .

2、切换到tasn/tasn-mxnet/example/tasn目录

3、下载AttentionSampler:

git clone https://github.com/wkcn/AttentionSampler

4、将以下代码复制到model.py的头部:

import mxnet as mx
import mobula
from AttentionSampler.attention_sampler import attsampler_mx
mobula.op.load('./AttentionSampler/attention_sampler')

安装portalocker2.0.0

pip install portalocker==2.0.0

cuda8.0

1、下载cuda-8.0.tar.gz:

链接: https://pan.baidu.com/s/11FpjKpd3z9l8teJS7Sd04g 密码: aiqq

2、将cuda-8.0.tar.gz移动到/usr/local目录下

3、备份原版cuda-8.0:

mv cuda-8.0 cuda-8.0-bac

4、解压cuda-8.0.tar.gz:

tar zxvf cuda-8.0.tar.gz

mxnet

1、下载mxnet.tar.gz:

链接: https://pan.baidu.com/s/1GItHSLLyL7zXQ10FOeShRw 密码: 01oe

2、将mxnet.tar.gz移动到/usr/local/lib/python3.5/dist-packages目录下:

mv mxnet.tar.gz /usr/local/lib/python3.5/dist-packages

3、备份原版mxnet:

mv mxnet mxnet_bac

4、解压mxnet.tar.gz:

tar zxvf mxnet.tar.gz

下载预训练模型和数据

1、切换到tasn/tasn-mxnet/example/tasn目录

2、将预训练模型下载到tasn/tasn-mxnet/example/tasn/model目录:

sudo wget http://data.mxnet.io.s3-website-us-west-1.amazonaws.com/models/imagenet/resnet/18-layers/resnet-18-0000.params -O model/resnet-18-0000.params
sudo wget http://data.mxnet.io.s3-website-us-west-1.amazonaws.com/models/imagenet/resnet/18-layers/resnet-18-symbol.json -O model/resnet-18-symbol.json
sudo wget http://data.mxnet.io.s3-website-us-west-1.amazonaws.com/models/imagenet/resnet/50-layers/resnet-50-symbol.json -O model/resnet-50-symbol.json
sudo wget http://data.mxnet.io.s3-website-us-west-1.amazonaws.com/models/imagenet/resnet/50-layers/resnet-50-0000.params -O model/resnet-50-0000.params

3、从谷歌云盘下载cub.tara数据

4、将cub.tar移动到tasn/tasn-mxnet/example/tasn/data目录下

5、解压cub.tar:

tar -xvf data/cub.tar -C data/

修改train.sh

vim train.sh

1、修改cuda路径

2、将python改为python3

修改后的结果如下图所示:

在这里插入图片描述

训练TASN

./tasn.sh

完结~撒花🎉

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值