102->201 / NAS->autoDL / more configs of TAS / reorganize docs / fix bugs in NAS baselines

This commit is contained in:
D-X-Y
2020-01-15 00:52:06 +11:00
parent 33384a78af
commit bb2f405961
62 changed files with 789 additions and 412 deletions

View File

@@ -19,7 +19,7 @@ seed=$1
channel=16
num_cells=5
max_nodes=4
space=nas-bench-102
space=nas-bench-201
save_dir=./output/search-cell-${space}/BOHB-${dataset}
@@ -27,7 +27,7 @@ OMP_NUM_THREADS=4 python ./exps/algos/BOHB.py \
--save_dir ${save_dir} --max_nodes ${max_nodes} --channel ${channel} --num_cells ${num_cells} \
--dataset ${dataset} \
--search_space_name ${space} \
--arch_nas_dataset ${TORCH_HOME}/NAS-Bench-102-v1_0-e61699.pth \
--arch_nas_dataset ${TORCH_HOME}/NAS-Bench-201-v1_0-e61699.pth \
--time_budget 12000 \
--n_iters 50 --num_samples 4 --random_fraction 0.0 --bandwidth_factor 3 \
--workers 4 --print_freq 200 --rand_seed ${seed}

View File

@@ -1,10 +1,10 @@
#!/bin/bash
# bash ./scripts-search/algos/DARTS-V1.sh cifar10 -1
# bash ./scripts-search/algos/DARTS-V1.sh cifar10 0 -1
echo script name: $0
echo $# arguments
if [ "$#" -ne 2 ] ;then
if [ "$#" -ne 3 ] ;then
echo "Input illegal number of parameters " $#
echo "Need 2 parameters for dataset and seed"
echo "Need 3 parameters for dataset, tracking_status, and seed"
exit 1
fi
if [ "$TORCH_HOME" = "" ]; then
@@ -15,11 +15,12 @@ else
fi
dataset=$1
seed=$2
BN=$2
seed=$3
channel=16
num_cells=5
max_nodes=4
space=nas-bench-102
space=nas-bench-201
if [ "$dataset" == "cifar10" ] || [ "$dataset" == "cifar100" ]; then
data_path="$TORCH_HOME/cifar.python"
@@ -27,14 +28,14 @@ else
data_path="$TORCH_HOME/cifar.python/ImageNet16"
fi
save_dir=./output/search-cell-${space}/DARTS-V1-${dataset}
save_dir=./output/search-cell-${space}/DARTS-V1-${dataset}-BN${BN}
OMP_NUM_THREADS=4 python ./exps/algos/DARTS-V1.py \
--save_dir ${save_dir} --max_nodes ${max_nodes} --channel ${channel} --num_cells ${num_cells} \
--dataset ${dataset} --data_path ${data_path} \
--search_space_name ${space} \
--config_path configs/nas-benchmark/algos/DARTS.config \
--arch_nas_dataset ${TORCH_HOME}/NAS-Bench-102-v1_0-e61699.pth \
--track_running_stats 1 \
--arch_nas_dataset ${TORCH_HOME}/NAS-Bench-201-v1_0-e61699.pth \
--track_running_stats ${BN} \
--arch_learning_rate 0.0003 --arch_weight_decay 0.001 \
--workers 4 --print_freq 200 --rand_seed ${seed}

View File

@@ -1,10 +1,10 @@
#!/bin/bash
# bash ./scripts-search/algos/DARTS-V2.sh cifar10 -1
# bash ./scripts-search/algos/DARTS-V2.sh cifar10 0 -1
echo script name: $0
echo $# arguments
if [ "$#" -ne 2 ] ;then
if [ "$#" -ne 3 ] ;then
echo "Input illegal number of parameters " $#
echo "Need 2 parameters for dataset and seed"
echo "Need 3 parameters for dataset, tracking_status, and seed"
exit 1
fi
if [ "$TORCH_HOME" = "" ]; then
@@ -15,11 +15,12 @@ else
fi
dataset=$1
seed=$2
BN=$2
seed=$3
channel=16
num_cells=5
max_nodes=4
space=nas-bench-102
space=nas-bench-201
if [ "$dataset" == "cifar10" ] || [ "$dataset" == "cifar100" ]; then
data_path="$TORCH_HOME/cifar.python"
@@ -27,14 +28,14 @@ else
data_path="$TORCH_HOME/cifar.python/ImageNet16"
fi
save_dir=./output/search-cell-${space}/DARTS-V2-${dataset}
save_dir=./output/search-cell-${space}/DARTS-V2-${dataset}-BN${BN}
OMP_NUM_THREADS=4 python ./exps/algos/DARTS-V2.py \
--save_dir ${save_dir} --max_nodes ${max_nodes} --channel ${channel} --num_cells ${num_cells} \
--dataset ${dataset} --data_path ${data_path} \
--search_space_name ${space} \
--config_path configs/nas-benchmark/algos/DARTS.config \
--arch_nas_dataset ${TORCH_HOME}/NAS-Bench-102-v1_0-e61699.pth \
--track_running_stats 1 \
--arch_nas_dataset ${TORCH_HOME}/NAS-Bench-201-v1_0-e61699.pth \
--track_running_stats ${BN} \
--arch_learning_rate 0.0003 --arch_weight_decay 0.001 \
--workers 4 --print_freq 200 --rand_seed ${seed}

