diff --git a/hpvm/projects/keras/keras_frontend/hpvm_dfg_translator.py b/hpvm/projects/keras/keras_frontend/hpvm_dfg_translator.py
index 41d8b4a8491ced3e8281164aaf7ea49d3ec68551..5c7fbf9a8c8c56e803f861e9db7f37a0a632bd5f 100644
--- a/hpvm/projects/keras/keras_frontend/hpvm_dfg_translator.py
+++ b/hpvm/projects/keras/keras_frontend/hpvm_dfg_translator.py
@@ -556,10 +556,6 @@ class HPVMTranslator:
     headers += "#include <cstring> \n"
     
     headers += "#include <" + HPVM_header +  "> \n"
-    #if LLVM_9_BRANCH:
-    #   headers += "#include \"config.h\" \n"
-    
-    headers += "#include <tensorTypes.h> \n"
     headers += "#include <tensorUtils.h> \n\n"
 
     self.file_header_str = headers
diff --git a/hpvm/test/dnn_benchmarks/keras/Benchmark.py b/hpvm/test/dnn_benchmarks/keras/Benchmark.py
index f3d8e9e6b2268618dc835e3d27374a8f7d738a86..5b25db407f771f7a302a467f46add6227bab552e 100644
--- a/hpvm/test/dnn_benchmarks/keras/Benchmark.py
+++ b/hpvm/test/dnn_benchmarks/keras/Benchmark.py
@@ -59,13 +59,13 @@ class Benchmark:
         except:
             print("""
 
-ERROR: Could not find hpvm-clang (HPVM compile script)!!
+            ERROR: Could not find hpvm-clang (HPVM compile script)!!
 
-hpvm-clang is installed to the python environment used when compiling HPVM.
-Please try rerunning 'make -j hpvm-clang'.""")
+            hpvm-clang is installed to the python environment used when compiling HPVM.
+            Please try rerunning 'make -j hpvm-clang' and make sure `hpvm-clang` is in your $PATH""")
+            
             sys.exit(1)
 
-
         try:
             subprocess.run([
                 "hpvm-clang", src_file, target_binary,
diff --git a/hpvm/test/dnn_benchmarks/keras/Config.py b/hpvm/test/dnn_benchmarks/keras/Config.py
index 99e696d632c50db4ae8098a2f4836ca994b672aa..851350a5ac2fe812c9f811dab4d79d6de41d815f 100644
--- a/hpvm/test/dnn_benchmarks/keras/Config.py
+++ b/hpvm/test/dnn_benchmarks/keras/Config.py
@@ -3,8 +3,10 @@ import pathlib
 
 
 # Path Relative to Model Params Directory
-abs_path = pathlib.Path(__file__).parent.absolute()
-MODEL_PARAMS_DIR = str(abs_path) + "/../../../../hpvm/test/dnn_benchmarks/model_params/"
+CUR_SRC_PATH = str(pathlib.Path(__file__).parent.absolute())
+MODEL_PARAMS_DIR = CUR_SRC_PATH + "/../../../../hpvm/test/dnn_benchmarks/model_params/"
+
+
 
 
 if __name__ == "__main__":
diff --git a/hpvm/test/dnn_benchmarks/keras/test_benchmarks.py b/hpvm/test/dnn_benchmarks/keras/test_benchmarks.py
index 2d4b8afab532d7632de9968236690bc63798fc1e..45ab9b2447e43daaab2ad86c1c69144c83327d40 100644
--- a/hpvm/test/dnn_benchmarks/keras/test_benchmarks.py
+++ b/hpvm/test/dnn_benchmarks/keras/test_benchmarks.py
@@ -3,25 +3,15 @@
 import os
 import sys
 import subprocess
-
-import site
-from pathlib import Path
-
-import torch
-from torch.utils.data.dataloader import DataLoader
-from torch.utils.data.dataset import Subset
-
-#site.addsitedir(Path(__file__).parent.parent.absolute().as_posix())
-#from predtuner import PipedBinaryApp, config_pylogger
-
-
+from Config import *
 
 class Benchmark:
 
-    def __init__(self, binary_path, test_accuracy):
+    def __init__(self, binary_path, output_dir, test_accuracy):
 
         self.binary_path = binary_path
         self.test_accuracy = test_accuracy
+        self.output_dir = output_dir
         self.epsilon = 0.05 # Adding some slack for accuracy difference
 
 
@@ -69,10 +59,14 @@ class Benchmark:
         except:
             return False
 
-        working_dir = open("working_dir.txt").read()
+        #working_dir = open("working_dir.txt").read()
         cur_dir = os.getcwd()
-        
+
+        working_dir = self.output_dir 
         os.chdir(working_dir)
+
+        print ("cur_dir = ", os.getcwd())
+        
         binary_path =  "./HPVM_binary"
         
         try:
@@ -96,31 +90,6 @@ class Benchmark:
         return test_success
 
 
-"""    
-    def runApproxTuner(self):
-
-        working_dir = open("working_dir.txt").read()
-        cur_dir = os.getcwd()
-        
-        os.chdir(working_dir)
-        binary_path =  "./HPVM_tuner_binary"
-
-        full_binary_path = str(cur_dir) + "/" +  working_dir + "/" + binary_path
-        full_json_path = str(cur_dir) + "/" + working_dir + "/tuner.json"
-    
-        app = PipedBinaryApp("TestHPVMApp", full_binary_path, full_json_path)
-        # Tuning procedure is exactly the same as that for PyTorch DNN.
-        # Please refer to `./tune_vgg16_cifar10.py` for details.
-        tuner = app.get_tuner()
-        tuner.tune(5000, 3.0, 3.0, True, 50, cost_model="cost_linear", qos_model="qos_p1")
-
-        tuner.dump_configs("configs.json")
-        fig = tuner.plot_configs(show_qos_loss=True)
-        fig.savefig("configs.png", dpi=300)
-        app.dump_hpvm_configs(tuner.best_configs, "hpvm_confs.txt")
-
-        os.chdir(cur_dir)  # Change back to original working directory
-"""
             
         
 
@@ -202,30 +171,33 @@ if __name__ == "__main__":
         print ("Usage: python3 test_dnnbenchmarks.py ${work_dir}")
 
     work_dir = sys.argv[1]
-    if not os.path.exists(work_dir):
-        os.mkdir(work_dir)
+    if os.path.exists(work_dir):
+        print ("Work Directory Exists. Delete it or use a different work directory.")
+        sys.exit(0)
+        
+    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)
-
-    testMgr.addBenchmark(AlexNet)
+    AlexNet = Benchmark(CUR_SRC_PATH + "/alexnet.py", "src/alexnet_cifar10_src_hpvm", 79.28)
+    AlexNet_ImageNet = Benchmark(CUR_SRC_PATH + "/alexnet_imagenet.py", "src/alexnet_imagenet_src", 56.30)
+    AlexNet2 = Benchmark(CUR_SRC_PATH + "/alexnet2.py", "src/alexnet2_cifar10_src", 84.98)
+    LeNet = Benchmark(CUR_SRC_PATH + "/lenet.py", "src/lenet_mnist_src", 98.70)
+    MobileNet = Benchmark(CUR_SRC_PATH + "/mobilenet_cifar10.py", "src/mobilenet_cifar10_src", 84.42)
+    ResNet18 = Benchmark(CUR_SRC_PATH + "/resnet18_cifar10.py", "src/resnet18_cifar10_src", 89.56)
+    ResNet50 = Benchmark(CUR_SRC_PATH + "/resnet50_imagenet.py", "src/resnet50_imagenet_src", 75.10)
+    VGG16_cifar10 = Benchmark(CUR_SRC_PATH + "/vgg16_cifar10.py", "src/vgg16_cifar10_src", 89.96)
+    VGG16_cifar100 = Benchmark(CUR_SRC_PATH + "/vgg16_cifar100.py", "src/vgg16_cifar100_src", 66.50)
+    VGG16_ImageNet = Benchmark(CUR_SRC_PATH + "/vgg16_imagenet.py", "src/vgg16_imagenet_src", 69.46)
+
+    #testMgr.addBenchmark(AlexNet)
     #testMgr.addBenchmark(AlexNet_ImageNet)
-    testMgr.addBenchmark(AlexNet2)
+    #testMgr.addBenchmark(AlexNet2)
     testMgr.addBenchmark(LeNet)
-    testMgr.addBenchmark(MobileNet)
-    testMgr.addBenchmark(ResNet18)
+    #testMgr.addBenchmark(MobileNet)
+    #testMgr.addBenchmark(ResNet18)
     #testMgr.addBenchmark(ResNet50)
-    testMgr.addBenchmark(VGG16_cifar10)
+    #testMgr.addBenchmark(VGG16_cifar10)
     testMgr.addBenchmark(VGG16_cifar100)
     #testMgr.addBenchmark(VGG16_ImageNet)
 
@@ -235,4 +207,6 @@ if __name__ == "__main__":
     testMgr.runHPVMTests()
     testMgr.printHPVMSummary()
 
-    
+    #testMgr.runKerasTests()
+    #testMgr.printKerasSummary()
+