run.sh 2.9 KB
Newer Older
W
whs 已提交
1 2 3 4
#!/usr/bin/env bash

# download pretrain model
root_url="http://paddle-imagenet-models-name.bj.bcebos.com"
K
Kaipeng Deng 已提交
5 6
MobileNetV1="MobileNetV1_pretrained.tar"
ResNet50="ResNet50_pretrained.tar"
W
whs 已提交
7 8 9 10 11 12 13 14 15 16
pretrain_dir='./pretrain'

if [ ! -d ${pretrain_dir} ]; then
  mkdir ${pretrain_dir}
fi

cd ${pretrain_dir}

if [ ! -f ${MobileNetV1} ]; then
    wget ${root_url}/${MobileNetV1}
K
Kaipeng Deng 已提交
17
    tar xf ${MobileNetV1}
W
whs 已提交
18 19 20 21
fi

if [ ! -f ${ResNet50} ]; then
    wget ${root_url}/${ResNet50}
K
Kaipeng Deng 已提交
22
    tar xf ${ResNet50}
W
whs 已提交
23 24 25
fi

cd -
26

W
whs 已提交
27 28 29 30
# enable GC strategy
export FLAGS_fast_eager_deletion_mode=1
export FLAGS_eager_delete_tensor_gb=0.0

31
# for distillation
32
#-----------------
33 34 35 36
export CUDA_VISIBLE_DEVICES=0,1,2,3


# Fixing name conflicts in distillation
W
whs 已提交
37 38 39 40 41
cd ${pretrain_dir}/ResNet50_pretrained
mv conv1_weights res_conv1_weights
mv fc_0.w_0 res_fc.w_0
mv fc_0.b_0 res_fc.b_0
cd -
42 43 44
python compress.py \
--model "MobileNet" \
--teacher_model "ResNet50" \
W
whs 已提交
45
--teacher_pretrained_model ./pretrain/ResNet50_pretrained \
46 47
--compress_config ./configs/mobilenetv1_resnet50_distillation.yaml

W
whs 已提交
48 49 50 51 52
cd ${pretrain_dir}/ResNet50_pretrained
mv res_conv1_weights conv1_weights
mv res_fc.w_0 fc_0.w_0
mv res_fc.b_0 fc_0.b_0
cd -
53 54

# for sensitivity filter pruning
55
#-------------------------------
56 57 58
#export CUDA_VISIBLE_DEVICES=0
#python compress.py \
#--model "MobileNet" \
W
whs 已提交
59
#--pretrained_model ./pretrain/MobileNetV1_pretrained \
60 61 62 63 64 65 66
#--compress_config ./configs/filter_pruning_sen.yaml

# for uniform filter pruning
#---------------------------
#export CUDA_VISIBLE_DEVICES=0
#python compress.py \
#--model "MobileNet" \
W
whs 已提交
67
#--pretrained_model ./pretrain/MobileNetV1_pretrained \
68 69
#--compress_config ./configs/filter_pruning_uniform.yaml

W
whs 已提交
70 71 72 73 74 75 76 77
# for auto filter pruning
#---------------------------
#export CUDA_VISIBLE_DEVICES=0
#python compress.py \
#--model "MobileNet" \
#--pretrained_model ./pretrain/MobileNetV1_pretrained \
#--compress_config ./configs/auto_prune.yaml

78
# for quantization
79
#-----------------
80 81 82 83
#export CUDA_VISIBLE_DEVICES=0
#python compress.py \
#--batch_size 64 \
#--model "MobileNet" \
W
whs 已提交
84
#--pretrained_model ./pretrain/MobileNetV1_pretrained \
85 86
#--compress_config ./configs/quantization.yaml

87 88
# for distillation with quantization
#-----------------------------------
W
whs 已提交
89
#export CUDA_VISIBLE_DEVICES=4,5,6,7
90 91
#
## Fixing name conflicts in distillation
W
whs 已提交
92 93 94 95 96
#cd ${pretrain_dir}/ResNet50_pretrained
#mv conv1_weights res_conv1_weights
#mv fc_0.w_0 res_fc.w_0
#mv fc_0.b_0 res_fc.b_0
#cd -
97
#
98 99 100
#python compress.py \
#--model "MobileNet" \
#--teacher_model "ResNet50" \
W
whs 已提交
101
#--teacher_pretrained_model ./pretrain/ResNet50_pretrained \
102
#--compress_config ./configs/quantization_dist.yaml
103
#
W
whs 已提交
104 105 106 107 108
#cd ${pretrain_dir}/ResNet50_pretrained
#mv res_conv1_weights conv1_weights
#mv res_fc.w_0 fc_0.w_0
#mv res_fc.b_0 fc_0.b_0
#cd -
109 110 111 112 113 114

# for uniform filter pruning with quantization
#---------------------------------------------
#export CUDA_VISIBLE_DEVICES=0
#python compress.py \
#--model "MobileNet" \
W
whs 已提交
115
#--pretrained_model ./pretrain/MobileNetV1_pretrained \
116 117
#--compress_config ./configs/quantization_pruning.yaml