View File

@@ -1,11 +1,11 @@
#!/bin/bash
# Efficient Neural Architecture Search via Parameter Sharing, ICML 2018
# bash ./scripts-search/scripts/algos/ENAS.sh cifar10 -1
# bash ./scripts-search/scripts/algos/ENAS.sh cifar10 0 -1
echo script name: $0
echo $# arguments
if [ "$#" -ne 2 ] ;then
if [ "$#" -ne 3 ] ;then
echo "Input illegal number of parameters " $#
echo "Need 2 parameters for dataset and seed"
echo "Need 3 parameters for dataset, BN-tracking-status, and seed"
exit 1
fi
if [ "$TORCH_HOME" = "" ]; then
@@ -16,11 +16,12 @@ else
fi
dataset=$1
seed=$2
BN=$2
seed=$3
channel=16
num_cells=5
max_nodes=4
space=nas-bench-102
space=nas-bench-201
if [ "$dataset" == "cifar10" ] || [ "$dataset" == "cifar100" ]; then
data_path="$TORCH_HOME/cifar.python"
@@ -28,14 +29,14 @@ else
data_path="$TORCH_HOME/cifar.python/ImageNet16"
fi
save_dir=./output/search-cell-${space}/ENAS-${dataset}
save_dir=./output/search-cell-${space}/ENAS-${dataset}-BN${BN}
OMP_NUM_THREADS=4 python ./exps/algos/ENAS.py \
--save_dir ${save_dir} --max_nodes ${max_nodes} --channel ${channel} --num_cells ${num_cells} \
--dataset ${dataset} --data_path ${data_path} \
--search_space_name ${space} \
--arch_nas_dataset ${TORCH_HOME}/NAS-Bench-102-v1_0-e61699.pth \
--track_running_stats 1 \
--arch_nas_dataset ${TORCH_HOME}/NAS-Bench-201-v1_0-e61699.pth \
--track_running_stats ${BN} \
--config_path ./configs/nas-benchmark/algos/ENAS.config \
--controller_entropy_weight 0.0001 \
--controller_bl_dec 0.99 \

View File

@@ -1,10 +1,10 @@
#!/bin/bash
# bash ./scripts-search/algos/GDAS.sh cifar10 -1
# bash ./scripts-search/algos/GDAS.sh cifar10 0 -1
echo script name: $0
echo $# arguments
if [ "$#" -ne 2 ] ;then
if [ "$#" -ne 3 ] ;then
echo "Input illegal number of parameters " $#
echo "Need 2 parameters for dataset and seed"
echo "Need 3 parameters for dataset, BN-tracking, and seed"
exit 1
fi
if [ "$TORCH_HOME" = "" ]; then
@@ -15,11 +15,12 @@ else
fi
dataset=$1
seed=$2
BN=$2
seed=$3
channel=16
num_cells=5
max_nodes=4
space=nas-bench-102
space=nas-bench-201
if [ "$dataset" == "cifar10" ] || [ "$dataset" == "cifar100" ]; then
data_path="$TORCH_HOME/cifar.python"
@@ -27,14 +28,14 @@ else
data_path="$TORCH_HOME/cifar.python/ImageNet16"
fi
save_dir=./output/search-cell-${space}/GDAS-${dataset}
save_dir=./output/search-cell-${space}/GDAS-${dataset}-BN${BN}
OMP_NUM_THREADS=4 python ./exps/algos/GDAS.py \
--save_dir ${save_dir} --max_nodes ${max_nodes} --channel ${channel} --num_cells ${num_cells} \
--dataset ${dataset} --data_path ${data_path} \
--search_space_name ${space} \
--arch_nas_dataset ${TORCH_HOME}/NAS-Bench-102-v1_0-e61699.pth \
--arch_nas_dataset ${TORCH_HOME}/NAS-Bench-201-v1_0-e61699.pth \
--config_path configs/nas-benchmark/algos/GDAS.config \
--tau_max 10 --tau_min 0.1 --track_running_stats 1 \
--tau_max 10 --tau_min 0.1 --track_running_stats ${BN} \
--arch_learning_rate 0.0003 --arch_weight_decay 0.001 \
--workers 4 --print_freq 200 --rand_seed ${seed}

