Skip to content
Snippets Groups Projects
Commit 4ee6139f authored by Hashim Sharif's avatar Hashim Sharif
Browse files

Merging

parents 387e09ef 9b51ef5c
No related branches found
No related tags found
No related merge requests found
......@@ -7,8 +7,8 @@
# Batch 12: Error Sens: 10, 25, 35, for Loss1, 2, 3, respectively, Min: P3. 1000 Runs for All
# Batch 13: No Error Sens: Equal Runs (1000) for all. Min: P1
# Batch 14: Reruning Batch12 with bugFix!
# Batch 15: MAJOR CHANGE: 3 different skip levels for each Loss1,Loss2,Loss3
# Batch 16: MAJOR CHANGE: 3 different skip levels for each Loss1,Loss2,Loss3
# Batch 17: Baseline with 3000 runs. Compare with Batch16
class Benchmark:
......@@ -46,9 +46,9 @@ Alexnet1.skip_layers = 0
Alexnet1.skip_layer_str = "5_0"
Alexnet1.base_dir = "../build_tuner/tuner_results/alexnet_cifar10/"
Alexnet1.result_dir_1 = "../build_tuner/tuner_results/alexnet_cifar10/loss_1/batch15"
Alexnet1.result_dir_2 = "../build_tuner/tuner_results/alexnet_cifar10/loss_2/batch15"
Alexnet1.result_dir_3 = "../build_tuner/tuner_results/alexnet_cifar10/loss_3/batch15"
Alexnet1.result_dir_1 = "../build_tuner/tuner_results/alexnet_cifar10/loss_1/batch17"
Alexnet1.result_dir_2 = "../build_tuner/tuner_results/alexnet_cifar10/loss_2/batch17"
Alexnet1.result_dir_3 = "../build_tuner/tuner_results/alexnet_cifar10/loss_3/batch17"
Alexnet1.tensor_desc_file = "tuner_results/alexnet_cifar10/alexnet_tensors.txt"
Alexnet1.layer_file = "tuner_results/alexnet_cifar10/alexnet_layers.txt"
......@@ -79,9 +79,9 @@ Alexnet2.start_promise_range = 1
Alexnet2.skip_layer_str = "6_1_0"
Alexnet2.base_dir = "../build_tuner/tuner_results/alexnet2_cifar10/"
Alexnet2.result_dir_1 = "../build_tuner/tuner_results/alexnet2_cifar10/loss_1/batch15"
Alexnet2.result_dir_2 = "../build_tuner/tuner_results/alexnet2_cifar10/loss_2/batch15"
Alexnet2.result_dir_3 = "../build_tuner/tuner_results/alexnet2_cifar10/loss_3/batch15"
Alexnet2.result_dir_1 = "../build_tuner/tuner_results/alexnet2_cifar10/loss_1/batch17"
Alexnet2.result_dir_2 = "../build_tuner/tuner_results/alexnet2_cifar10/loss_2/batch17"
Alexnet2.result_dir_3 = "../build_tuner/tuner_results/alexnet2_cifar10/loss_3/batch17"
Alexnet2.tensor_desc_file = "tuner_results/alexnet2_cifar10/alexnet2_tensors.txt"
Alexnet2.layer_file = "tuner_results/alexnet2_cifar10/alexnet2_layers.txt"
Alexnet2.cost_file = "../build_tuner/tuner_results/alexnet2_cifar10/op_cost.txt"
......@@ -109,9 +109,9 @@ Alexnet3.start_promise_range = 1
Alexnet3.skip_layer_str = "14_3_4_1_6"
Alexnet3.base_dir = "../build_tuner/tuner_results/vgg16_cifar10/"
Alexnet3.result_dir_1 = "../build_tuner/tuner_results/vgg16_cifar10/loss_1/batch15"
Alexnet3.result_dir_2 = "../build_tuner/tuner_results/vgg16_cifar10/loss_2/batch15"
Alexnet3.result_dir_3 = "../build_tuner/tuner_results/vgg16_cifar10/loss_3/batch15"
Alexnet3.result_dir_1 = "../build_tuner/tuner_results/vgg16_cifar10/loss_1/batch17"
Alexnet3.result_dir_2 = "../build_tuner/tuner_results/vgg16_cifar10/loss_2/batch17"
Alexnet3.result_dir_3 = "../build_tuner/tuner_results/vgg16_cifar10/loss_3/batch17"
Alexnet3.tensor_desc_file = "tuner_results/vgg16_cifar10/vgg16_tensors.txt"
Alexnet3.layer_file = "tuner_results/vgg16_cifar10/vgg16_layers.txt"
......@@ -141,11 +141,11 @@ Alexnet4.start_promise_range = 1
#Alexnet4.skip_layer_str = "0"
Alexnet4.skip_layer_str = "0_1_2_14_15_17_18_21"
Alexnet4.base_dir = "../build_tuner/tuner_results/resnet18_cifar10/"
Alexnet4.result_dir_1 = "../build_tuner/tuner_results/resnet18_cifar10/loss_1/batch15"
Alexnet4.result_dir_2 = "../build_tuner/tuner_results/resnet18_cifar10/loss_2/batch15"
Alexnet4.result_dir_3 = "../build_tuner/tuner_results/resnet18_cifar10/loss_3/batch15"
Alexnet4.result_dir_1 = "../build_tuner/tuner_results/resnet18_cifar10/loss_1/batch17"
Alexnet4.result_dir_2 = "../build_tuner/tuner_results/resnet18_cifar10/loss_2/batch17"
Alexnet4.result_dir_3 = "../build_tuner/tuner_results/resnet18_cifar10/loss_3/batch17"
Alexnet4.tensor_desc_file = "tuner_results/resnet18_cifar10/resnet_tensors.txt"
Alexnet4.layer_file = "tuner_results/resnet18_cifar10/resnet_layers.txt"
Alexnet4.layer_file = "tuner_results/resnet18_cifar10/resnet18_layers.txt"
Alexnet4.cost_file = "../build_tuner/tuner_results/resnet18_cifar10/op_cost.txt"
Alexnet4.loss1_result_file = "tuner_results/resnet18_cifar10/loss_1/promise_tuned_confs/promise_confs.txt"
......@@ -174,9 +174,9 @@ Alexnet5.start_promise_range = 1
#Alexnet5.skip_layer_str = "0"
Alexnet5.skip_layer_str = "0_1_2_3_4"
Alexnet5.base_dir = "../build_tuner/tuner_results/vgg16_cifar100/"
Alexnet5.result_dir_1 = "../build_tuner/tuner_results/vgg16_cifar100/loss_1/batch15"
Alexnet5.result_dir_2 = "../build_tuner/tuner_results/vgg16_cifar100/loss_2/batch15"
Alexnet5.result_dir_3 = "../build_tuner/tuner_results/vgg16_cifar100/loss_3/batch15"
Alexnet5.result_dir_1 = "../build_tuner/tuner_results/vgg16_cifar100/loss_1/batch17"
Alexnet5.result_dir_2 = "../build_tuner/tuner_results/vgg16_cifar100/loss_2/batch17"
Alexnet5.result_dir_3 = "../build_tuner/tuner_results/vgg16_cifar100/loss_3/batch17"
Alexnet5.tensor_desc_file = "../build_tuner/tuner_results/vgg16_cifar100/vgg16_tensors.txt"
Alexnet5.layer_file = "../build_tuner/tuner_results/vgg16_cifar100/vgg16_layers.txt"
......@@ -206,9 +206,9 @@ Alexnet6.start_promise_range = 1
Alexnet6.skip_layer_str = "0"
Alexnet6.base_dir = "../build_tuner/tuner_results/lenet_keras/"
Alexnet6.result_dir_1 = "../build_tuner/tuner_results/lenet_keras/loss_1/batch15"
Alexnet6.result_dir_2 = "../build_tuner/tuner_results/lenet_keras/loss_2/batch15"
Alexnet6.result_dir_3 = "../build_tuner/tuner_results/lenet_keras/loss_3/batch15"
Alexnet6.result_dir_1 = "../build_tuner/tuner_results/lenet_keras/loss_1/batch17"
Alexnet6.result_dir_2 = "../build_tuner/tuner_results/lenet_keras/loss_2/batch17"
Alexnet6.result_dir_3 = "../build_tuner/tuner_results/lenet_keras/loss_3/batch17"
Alexnet6.tensor_desc_file = "tuner_results/lenet_keras/lenet_tensors.txt"
Alexnet6.layer_file = "tuner_results/lenet_keras/lenet_layers.txt"
......@@ -239,9 +239,9 @@ Alexnet7.start_promise_range = 1
#Alexnet7.skip_layer_str = "0"
Alexnet7.skip_layer_str = "1_14_0_6_2"
Alexnet7.base_dir = "../build_tuner/tuner_results/mobilenet/"
Alexnet7.result_dir_1 = "../build_tuner/tuner_results/mobilenet/loss_1/batch15"
Alexnet7.result_dir_2 = "../build_tuner/tuner_results/mobilenet/loss_2/batch15"
Alexnet7.result_dir_3 = "../build_tuner/tuner_results/mobilenet/loss_3/batch15"
Alexnet7.result_dir_1 = "../build_tuner/tuner_results/mobilenet/loss_1/batch17"
Alexnet7.result_dir_2 = "../build_tuner/tuner_results/mobilenet/loss_2/batch17"
Alexnet7.result_dir_3 = "../build_tuner/tuner_results/mobilenet/loss_3/batch17"
Alexnet7.tensor_desc_file = "tuner_results/mobilenet/mobilenet_ops.txt"
Alexnet7.layer_file = "tuner_results/mobilenet/mobilenet_layer_comp.txt"
......@@ -271,9 +271,9 @@ Alexnet8.start_promise_range = 1
#Alexnet8.skip_layer_str = "0"
Alexnet8.skip_layer_str = "7_0_1"
Alexnet8.base_dir = "../build_tuner/tuner_results/mobilenet_shallow/"
Alexnet8.result_dir_1 = "../build_tuner/tuner_results/mobilenet_shallow/loss_1/batch15"
Alexnet8.result_dir_2 = "../build_tuner/tuner_results/mobilenet_shallow/loss_2/batch15"
Alexnet8.result_dir_3 = "../build_tuner/tuner_results/mobilenet_shallow/loss_3/batch15"
Alexnet8.result_dir_1 = "../build_tuner/tuner_results/mobilenet_shallow/loss_1/batch17"
Alexnet8.result_dir_2 = "../build_tuner/tuner_results/mobilenet_shallow/loss_2/batch17"
Alexnet8.result_dir_3 = "../build_tuner/tuner_results/mobilenet_shallow/loss_3/batch17"
Alexnet8.tensor_desc_file = "../build_tuner/tuner_results/mobilenet_shallow/mobilenet_shallow_ops.txt"
Alexnet8.layer_file = "../build_tuner/tuner_results/mobilenet_shallow/mobilenet_shallow_layer_comp.txt"
......
......@@ -52,42 +52,44 @@ def computeLayerSwings():
gpu = 1
def runPromiseTuner():
start = startProfile("LeNet")
runPromiseBench(bench_tuner_data["lenet_keras"])
stopProfile("LeNet", start)
if gpu == 2:
start = startProfile("LeNet")
runPromiseBench(bench_tuner_data["lenet_keras"])
stopProfile("LeNet", start)
start = startProfile("Alexnet")
runPromiseBench(bench_tuner_data["alexnet_cifar10"])
stopProfile("Alexnet", start)
start = startProfile("Alexnet2")
runPromiseBench(bench_tuner_data["alexnet2_cifar10"])
stopProfile("Alexnet2", start)
start = startProfile("VGG16_10")
runPromiseBench(bench_tuner_data["vgg16_cifar10"])
stopProfile("VGG16_10", start)
start = startProfile("Alexnet")
runPromiseBench(bench_tuner_data["alexnet_cifar10"])
stopProfile("Alexnet", start)
start = startProfile("VGG16_100")
runPromiseBench(bench_tuner_data["vgg16_cifar100"])
stopProfile("VGG16_100", start)
start = startProfile("Alexnet2")
runPromiseBench(bench_tuner_data["alexnet2_cifar10"])
stopProfile("Alexnet2", start)
start = startProfile("ResNet")
runPromiseBench(bench_tuner_data["resnet18_cifar10"])
stopProfile("ResNet", start)
start = startProfile("ResNet")
runPromiseBench(bench_tuner_data["resnet18_cifar10"])
stopProfile("ResNet", start)
start = startProfile("MobileNet")
runPromiseBench(bench_tuner_data["mobilenet_cifar10"])
stopProfile("MobileNet", start)
if gpu == 1:
start = startProfile("VGG16_10")
runPromiseBench(bench_tuner_data["vgg16_cifar10"])
stopProfile("VGG16_10", start)
start = startProfile("VGG16_100")
runPromiseBench(bench_tuner_data["vgg16_cifar100"])
stopProfile("VGG16_100", start)
start = startProfile("MobileNet-SH")
runPromiseBench(bench_tuner_data["mobilenet_shallow"])
stopProfile("MobileNet-SH", start)
start = startProfile("MobileNet")
runPromiseBench(bench_tuner_data["mobilenet_cifar10"])
stopProfile("MobileNet", start)
start = startProfile("MobileNet-SH")
runPromiseBench(bench_tuner_data["mobilenet_shallow"])
stopProfile("MobileNet-SH", start)
#runPSNRPromiseBench("pipeline_GEOM")
#runPSNRPromiseBench("pipeline_GEMO")
......@@ -95,7 +97,7 @@ def runPromiseTuner():
#runPSNRPromiseBench("pipeline_GSM")
#runPSNRPromiseBench("pipeline_GSME")
dumpProfiles("time_profile_11.txt")
dumpProfiles("time_profile_17.txt")
def runPromiseValidation():
......@@ -134,6 +136,7 @@ def runAutotuner():
def runSensAnalysis():
"""
start = startProfile("LeNet")
test_sensitivity3(bench_tuner_data["lenet_keras"])
stopProfile("LeNet", start)
......@@ -145,7 +148,8 @@ def runSensAnalysis():
start = startProfile("AlexNet2")
test_sensitivity3(bench_tuner_data["alexnet2_cifar10"])
stopProfile("AlexNet2", start)
"""
start = startProfile("ResNet")
test_sensitivity3(bench_tuner_data["resnet18_cifar10"])
stopProfile("ResNet", start)
......@@ -159,6 +163,7 @@ def runSensAnalysis():
test_sensitivity3(bench_tuner_data["mobilenet_shallow"])
stopProfile("MobileNet_SH", start)
"""
start = startProfile("VGG_10")
test_sensitivity3(bench_tuner_data["vgg16_cifar10"])
stopProfile("VGG16_10", start)
......@@ -166,7 +171,9 @@ def runSensAnalysis():
start = startProfile("VGG_100")
test_sensitivity3(bench_tuner_data["vgg16_cifar100"])
stopProfile("VGG16_100", start)
"""
dumpProfiles("sens_time_prof.txt")
......@@ -206,9 +213,9 @@ if __name__ == "__main__":
#computeLayerSwings()
#runPromiseTuner()
runPromiseTuner()
runPromiseValidation()
#runPromiseValidation()
#runSensAnalysis()
......
......@@ -7,7 +7,7 @@ from error_sensitivity import select_skip_layers
def runPromiseTunerCmd(Bench, dir_prefix, result_dir, acc_threshold, autotuner_runs, skip_layers):
tuner_cmd = "python ../opentuner/autotuner/promise_tuner3.py "
tuner_cmd = "python2 ../opentuner/autotuner/promise_tuner3.py "
tuner_cmd += " --test-limit "
tuner_cmd += str(autotuner_runs)
tuner_cmd += " --binary ./"
......@@ -48,7 +48,7 @@ def runPromiseTunerCmd(Bench, dir_prefix, result_dir, acc_threshold, autotuner_r
def promiseTunerLoss1(Bench, dir_prefix):
tuner_runs = int(Bench.autotuner_runs / 3)
tuner_runs = Bench.autotuner_runs
skip_layers1 = "0"
skip_layers2 = "0_" + select_skip_layers(Bench, 30)
......@@ -61,7 +61,7 @@ def promiseTunerLoss1(Bench, dir_prefix):
def promiseTunerLoss2(Bench, dir_prefix):
tuner_runs = int(Bench.autotuner_runs / 3)
tuner_runs = Bench.autotuner_runs
skip_layers1 = "0"
skip_layers2 = "0_" + select_skip_layers(Bench, 20)
......@@ -75,7 +75,7 @@ def promiseTunerLoss2(Bench, dir_prefix):
def promiseTunerLoss3(Bench, dir_prefix):
tuner_runs = int(Bench.autotuner_runs / 3)
tuner_runs = Bench.autotuner_runs
skip_layers1 = "0"
skip_layers2 = "0_" + select_skip_layers(Bench, 10)
......@@ -86,6 +86,7 @@ def promiseTunerLoss3(Bench, dir_prefix):
runPromiseTunerCmd(Bench, dir_prefix, Bench.result_dir_3, 2.5, tuner_runs, skip_layers3)
BASELINE = True
def runPromiseBench(Bench):
......@@ -93,12 +94,21 @@ def runPromiseBench(Bench):
# NOTE-IMP: Changing current directory to one with promise binaries
dir_prefix = "../build_tuner/"
promiseTunerLoss1(Bench, dir_prefix)
promiseTunerLoss2(Bench, dir_prefix)
if BASELINE:
tuner_runs = Bench.autotuner_runs * 2
skip_layers = "0"
runPromiseTunerCmd(Bench, dir_prefix, Bench.result_dir_1, 0.85, tuner_runs, skip_layers)
runPromiseTunerCmd(Bench, dir_prefix, Bench.result_dir_2, 1.7, tuner_runs, skip_layers)
runPromiseTunerCmd(Bench, dir_prefix, Bench.result_dir_3, 2.5, tuner_runs, skip_layers)
else:
promiseTunerLoss1(Bench, dir_prefix)
promiseTunerLoss2(Bench, dir_prefix)
promiseTunerLoss3(Bench, dir_prefix)
promiseTunerLoss3(Bench, dir_prefix)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment