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