View File

@@ -0,0 +1,9 @@
#!/bin/bash
echo script name: $0
lrs="0.01 0.02 0.1 0.2 0.5 1.0 1.5 2.0 2.5 3.0"
for lr in ${lrs}
do
bash ./scripts-search/algos/REINFORCE.sh ${lr} -1
done

View File

@@ -20,7 +20,7 @@ seed=$1
channel=16
num_cells=5
max_nodes=4
space=nas-bench-102
space=nas-bench-201
save_dir=./output/search-cell-${space}/R-EA-${dataset}
@@ -28,7 +28,7 @@ OMP_NUM_THREADS=4 python ./exps/algos/R_EA.py \
--save_dir ${save_dir} --max_nodes ${max_nodes} --channel ${channel} --num_cells ${num_cells} \
--dataset ${dataset} \
--search_space_name ${space} \
--arch_nas_dataset ${TORCH_HOME}/NAS-Bench-102-v1_0-e61699.pth \
--arch_nas_dataset ${TORCH_HOME}/NAS-Bench-201-v1_0-e61699.pth \
--time_budget 12000 \
--ea_cycles 100 --ea_population 10 --ea_sample_size 3 --ea_fast_by_api 1 \
--workers 4 --print_freq 200 --rand_seed ${seed}

View File

@@ -1,11 +1,11 @@
#!/bin/bash
# Random Search and Reproducibility for Neural Architecture Search, UAI 2019
# bash ./scripts-search/algos/RANDOM-NAS.sh cifar10 -1
# bash ./scripts-search/algos/RANDOM-NAS.sh cifar10 0 -1
echo script name: $0
echo $# arguments
if [ "$#" -ne 2 ] ;then
if [ "$#" -ne 3 ] ;then
echo "Input illegal number of parameters " $#
echo "Need 2 parameters for dataset and seed"
echo "Need 3 parameters for dataset, BN-tracking-status, and seed"
exit 1
fi
if [ "$TORCH_HOME" = "" ]; then
@@ -16,11 +16,12 @@ else
fi
dataset=$1
seed=$2
BN=$2
seed=$3
channel=16
num_cells=5
max_nodes=4
space=nas-bench-102
space=nas-bench-201
if [ "$dataset" == "cifar10" ] || [ "$dataset" == "cifar100" ]; then
data_path="$TORCH_HOME/cifar.python"
@@ -28,14 +29,14 @@ else
data_path="$TORCH_HOME/cifar.python/ImageNet16"
fi
save_dir=./output/search-cell-${space}/RANDOM-NAS-${dataset}
save_dir=./output/search-cell-${space}/RANDOM-NAS-${dataset}-BN${BN}
OMP_NUM_THREADS=4 python ./exps/algos/RANDOM-NAS.py \
--save_dir ${save_dir} --max_nodes ${max_nodes} --channel ${channel} --num_cells ${num_cells} \
--dataset ${dataset} --data_path ${data_path} \
--search_space_name ${space} \
--track_running_stats 1 \
--arch_nas_dataset ${TORCH_HOME}/NAS-Bench-102-v1_0-e61699.pth \
--track_running_stats ${BN} \
--arch_nas_dataset ${TORCH_HOME}/NAS-Bench-201-v1_0-e61699.pth \
--config_path ./configs/nas-benchmark/algos/RANDOM.config \
--select_num 100 \
--workers 4 --print_freq 200 --rand_seed ${seed}

View File

