From b37e65875c34972cce2f033b822f8bd28ba3adf8 Mon Sep 17 00:00:00 2001 From: Hashim Sharif <hsharif3@miranda.cs.illinois.edu> Date: Tue, 23 Mar 2021 21:18:04 -0500 Subject: [PATCH] Renaming run() to be exportToHPVM() --- hpvm/test/dnn_benchmarks/keras/Benchmark.py | 16 +++++----- hpvm/test/dnn_benchmarks/keras/alexnet.py | 2 +- hpvm/test/dnn_benchmarks/keras/alexnet2.py | 2 +- .../dnn_benchmarks/keras/alexnet_imagenet.py | 2 +- hpvm/test/dnn_benchmarks/keras/lenet.py | 2 +- .../dnn_benchmarks/keras/mobilenet_cifar10.py | 2 +- .../dnn_benchmarks/keras/resnet18_cifar10.py | 2 +- .../dnn_benchmarks/keras/resnet50_imagenet.py | 2 +- .../dnn_benchmarks/keras/test_benchmarks.py | 29 ++++++++++++------- .../dnn_benchmarks/keras/vgg16_cifar10.py | 2 +- .../dnn_benchmarks/keras/vgg16_cifar100.py | 2 +- .../dnn_benchmarks/keras/vgg16_imagenet.py | 2 +- 12 files changed, 37 insertions(+), 28 deletions(-) diff --git a/hpvm/test/dnn_benchmarks/keras/Benchmark.py b/hpvm/test/dnn_benchmarks/keras/Benchmark.py index 3d75feca58..c225ff9766 100644 --- a/hpvm/test/dnn_benchmarks/keras/Benchmark.py +++ b/hpvm/test/dnn_benchmarks/keras/Benchmark.py @@ -24,21 +24,24 @@ class Benchmark: self.num_classes = num_classes self.batch_size = batch_size - + # Override function in subclass def buildModel(self): return + # Override function in subclass def data_preprocess(self): return - + + # Override function in subclass def trainModel(self, X_train, y_train, X_test, y_test): return + # Override function in subclass def inference(self): return - # Compiles frontend generated sources + # Common Function - Do not override in Subclasses def compileSource(self, working_dir, src_name, binary_name): src_file = os.getcwd() + "/" + working_dir + "/" + src_name # approxhpvm_src.cc" @@ -80,8 +83,8 @@ class Benchmark: print ("Usage: python ${benchmark.py} [hpvm_reload|train] [frontend] [compile]") sys.exit(0) - - def run(self, argv): + # Common Function for Exporting to HPVM Modules - Do not Override in Subclasses + def exportToHPVM(self, argv): if len(argv) < 2: self.printUsage() @@ -154,9 +157,6 @@ class Benchmark: model.save_weights(self.keras_model_file) - #elif len(argv) > 2: - # self.printUsage() - diff --git a/hpvm/test/dnn_benchmarks/keras/alexnet.py b/hpvm/test/dnn_benchmarks/keras/alexnet.py index 86019e80e5..d6e7f98c43 100644 --- a/hpvm/test/dnn_benchmarks/keras/alexnet.py +++ b/hpvm/test/dnn_benchmarks/keras/alexnet.py @@ -153,6 +153,6 @@ if __name__ == '__main__': model = AlexNet_CIFAR10('AlexNet_CIFAR10', reload_dir, keras_model_file, data_dir, src_dir, num_classes, batch_size) # This invokes the common run function in src/Benchmark.py - model.run(sys.argv) + model.exportToHPVM(sys.argv) diff --git a/hpvm/test/dnn_benchmarks/keras/alexnet2.py b/hpvm/test/dnn_benchmarks/keras/alexnet2.py index 16bd92b23e..22b499d577 100644 --- a/hpvm/test/dnn_benchmarks/keras/alexnet2.py +++ b/hpvm/test/dnn_benchmarks/keras/alexnet2.py @@ -144,4 +144,4 @@ if __name__ == '__main__': model = AlexNet2_CIFAR10('AlexNet2_CIFAR10', reload_dir, keras_model_file, data_dir, src_dir, num_classes, batch_size) - model.run(sys.argv) + model.exportToHPVM(sys.argv) diff --git a/hpvm/test/dnn_benchmarks/keras/alexnet_imagenet.py b/hpvm/test/dnn_benchmarks/keras/alexnet_imagenet.py index 9f5bbe12c9..e23fef7417 100644 --- a/hpvm/test/dnn_benchmarks/keras/alexnet_imagenet.py +++ b/hpvm/test/dnn_benchmarks/keras/alexnet_imagenet.py @@ -101,7 +101,7 @@ if __name__ == '__main__': model = AlexNet('AlexNet_Imagenet', reload_dir, keras_model_file, data_dir, src_dir, num_classes, batch_size) - model.run(sys.argv) + model.exportToHPVM(sys.argv) diff --git a/hpvm/test/dnn_benchmarks/keras/lenet.py b/hpvm/test/dnn_benchmarks/keras/lenet.py index e158d70913..83f76ef306 100644 --- a/hpvm/test/dnn_benchmarks/keras/lenet.py +++ b/hpvm/test/dnn_benchmarks/keras/lenet.py @@ -112,4 +112,4 @@ if __name__ == '__main__': model = LeNet_MNIST('LeNet_MNIST', reload_dir, keras_model_file, data_dir, src_dir, num_classes, batch_size) - model.run(sys.argv) + model.exportToHPVM(sys.argv) diff --git a/hpvm/test/dnn_benchmarks/keras/mobilenet_cifar10.py b/hpvm/test/dnn_benchmarks/keras/mobilenet_cifar10.py index 83b0444522..a236e0305f 100644 --- a/hpvm/test/dnn_benchmarks/keras/mobilenet_cifar10.py +++ b/hpvm/test/dnn_benchmarks/keras/mobilenet_cifar10.py @@ -190,5 +190,5 @@ if __name__ == '__main__': model = MobileNet_CIFAR10('MobileNet_CIFAR10', reload_dir, keras_model_file, data_dir, src_dir, num_classes, batch_size) - model.run(sys.argv) + model.exportToHPVM(sys.argv) diff --git a/hpvm/test/dnn_benchmarks/keras/resnet18_cifar10.py b/hpvm/test/dnn_benchmarks/keras/resnet18_cifar10.py index 8ef31e3ff6..9e8c23cdc6 100644 --- a/hpvm/test/dnn_benchmarks/keras/resnet18_cifar10.py +++ b/hpvm/test/dnn_benchmarks/keras/resnet18_cifar10.py @@ -562,5 +562,5 @@ if __name__ == '__main__': model = ResNet18_CIFAR10('ResNet18_CIFAR10', reload_dir, keras_model_file, data_dir, src_dir, num_classes, batch_size) - model.run(sys.argv) + model.exportToHPVM(sys.argv) diff --git a/hpvm/test/dnn_benchmarks/keras/resnet50_imagenet.py b/hpvm/test/dnn_benchmarks/keras/resnet50_imagenet.py index c1632750a9..9ac71337b9 100644 --- a/hpvm/test/dnn_benchmarks/keras/resnet50_imagenet.py +++ b/hpvm/test/dnn_benchmarks/keras/resnet50_imagenet.py @@ -149,7 +149,7 @@ if __name__ == '__main__': model = ResNet50('ResNet50_imagenet', reload_dir, keras_model_file, data_dir, src_dir, num_classes, batch_size) - model.run(sys.argv) + model.exportToHPVM(sys.argv) diff --git a/hpvm/test/dnn_benchmarks/keras/test_benchmarks.py b/hpvm/test/dnn_benchmarks/keras/test_benchmarks.py index 27fceb44d2..2d4b8afab5 100644 --- a/hpvm/test/dnn_benchmarks/keras/test_benchmarks.py +++ b/hpvm/test/dnn_benchmarks/keras/test_benchmarks.py @@ -1,6 +1,7 @@ import os +import sys import subprocess import site @@ -197,17 +198,25 @@ class BenchmarkTests: if __name__ == "__main__": + if len(sys.argv) < 2: + print ("Usage: python3 test_dnnbenchmarks.py ${work_dir}") + + work_dir = sys.argv[1] + if not os.path.exists(work_dir): + os.mkdir(work_dir) + os.chdir(work_dir) + testMgr = BenchmarkTests() - AlexNet = Benchmark("alexnet.py", 79.28) - AlexNet_ImageNet = Benchmark("alexnet_imagenet.py", 56.30) - AlexNet2 = Benchmark("alexnet2.py", 84.98) - LeNet = Benchmark("lenet.py", 98.70) - MobileNet = Benchmark("mobilenet_cifar10.py", 84.42) - ResNet18 = Benchmark("resnet18_cifar10.py", 89.56) - ResNet50 = Benchmark("resnet50_imagenet.py", 75.10) - VGG16_cifar10 = Benchmark("vgg16_cifar10.py", 89.96) - VGG16_cifar100 = Benchmark("vgg16_cifar100.py", 66.50) - VGG16_ImageNet = Benchmark("vgg16_imagenet.py", 69.46) + AlexNet = Benchmark("../alexnet.py", 79.28) + AlexNet_ImageNet = Benchmark("../alexnet_imagenet.py", 56.30) + AlexNet2 = Benchmark("../alexnet2.py", 84.98) + LeNet = Benchmark("../lenet.py", 98.70) + MobileNet = Benchmark("../mobilenet_cifar10.py", 84.42) + ResNet18 = Benchmark("../resnet18_cifar10.py", 89.56) + ResNet50 = Benchmark("../resnet50_imagenet.py", 75.10) + VGG16_cifar10 = Benchmark("../vgg16_cifar10.py", 89.96) + VGG16_cifar100 = Benchmark("../vgg16_cifar100.py", 66.50) + VGG16_ImageNet = Benchmark("../vgg16_imagenet.py", 69.46) testMgr.addBenchmark(AlexNet) #testMgr.addBenchmark(AlexNet_ImageNet) diff --git a/hpvm/test/dnn_benchmarks/keras/vgg16_cifar10.py b/hpvm/test/dnn_benchmarks/keras/vgg16_cifar10.py index 9f298ebfa6..03563cba8a 100644 --- a/hpvm/test/dnn_benchmarks/keras/vgg16_cifar10.py +++ b/hpvm/test/dnn_benchmarks/keras/vgg16_cifar10.py @@ -192,6 +192,6 @@ if __name__ == '__main__': model = VGG16_CIFAR10('VGG16_CIFAR10', reload_dir, keras_model_file, data_dir, src_dir, num_classes, batch_size) - model.run(sys.argv) + model.exportToHPVM(sys.argv) diff --git a/hpvm/test/dnn_benchmarks/keras/vgg16_cifar100.py b/hpvm/test/dnn_benchmarks/keras/vgg16_cifar100.py index 4f6168d0f0..716b441706 100644 --- a/hpvm/test/dnn_benchmarks/keras/vgg16_cifar100.py +++ b/hpvm/test/dnn_benchmarks/keras/vgg16_cifar100.py @@ -207,5 +207,5 @@ if __name__ == '__main__': model = VGG16_CIFAR100('VGG16_CIFAR100', reload_dir, keras_model_file, data_dir, src_dir, num_classes, batch_size) - model.run(sys.argv) + model.exportToHPVM(sys.argv) diff --git a/hpvm/test/dnn_benchmarks/keras/vgg16_imagenet.py b/hpvm/test/dnn_benchmarks/keras/vgg16_imagenet.py index c84b429407..bcba547174 100644 --- a/hpvm/test/dnn_benchmarks/keras/vgg16_imagenet.py +++ b/hpvm/test/dnn_benchmarks/keras/vgg16_imagenet.py @@ -134,7 +134,7 @@ if __name__ == '__main__': alexnet = VGG16('VGG16_imagenet', reload_dir, keras_model_file, data_dir, src_dir, num_classes, batch_size) - alexnet.run(sys.argv) + alexnet.exportToHPVM(sys.argv) -- GitLab