@@ -1,10 +1,10 @@
#!/bin/bash
# bash ./scripts-search/algos/REINFORCE.sh -1
# bash ./scripts-search/algos/REINFORCE.sh 0.001 -1
echo script name: $0
echo $# arguments
if [ "$#" -ne 1 ] ;then
if [ "$#" -ne 2 ] ;then
echo "Input illegal number of parameters " $#
echo "Need 1 parameters for seed"
echo "Need 2 parameters for LR and seed"
exit 1
fi
if [ "$TORCH_HOME" = "" ]; then
@@ -15,19 +15,20 @@ else
fi
dataset=cifar10
seed=$1
LR=$1
seed=$2
channel=16
num_cells=5
max_nodes=4
space=nas-bench-102
space=nas-bench-201
save_dir=./output/search-cell-${space}/REINFORCE-${dataset}
save_dir=./output/search-cell-${space}/REINFORCE-${dataset}-${LR}
OMP_NUM_THREADS=4 python ./exps/algos/reinforce.py \
--save_dir ${save_dir} --max_nodes ${max_nodes} --channel ${channel} --num_cells ${num_cells} \
--dataset ${dataset} \
--search_space_name ${space} \
--arch_nas_dataset ${TORCH_HOME}/NAS-Bench-102-v1_0-e61699.pth \
--arch_nas_dataset ${TORCH_HOME}/NAS-Bench-201-v1_0-e61699.pth \
--time_budget 12000 \
--learning_rate 0.001 --EMA_momentum 0.9 \
--learning_rate ${LR} --EMA_momentum 0.9 \
--workers 4 --print_freq 200 --rand_seed ${seed}

View File

@@ -19,7 +19,7 @@ seed=$1
channel=16
num_cells=5
max_nodes=4
space=nas-bench-102
space=nas-bench-201
save_dir=./output/search-cell-${space}/RAND-${dataset}
@@ -27,7 +27,7 @@ OMP_NUM_THREADS=4 python ./exps/algos/RANDOM.py \
--save_dir ${save_dir} --max_nodes ${max_nodes} --channel ${channel} --num_cells ${num_cells} \
--dataset ${dataset} \
--search_space_name ${space} \
--arch_nas_dataset ${TORCH_HOME}/NAS-Bench-102-v1_0-e61699.pth \
--arch_nas_dataset ${TORCH_HOME}/NAS-Bench-201-v1_0-e61699.pth \
--time_budget 12000 \
--workers 4 --print_freq 200 --rand_seed ${seed}
# --random_num 100 \

View File

@@ -1,11 +1,11 @@
#!/bin/bash
# One-Shot Neural Architecture Search via Self-Evaluated Template Network, ICCV 2019
# bash ./scripts-search/scripts/algos/SETN.sh cifar10 -1
# bash ./scripts-search/scripts/algos/SETN.sh cifar10 0 -1
echo script name: $0
echo $# arguments
if [ "$#" -ne 2 ] ;then
if [ "$#" -ne 3 ] ;then
echo "Input illegal number of parameters " $#
echo "Need 2 parameters for dataset and seed"
echo "Need 3 parameters for dataset, BN-tracking-status, and seed"
exit 1
fi
if [ "$TORCH_HOME" = "" ]; then
@@ -16,11 +16,12 @@ else
fi
dataset=$1
seed=$2
BN=$2
seed=$3
channel=16
num_cells=5
max_nodes=4
space=nas-bench-102
space=nas-bench-201
if [ "$dataset" == "cifar10" ] || [ "$dataset" == "cifar100" ]; then
data_path="$TORCH_HOME/cifar.python"
@@ -28,15 +29,15 @@ else
data_path="$TORCH_HOME/cifar.python/ImageNet16"
fi
save_dir=./output/search-cell-${space}/SETN-${dataset}
save_dir=./output/search-cell-${space}/SETN-${dataset}-BN${BN}
OMP_NUM_THREADS=4 python ./exps/algos/SETN.py \
--save_dir ${save_dir} --max_nodes ${max_nodes} --channel ${channel} --num_cells ${num_cells} \
--dataset ${dataset} --data_path ${data_path} \
--search_space_name ${space} \
--arch_nas_dataset ${TORCH_HOME}/NAS-Bench-102-v1_0-e61699.pth \
--arch_nas_dataset ${TORCH_HOME}/NAS-Bench-201-v1_0-e61699.pth \
--config_path configs/nas-benchmark/algos/SETN.config \
--track_running_stats 1 \
--track_running_stats ${BN} \
--arch_learning_rate 0.0003 --arch_weight_decay 0.001 \
--select_num 100 \
--workers 4 --print_freq 200 --rand_seed ${seed}