diff --git a/llvm/projects/hpvm-tensor-rt/dnn_sources/src/promise/mobilenet_promise.cc b/llvm/projects/hpvm-tensor-rt/dnn_sources/src/promise/mobilenet_promise.cc
index 9b82b3ea756d70f3ce93cfafebd304d25522ce43..1cf73cd92a39a14c6a1fdd3965e63bfabee634b1 100644
--- a/llvm/projects/hpvm-tensor-rt/dnn_sources/src/promise/mobilenet_promise.cc
+++ b/llvm/projects/hpvm-tensor-rt/dnn_sources/src/promise/mobilenet_promise.cc
@@ -31,7 +31,7 @@ int main(int argc, char* argv[]){
   }
 
     
-  llvm_hpvm_initTensorRt(1); 
+  llvm_hpvm_initTensorRt(0); 
 
 
   int missed = 0;
@@ -51,7 +51,7 @@ int main(int argc, char* argv[]){
     for(int i = 0; i < batch_count; i++){ 
 
 
-      std::string dir_prefix = std::string("../../keras/data/mobilenet_quant/"); 
+      std::string dir_prefix = std::string("../model_params/mobilenet/"); 
       std::string input_path =  dir_prefix + std::string("input.bin"); 
       std::string labels_path =  dir_prefix + std::string("labels.bin"); 
       std::string conv2d_1_w_path =  dir_prefix + std::string("conv2d_1_w.bin"); 
diff --git a/llvm/projects/hpvm-tensor-rt/dnn_sources/src/promise/mobilenet_shallow_promise.cc b/llvm/projects/hpvm-tensor-rt/dnn_sources/src/promise/mobilenet_shallow_promise.cc
index a485327a44bd86285f47c54e2f66097a76d8a501..394ec85390aa4248fd93aefa339ff196f39a5559 100644
--- a/llvm/projects/hpvm-tensor-rt/dnn_sources/src/promise/mobilenet_shallow_promise.cc
+++ b/llvm/projects/hpvm-tensor-rt/dnn_sources/src/promise/mobilenet_shallow_promise.cc
@@ -49,7 +49,7 @@ int main(int argc, char* argv[]){
 
     for(int i = 0; i < batch_count; i++){ 
 
-      std::string dir_prefix = std::string("../../keras/data/mobilenet_shallow_nathan/"); 
+      std::string dir_prefix = std::string("../model_params/mobilenet_shallow/"); 
       std::string input_path =  dir_prefix + std::string("input.bin"); 
       std::string labels_path =  dir_prefix + std::string("labels.bin"); 
       std::string conv2d_1_w_path =  dir_prefix + std::string("conv2d_1_w.bin"); 
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/approxhpvm_src.cc b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/approxhpvm_src.cc
new file mode 100644
index 0000000000000000000000000000000000000000..dc0c873c63333299981591cb5654cb38be9d4092
--- /dev/null
+++ b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/approxhpvm_src.cc
@@ -0,0 +1,1224 @@
+
+#include <stdio.h> 
+#include <stdlib.h> 
+#include <unistd.h> 
+#include <fcntl.h> 
+#include <sys/stat.h> 
+#include <cstring> 
+#include <visc.h> 
+#include <tensorTypes.h> 
+#include <tensorUtils.h> 
+
+void var_0_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(2, t1, t2, 0); 
+
+  void *r = __visc__tensor_convolution(t1, t2, 1, 1, 1, 1); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_1_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2, void* t3, size_t bytes_t3, void* t4, size_t bytes_t4, void* t5, size_t bytes_t5) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(5, t1, t2, t3, t4, t5, 0); 
+
+  void *r = __visc__tensor_batchnorm(t1, t2, t3, t4, t5, 0.001); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_2_node(void* t1, size_t bytes_t1) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(1, t1, 0); 
+
+  void* r = __visc__tensor_relu(t1); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_3_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(2, t1, t2, 0); 
+
+  void *r = __visc__tensor_group_convolution(t1, t2, 1, 1, 1, 1, 1, 32); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_4_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2, void* t3, size_t bytes_t3, void* t4, size_t bytes_t4, void* t5, size_t bytes_t5) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(5, t1, t2, t3, t4, t5, 0); 
+
+  void *r = __visc__tensor_batchnorm(t1, t2, t3, t4, t5, 0.001); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_5_node(void* t1, size_t bytes_t1) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(1, t1, 0); 
+
+  void* r = __visc__tensor_relu(t1); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_6_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(2, t1, t2, 0); 
+
+  void *r = __visc__tensor_convolution(t1, t2, 0, 0, 1, 1); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_7_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2, void* t3, size_t bytes_t3, void* t4, size_t bytes_t4, void* t5, size_t bytes_t5) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(5, t1, t2, t3, t4, t5, 0); 
+
+  void *r = __visc__tensor_batchnorm(t1, t2, t3, t4, t5, 0.001); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_8_node(void* t1, size_t bytes_t1) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(1, t1, 0); 
+
+  void* r = __visc__tensor_relu(t1); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_9_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(2, t1, t2, 0); 
+
+  void *r = __visc__tensor_group_convolution(t1, t2, 1, 1, 2, 2, 1, 64); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_10_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2, void* t3, size_t bytes_t3, void* t4, size_t bytes_t4, void* t5, size_t bytes_t5) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(5, t1, t2, t3, t4, t5, 0); 
+
+  void *r = __visc__tensor_batchnorm(t1, t2, t3, t4, t5, 0.001); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_11_node(void* t1, size_t bytes_t1) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(1, t1, 0); 
+
+  void* r = __visc__tensor_relu(t1); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_12_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(2, t1, t2, 0); 
+
+  void *r = __visc__tensor_convolution(t1, t2, 0, 0, 1, 1); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_13_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2, void* t3, size_t bytes_t3, void* t4, size_t bytes_t4, void* t5, size_t bytes_t5) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(5, t1, t2, t3, t4, t5, 0); 
+
+  void *r = __visc__tensor_batchnorm(t1, t2, t3, t4, t5, 0.001); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_14_node(void* t1, size_t bytes_t1) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(1, t1, 0); 
+
+  void* r = __visc__tensor_relu(t1); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_15_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(2, t1, t2, 0); 
+
+  void *r = __visc__tensor_group_convolution(t1, t2, 1, 1, 1, 1, 1, 128); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_16_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2, void* t3, size_t bytes_t3, void* t4, size_t bytes_t4, void* t5, size_t bytes_t5) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(5, t1, t2, t3, t4, t5, 0); 
+
+  void *r = __visc__tensor_batchnorm(t1, t2, t3, t4, t5, 0.001); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_17_node(void* t1, size_t bytes_t1) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(1, t1, 0); 
+
+  void* r = __visc__tensor_relu(t1); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_18_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(2, t1, t2, 0); 
+
+  void *r = __visc__tensor_convolution(t1, t2, 0, 0, 1, 1); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_19_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2, void* t3, size_t bytes_t3, void* t4, size_t bytes_t4, void* t5, size_t bytes_t5) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(5, t1, t2, t3, t4, t5, 0); 
+
+  void *r = __visc__tensor_batchnorm(t1, t2, t3, t4, t5, 0.001); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_20_node(void* t1, size_t bytes_t1) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(1, t1, 0); 
+
+  void* r = __visc__tensor_relu(t1); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_21_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(2, t1, t2, 0); 
+
+  void *r = __visc__tensor_group_convolution(t1, t2, 1, 1, 2, 2, 1, 128); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_22_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2, void* t3, size_t bytes_t3, void* t4, size_t bytes_t4, void* t5, size_t bytes_t5) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(5, t1, t2, t3, t4, t5, 0); 
+
+  void *r = __visc__tensor_batchnorm(t1, t2, t3, t4, t5, 0.001); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_23_node(void* t1, size_t bytes_t1) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(1, t1, 0); 
+
+  void* r = __visc__tensor_relu(t1); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_24_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(2, t1, t2, 0); 
+
+  void *r = __visc__tensor_convolution(t1, t2, 0, 0, 1, 1); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_25_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2, void* t3, size_t bytes_t3, void* t4, size_t bytes_t4, void* t5, size_t bytes_t5) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(5, t1, t2, t3, t4, t5, 0); 
+
+  void *r = __visc__tensor_batchnorm(t1, t2, t3, t4, t5, 0.001); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_26_node(void* t1, size_t bytes_t1) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(1, t1, 0); 
+
+  void* r = __visc__tensor_relu(t1); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_27_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(2, t1, t2, 0); 
+
+  void *r = __visc__tensor_group_convolution(t1, t2, 1, 1, 1, 1, 1, 256); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_28_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2, void* t3, size_t bytes_t3, void* t4, size_t bytes_t4, void* t5, size_t bytes_t5) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(5, t1, t2, t3, t4, t5, 0); 
+
+  void *r = __visc__tensor_batchnorm(t1, t2, t3, t4, t5, 0.001); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_29_node(void* t1, size_t bytes_t1) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(1, t1, 0); 
+
+  void* r = __visc__tensor_relu(t1); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_30_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(2, t1, t2, 0); 
+
+  void *r = __visc__tensor_convolution(t1, t2, 0, 0, 1, 1); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_31_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2, void* t3, size_t bytes_t3, void* t4, size_t bytes_t4, void* t5, size_t bytes_t5) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(5, t1, t2, t3, t4, t5, 0); 
+
+  void *r = __visc__tensor_batchnorm(t1, t2, t3, t4, t5, 0.001); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_32_node(void* t1, size_t bytes_t1) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(1, t1, 0); 
+
+  void* r = __visc__tensor_relu(t1); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_33_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(2, t1, t2, 0); 
+
+  void *r = __visc__tensor_group_convolution(t1, t2, 1, 1, 2, 2, 1, 256); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_34_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2, void* t3, size_t bytes_t3, void* t4, size_t bytes_t4, void* t5, size_t bytes_t5) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(5, t1, t2, t3, t4, t5, 0); 
+
+  void *r = __visc__tensor_batchnorm(t1, t2, t3, t4, t5, 0.001); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_35_node(void* t1, size_t bytes_t1) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(1, t1, 0); 
+
+  void* r = __visc__tensor_relu(t1); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_36_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(2, t1, t2, 0); 
+
+  void *r = __visc__tensor_convolution(t1, t2, 0, 0, 1, 1); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_37_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2, void* t3, size_t bytes_t3, void* t4, size_t bytes_t4, void* t5, size_t bytes_t5) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(5, t1, t2, t3, t4, t5, 0); 
+
+  void *r = __visc__tensor_batchnorm(t1, t2, t3, t4, t5, 0.001); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_38_node(void* t1, size_t bytes_t1) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(1, t1, 0); 
+
+  void* r = __visc__tensor_relu(t1); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_39_node(void* t1, size_t bytes_t1) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(1, t1, 0); 
+
+  void* r = __visc__tensor_pool_avg(t1, 2, 2, 0, 0, 2, 2); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_40_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(2, t1, t2, 0); 
+
+  void *r = __visc__tensor_mul(t1, t2); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_41_node(void* t1, size_t bytes_t1, void* t2, size_t bytes_t2) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(2, t1, t2, 0); 
+
+  void *r = __visc__tensor_add(t1, t2); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void var_42_node(void* t1, size_t bytes_t1) { 
+  __visc__hint(visc::CUDNN_TARGET); 
+  __visc__attributes(1, t1, 0); 
+
+  void* r = __visc__tensor_softmax(t1); 
+  __visc__return(2, r, (size_t) 0); 
+}
+
+void root(void* input, size_t input_bytes, 
+	  void* conv2d_1_w, size_t conv2d_1_w_bytes, 
+	  void* batch_normalization_1_gamma, size_t batch_normalization_1_gamma_bytes, 
+	  void* batch_normalization_1_beta, size_t batch_normalization_1_beta_bytes, 
+	  void* batch_normalization_1_mean, size_t batch_normalization_1_mean_bytes, 
+	  void* batch_normalization_1_variance, size_t batch_normalization_1_variance_bytes, 
+	  void* depthwise_conv2d_1_w, size_t depthwise_conv2d_1_w_bytes, 
+	  void* batch_normalization_2_gamma, size_t batch_normalization_2_gamma_bytes, 
+	  void* batch_normalization_2_beta, size_t batch_normalization_2_beta_bytes, 
+	  void* batch_normalization_2_mean, size_t batch_normalization_2_mean_bytes, 
+	  void* batch_normalization_2_variance, size_t batch_normalization_2_variance_bytes, 
+	  void* conv2d_2_w, size_t conv2d_2_w_bytes, 
+	  void* batch_normalization_3_gamma, size_t batch_normalization_3_gamma_bytes, 
+	  void* batch_normalization_3_beta, size_t batch_normalization_3_beta_bytes, 
+	  void* batch_normalization_3_mean, size_t batch_normalization_3_mean_bytes, 
+	  void* batch_normalization_3_variance, size_t batch_normalization_3_variance_bytes, 
+	  void* depthwise_conv2d_2_w, size_t depthwise_conv2d_2_w_bytes, 
+	  void* batch_normalization_4_gamma, size_t batch_normalization_4_gamma_bytes, 
+	  void* batch_normalization_4_beta, size_t batch_normalization_4_beta_bytes, 
+	  void* batch_normalization_4_mean, size_t batch_normalization_4_mean_bytes, 
+	  void* batch_normalization_4_variance, size_t batch_normalization_4_variance_bytes, 
+	  void* conv2d_3_w, size_t conv2d_3_w_bytes, 
+	  void* batch_normalization_5_gamma, size_t batch_normalization_5_gamma_bytes, 
+	  void* batch_normalization_5_beta, size_t batch_normalization_5_beta_bytes, 
+	  void* batch_normalization_5_mean, size_t batch_normalization_5_mean_bytes, 
+	  void* batch_normalization_5_variance, size_t batch_normalization_5_variance_bytes, 
+	  void* depthwise_conv2d_3_w, size_t depthwise_conv2d_3_w_bytes, 
+	  void* batch_normalization_6_gamma, size_t batch_normalization_6_gamma_bytes, 
+	  void* batch_normalization_6_beta, size_t batch_normalization_6_beta_bytes, 
+	  void* batch_normalization_6_mean, size_t batch_normalization_6_mean_bytes, 
+	  void* batch_normalization_6_variance, size_t batch_normalization_6_variance_bytes, 
+	  void* conv2d_4_w, size_t conv2d_4_w_bytes, 
+	  void* batch_normalization_7_gamma, size_t batch_normalization_7_gamma_bytes, 
+	  void* batch_normalization_7_beta, size_t batch_normalization_7_beta_bytes, 
+	  void* batch_normalization_7_mean, size_t batch_normalization_7_mean_bytes, 
+	  void* batch_normalization_7_variance, size_t batch_normalization_7_variance_bytes, 
+	  void* depthwise_conv2d_4_w, size_t depthwise_conv2d_4_w_bytes, 
+	  void* batch_normalization_8_gamma, size_t batch_normalization_8_gamma_bytes, 
+	  void* batch_normalization_8_beta, size_t batch_normalization_8_beta_bytes, 
+	  void* batch_normalization_8_mean, size_t batch_normalization_8_mean_bytes, 
+	  void* batch_normalization_8_variance, size_t batch_normalization_8_variance_bytes, 
+	  void* conv2d_5_w, size_t conv2d_5_w_bytes, 
+	  void* batch_normalization_9_gamma, size_t batch_normalization_9_gamma_bytes, 
+	  void* batch_normalization_9_beta, size_t batch_normalization_9_beta_bytes, 
+	  void* batch_normalization_9_mean, size_t batch_normalization_9_mean_bytes, 
+	  void* batch_normalization_9_variance, size_t batch_normalization_9_variance_bytes, 
+	  void* depthwise_conv2d_5_w, size_t depthwise_conv2d_5_w_bytes, 
+	  void* batch_normalization_10_gamma, size_t batch_normalization_10_gamma_bytes, 
+	  void* batch_normalization_10_beta, size_t batch_normalization_10_beta_bytes, 
+	  void* batch_normalization_10_mean, size_t batch_normalization_10_mean_bytes, 
+	  void* batch_normalization_10_variance, size_t batch_normalization_10_variance_bytes, 
+	  void* conv2d_6_w, size_t conv2d_6_w_bytes, 
+	  void* batch_normalization_11_gamma, size_t batch_normalization_11_gamma_bytes, 
+	  void* batch_normalization_11_beta, size_t batch_normalization_11_beta_bytes, 
+	  void* batch_normalization_11_mean, size_t batch_normalization_11_mean_bytes, 
+	  void* batch_normalization_11_variance, size_t batch_normalization_11_variance_bytes, 
+	  void* depthwise_conv2d_6_w, size_t depthwise_conv2d_6_w_bytes, 
+	  void* batch_normalization_12_gamma, size_t batch_normalization_12_gamma_bytes, 
+	  void* batch_normalization_12_beta, size_t batch_normalization_12_beta_bytes, 
+	  void* batch_normalization_12_mean, size_t batch_normalization_12_mean_bytes, 
+	  void* batch_normalization_12_variance, size_t batch_normalization_12_variance_bytes, 
+	  void* conv2d_7_w, size_t conv2d_7_w_bytes, 
+	  void* batch_normalization_13_gamma, size_t batch_normalization_13_gamma_bytes, 
+	  void* batch_normalization_13_beta, size_t batch_normalization_13_beta_bytes, 
+	  void* batch_normalization_13_mean, size_t batch_normalization_13_mean_bytes, 
+	  void* batch_normalization_13_variance, size_t batch_normalization_13_variance_bytes, 
+	  void* dense_1_w, size_t dense_1_w_bytes, 
+	  void* dense_1_b, size_t dense_1_b_bytes){ 
+
+
+  __visc__hint(visc::CPU_TARGET); 
+  __visc__attributes(68, input, conv2d_1_w, batch_normalization_1_gamma, batch_normalization_1_beta, batch_normalization_1_mean, batch_normalization_1_variance, depthwise_conv2d_1_w, batch_normalization_2_gamma, batch_normalization_2_beta, batch_normalization_2_mean, batch_normalization_2_variance, conv2d_2_w, batch_normalization_3_gamma, batch_normalization_3_beta, batch_normalization_3_mean, batch_normalization_3_variance, depthwise_conv2d_2_w, batch_normalization_4_gamma, batch_normalization_4_beta, batch_normalization_4_mean, batch_normalization_4_variance, conv2d_3_w, batch_normalization_5_gamma, batch_normalization_5_beta, batch_normalization_5_mean, batch_normalization_5_variance, depthwise_conv2d_3_w, batch_normalization_6_gamma, batch_normalization_6_beta, batch_normalization_6_mean, batch_normalization_6_variance, conv2d_4_w, batch_normalization_7_gamma, batch_normalization_7_beta, batch_normalization_7_mean, batch_normalization_7_variance, depthwise_conv2d_4_w, batch_normalization_8_gamma, batch_normalization_8_beta, batch_normalization_8_mean, batch_normalization_8_variance, conv2d_5_w, batch_normalization_9_gamma, batch_normalization_9_beta, batch_normalization_9_mean, batch_normalization_9_variance, depthwise_conv2d_5_w, batch_normalization_10_gamma, batch_normalization_10_beta, batch_normalization_10_mean, batch_normalization_10_variance, conv2d_6_w, batch_normalization_11_gamma, batch_normalization_11_beta, batch_normalization_11_mean, batch_normalization_11_variance, depthwise_conv2d_6_w, batch_normalization_12_gamma, batch_normalization_12_beta, batch_normalization_12_mean, batch_normalization_12_variance, conv2d_7_w, batch_normalization_13_gamma, batch_normalization_13_beta, batch_normalization_13_mean, batch_normalization_13_variance, dense_1_w, dense_1_b, 0); 
+
+
+  void* var_0 = __visc__createNodeND(0, var_0_node); 
+
+  __visc__bindIn(var_0, 0, 0, 0); 
+  __visc__bindIn(var_0, 1, 1, 0); 
+  __visc__bindIn(var_0, 2, 2, 0); 
+  __visc__bindIn(var_0, 3, 3, 0); 
+
+  void* var_1 = __visc__createNodeND(0, var_1_node); 
+
+  __visc__edge(var_0, var_1, 1, 0, 0, 0); 
+  __visc__edge(var_0, var_1, 1, 1, 1, 0); 
+  __visc__bindIn(var_1, 4, 2, 0); 
+  __visc__bindIn(var_1, 5, 3, 0); 
+  __visc__bindIn(var_1, 6, 4, 0); 
+  __visc__bindIn(var_1, 7, 5, 0); 
+  __visc__bindIn(var_1, 8, 6, 0); 
+  __visc__bindIn(var_1, 9, 7, 0); 
+  __visc__bindIn(var_1, 10, 8, 0); 
+  __visc__bindIn(var_1, 11, 9, 0); 
+
+  void* var_2 = __visc__createNodeND(0, var_2_node); 
+
+  __visc__edge(var_1, var_2, 1, 0, 0, 0); 
+  __visc__edge(var_1, var_2, 1, 1, 1, 0); 
+
+  void* var_3 = __visc__createNodeND(0, var_3_node); 
+
+  __visc__edge(var_2, var_3, 1, 0, 0, 0); 
+  __visc__edge(var_2, var_3, 1, 1, 1, 0); 
+  __visc__bindIn(var_3, 12, 2, 0); 
+  __visc__bindIn(var_3, 13, 3, 0); 
+
+  void* var_4 = __visc__createNodeND(0, var_4_node); 
+
+  __visc__edge(var_3, var_4, 1, 0, 0, 0); 
+  __visc__edge(var_3, var_4, 1, 1, 1, 0); 
+  __visc__bindIn(var_4, 14, 2, 0); 
+  __visc__bindIn(var_4, 15, 3, 0); 
+  __visc__bindIn(var_4, 16, 4, 0); 
+  __visc__bindIn(var_4, 17, 5, 0); 
+  __visc__bindIn(var_4, 18, 6, 0); 
+  __visc__bindIn(var_4, 19, 7, 0); 
+  __visc__bindIn(var_4, 20, 8, 0); 
+  __visc__bindIn(var_4, 21, 9, 0); 
+
+  void* var_5 = __visc__createNodeND(0, var_5_node); 
+
+  __visc__edge(var_4, var_5, 1, 0, 0, 0); 
+  __visc__edge(var_4, var_5, 1, 1, 1, 0); 
+
+  void* var_6 = __visc__createNodeND(0, var_6_node); 
+
+  __visc__edge(var_5, var_6, 1, 0, 0, 0); 
+  __visc__edge(var_5, var_6, 1, 1, 1, 0); 
+  __visc__bindIn(var_6, 22, 2, 0); 
+  __visc__bindIn(var_6, 23, 3, 0); 
+
+  void* var_7 = __visc__createNodeND(0, var_7_node); 
+
+  __visc__edge(var_6, var_7, 1, 0, 0, 0); 
+  __visc__edge(var_6, var_7, 1, 1, 1, 0); 
+  __visc__bindIn(var_7, 24, 2, 0); 
+  __visc__bindIn(var_7, 25, 3, 0); 
+  __visc__bindIn(var_7, 26, 4, 0); 
+  __visc__bindIn(var_7, 27, 5, 0); 
+  __visc__bindIn(var_7, 28, 6, 0); 
+  __visc__bindIn(var_7, 29, 7, 0); 
+  __visc__bindIn(var_7, 30, 8, 0); 
+  __visc__bindIn(var_7, 31, 9, 0); 
+
+  void* var_8 = __visc__createNodeND(0, var_8_node); 
+
+  __visc__edge(var_7, var_8, 1, 0, 0, 0); 
+  __visc__edge(var_7, var_8, 1, 1, 1, 0); 
+
+  void* var_9 = __visc__createNodeND(0, var_9_node); 
+
+  __visc__edge(var_8, var_9, 1, 0, 0, 0); 
+  __visc__edge(var_8, var_9, 1, 1, 1, 0); 
+  __visc__bindIn(var_9, 32, 2, 0); 
+  __visc__bindIn(var_9, 33, 3, 0); 
+
+  void* var_10 = __visc__createNodeND(0, var_10_node); 
+
+  __visc__edge(var_9, var_10, 1, 0, 0, 0); 
+  __visc__edge(var_9, var_10, 1, 1, 1, 0); 
+  __visc__bindIn(var_10, 34, 2, 0); 
+  __visc__bindIn(var_10, 35, 3, 0); 
+  __visc__bindIn(var_10, 36, 4, 0); 
+  __visc__bindIn(var_10, 37, 5, 0); 
+  __visc__bindIn(var_10, 38, 6, 0); 
+  __visc__bindIn(var_10, 39, 7, 0); 
+  __visc__bindIn(var_10, 40, 8, 0); 
+  __visc__bindIn(var_10, 41, 9, 0); 
+
+  void* var_11 = __visc__createNodeND(0, var_11_node); 
+
+  __visc__edge(var_10, var_11, 1, 0, 0, 0); 
+  __visc__edge(var_10, var_11, 1, 1, 1, 0); 
+
+  void* var_12 = __visc__createNodeND(0, var_12_node); 
+
+  __visc__edge(var_11, var_12, 1, 0, 0, 0); 
+  __visc__edge(var_11, var_12, 1, 1, 1, 0); 
+  __visc__bindIn(var_12, 42, 2, 0); 
+  __visc__bindIn(var_12, 43, 3, 0); 
+
+  void* var_13 = __visc__createNodeND(0, var_13_node); 
+
+  __visc__edge(var_12, var_13, 1, 0, 0, 0); 
+  __visc__edge(var_12, var_13, 1, 1, 1, 0); 
+  __visc__bindIn(var_13, 44, 2, 0); 
+  __visc__bindIn(var_13, 45, 3, 0); 
+  __visc__bindIn(var_13, 46, 4, 0); 
+  __visc__bindIn(var_13, 47, 5, 0); 
+  __visc__bindIn(var_13, 48, 6, 0); 
+  __visc__bindIn(var_13, 49, 7, 0); 
+  __visc__bindIn(var_13, 50, 8, 0); 
+  __visc__bindIn(var_13, 51, 9, 0); 
+
+  void* var_14 = __visc__createNodeND(0, var_14_node); 
+
+  __visc__edge(var_13, var_14, 1, 0, 0, 0); 
+  __visc__edge(var_13, var_14, 1, 1, 1, 0); 
+
+  void* var_15 = __visc__createNodeND(0, var_15_node); 
+
+  __visc__edge(var_14, var_15, 1, 0, 0, 0); 
+  __visc__edge(var_14, var_15, 1, 1, 1, 0); 
+  __visc__bindIn(var_15, 52, 2, 0); 
+  __visc__bindIn(var_15, 53, 3, 0); 
+
+  void* var_16 = __visc__createNodeND(0, var_16_node); 
+
+  __visc__edge(var_15, var_16, 1, 0, 0, 0); 
+  __visc__edge(var_15, var_16, 1, 1, 1, 0); 
+  __visc__bindIn(var_16, 54, 2, 0); 
+  __visc__bindIn(var_16, 55, 3, 0); 
+  __visc__bindIn(var_16, 56, 4, 0); 
+  __visc__bindIn(var_16, 57, 5, 0); 
+  __visc__bindIn(var_16, 58, 6, 0); 
+  __visc__bindIn(var_16, 59, 7, 0); 
+  __visc__bindIn(var_16, 60, 8, 0); 
+  __visc__bindIn(var_16, 61, 9, 0); 
+
+  void* var_17 = __visc__createNodeND(0, var_17_node); 
+
+  __visc__edge(var_16, var_17, 1, 0, 0, 0); 
+  __visc__edge(var_16, var_17, 1, 1, 1, 0); 
+
+  void* var_18 = __visc__createNodeND(0, var_18_node); 
+
+  __visc__edge(var_17, var_18, 1, 0, 0, 0); 
+  __visc__edge(var_17, var_18, 1, 1, 1, 0); 
+  __visc__bindIn(var_18, 62, 2, 0); 
+  __visc__bindIn(var_18, 63, 3, 0); 
+
+  void* var_19 = __visc__createNodeND(0, var_19_node); 
+
+  __visc__edge(var_18, var_19, 1, 0, 0, 0); 
+  __visc__edge(var_18, var_19, 1, 1, 1, 0); 
+  __visc__bindIn(var_19, 64, 2, 0); 
+  __visc__bindIn(var_19, 65, 3, 0); 
+  __visc__bindIn(var_19, 66, 4, 0); 
+  __visc__bindIn(var_19, 67, 5, 0); 
+  __visc__bindIn(var_19, 68, 6, 0); 
+  __visc__bindIn(var_19, 69, 7, 0); 
+  __visc__bindIn(var_19, 70, 8, 0); 
+  __visc__bindIn(var_19, 71, 9, 0); 
+
+  void* var_20 = __visc__createNodeND(0, var_20_node); 
+
+  __visc__edge(var_19, var_20, 1, 0, 0, 0); 
+  __visc__edge(var_19, var_20, 1, 1, 1, 0); 
+
+  void* var_21 = __visc__createNodeND(0, var_21_node); 
+
+  __visc__edge(var_20, var_21, 1, 0, 0, 0); 
+  __visc__edge(var_20, var_21, 1, 1, 1, 0); 
+  __visc__bindIn(var_21, 72, 2, 0); 
+  __visc__bindIn(var_21, 73, 3, 0); 
+
+  void* var_22 = __visc__createNodeND(0, var_22_node); 
+
+  __visc__edge(var_21, var_22, 1, 0, 0, 0); 
+  __visc__edge(var_21, var_22, 1, 1, 1, 0); 
+  __visc__bindIn(var_22, 74, 2, 0); 
+  __visc__bindIn(var_22, 75, 3, 0); 
+  __visc__bindIn(var_22, 76, 4, 0); 
+  __visc__bindIn(var_22, 77, 5, 0); 
+  __visc__bindIn(var_22, 78, 6, 0); 
+  __visc__bindIn(var_22, 79, 7, 0); 
+  __visc__bindIn(var_22, 80, 8, 0); 
+  __visc__bindIn(var_22, 81, 9, 0); 
+
+  void* var_23 = __visc__createNodeND(0, var_23_node); 
+
+  __visc__edge(var_22, var_23, 1, 0, 0, 0); 
+  __visc__edge(var_22, var_23, 1, 1, 1, 0); 
+
+  void* var_24 = __visc__createNodeND(0, var_24_node); 
+
+  __visc__edge(var_23, var_24, 1, 0, 0, 0); 
+  __visc__edge(var_23, var_24, 1, 1, 1, 0); 
+  __visc__bindIn(var_24, 82, 2, 0); 
+  __visc__bindIn(var_24, 83, 3, 0); 
+
+  void* var_25 = __visc__createNodeND(0, var_25_node); 
+
+  __visc__edge(var_24, var_25, 1, 0, 0, 0); 
+  __visc__edge(var_24, var_25, 1, 1, 1, 0); 
+  __visc__bindIn(var_25, 84, 2, 0); 
+  __visc__bindIn(var_25, 85, 3, 0); 
+  __visc__bindIn(var_25, 86, 4, 0); 
+  __visc__bindIn(var_25, 87, 5, 0); 
+  __visc__bindIn(var_25, 88, 6, 0); 
+  __visc__bindIn(var_25, 89, 7, 0); 
+  __visc__bindIn(var_25, 90, 8, 0); 
+  __visc__bindIn(var_25, 91, 9, 0); 
+
+  void* var_26 = __visc__createNodeND(0, var_26_node); 
+
+  __visc__edge(var_25, var_26, 1, 0, 0, 0); 
+  __visc__edge(var_25, var_26, 1, 1, 1, 0); 
+
+  void* var_27 = __visc__createNodeND(0, var_27_node); 
+
+  __visc__edge(var_26, var_27, 1, 0, 0, 0); 
+  __visc__edge(var_26, var_27, 1, 1, 1, 0); 
+  __visc__bindIn(var_27, 92, 2, 0); 
+  __visc__bindIn(var_27, 93, 3, 0); 
+
+  void* var_28 = __visc__createNodeND(0, var_28_node); 
+
+  __visc__edge(var_27, var_28, 1, 0, 0, 0); 
+  __visc__edge(var_27, var_28, 1, 1, 1, 0); 
+  __visc__bindIn(var_28, 94, 2, 0); 
+  __visc__bindIn(var_28, 95, 3, 0); 
+  __visc__bindIn(var_28, 96, 4, 0); 
+  __visc__bindIn(var_28, 97, 5, 0); 
+  __visc__bindIn(var_28, 98, 6, 0); 
+  __visc__bindIn(var_28, 99, 7, 0); 
+  __visc__bindIn(var_28, 100, 8, 0); 
+  __visc__bindIn(var_28, 101, 9, 0); 
+
+  void* var_29 = __visc__createNodeND(0, var_29_node); 
+
+  __visc__edge(var_28, var_29, 1, 0, 0, 0); 
+  __visc__edge(var_28, var_29, 1, 1, 1, 0); 
+
+  void* var_30 = __visc__createNodeND(0, var_30_node); 
+
+  __visc__edge(var_29, var_30, 1, 0, 0, 0); 
+  __visc__edge(var_29, var_30, 1, 1, 1, 0); 
+  __visc__bindIn(var_30, 102, 2, 0); 
+  __visc__bindIn(var_30, 103, 3, 0); 
+
+  void* var_31 = __visc__createNodeND(0, var_31_node); 
+
+  __visc__edge(var_30, var_31, 1, 0, 0, 0); 
+  __visc__edge(var_30, var_31, 1, 1, 1, 0); 
+  __visc__bindIn(var_31, 104, 2, 0); 
+  __visc__bindIn(var_31, 105, 3, 0); 
+  __visc__bindIn(var_31, 106, 4, 0); 
+  __visc__bindIn(var_31, 107, 5, 0); 
+  __visc__bindIn(var_31, 108, 6, 0); 
+  __visc__bindIn(var_31, 109, 7, 0); 
+  __visc__bindIn(var_31, 110, 8, 0); 
+  __visc__bindIn(var_31, 111, 9, 0); 
+
+  void* var_32 = __visc__createNodeND(0, var_32_node); 
+
+  __visc__edge(var_31, var_32, 1, 0, 0, 0); 
+  __visc__edge(var_31, var_32, 1, 1, 1, 0); 
+
+  void* var_33 = __visc__createNodeND(0, var_33_node); 
+
+  __visc__edge(var_32, var_33, 1, 0, 0, 0); 
+  __visc__edge(var_32, var_33, 1, 1, 1, 0); 
+  __visc__bindIn(var_33, 112, 2, 0); 
+  __visc__bindIn(var_33, 113, 3, 0); 
+
+  void* var_34 = __visc__createNodeND(0, var_34_node); 
+
+  __visc__edge(var_33, var_34, 1, 0, 0, 0); 
+  __visc__edge(var_33, var_34, 1, 1, 1, 0); 
+  __visc__bindIn(var_34, 114, 2, 0); 
+  __visc__bindIn(var_34, 115, 3, 0); 
+  __visc__bindIn(var_34, 116, 4, 0); 
+  __visc__bindIn(var_34, 117, 5, 0); 
+  __visc__bindIn(var_34, 118, 6, 0); 
+  __visc__bindIn(var_34, 119, 7, 0); 
+  __visc__bindIn(var_34, 120, 8, 0); 
+  __visc__bindIn(var_34, 121, 9, 0); 
+
+  void* var_35 = __visc__createNodeND(0, var_35_node); 
+
+  __visc__edge(var_34, var_35, 1, 0, 0, 0); 
+  __visc__edge(var_34, var_35, 1, 1, 1, 0); 
+
+  void* var_36 = __visc__createNodeND(0, var_36_node); 
+
+  __visc__edge(var_35, var_36, 1, 0, 0, 0); 
+  __visc__edge(var_35, var_36, 1, 1, 1, 0); 
+  __visc__bindIn(var_36, 122, 2, 0); 
+  __visc__bindIn(var_36, 123, 3, 0); 
+
+  void* var_37 = __visc__createNodeND(0, var_37_node); 
+
+  __visc__edge(var_36, var_37, 1, 0, 0, 0); 
+  __visc__edge(var_36, var_37, 1, 1, 1, 0); 
+  __visc__bindIn(var_37, 124, 2, 0); 
+  __visc__bindIn(var_37, 125, 3, 0); 
+  __visc__bindIn(var_37, 126, 4, 0); 
+  __visc__bindIn(var_37, 127, 5, 0); 
+  __visc__bindIn(var_37, 128, 6, 0); 
+  __visc__bindIn(var_37, 129, 7, 0); 
+  __visc__bindIn(var_37, 130, 8, 0); 
+  __visc__bindIn(var_37, 131, 9, 0); 
+
+  void* var_38 = __visc__createNodeND(0, var_38_node); 
+
+  __visc__edge(var_37, var_38, 1, 0, 0, 0); 
+  __visc__edge(var_37, var_38, 1, 1, 1, 0); 
+
+  void* var_39 = __visc__createNodeND(0, var_39_node); 
+
+  __visc__edge(var_38, var_39, 1, 0, 0, 0); 
+  __visc__edge(var_38, var_39, 1, 1, 1, 0); 
+
+  void* var_40 = __visc__createNodeND(0, var_40_node); 
+
+  __visc__edge(var_39, var_40, 1, 0, 0, 0); 
+  __visc__edge(var_39, var_40, 1, 1, 1, 0); 
+  __visc__bindIn(var_40, 132, 2, 0); 
+  __visc__bindIn(var_40, 133, 3, 0); 
+
+  void* var_41 = __visc__createNodeND(0, var_41_node); 
+
+  __visc__edge(var_40, var_41, 1, 0, 0, 0); 
+  __visc__edge(var_40, var_41, 1, 1, 1, 0); 
+  __visc__bindIn(var_41, 134, 2, 0); 
+  __visc__bindIn(var_41, 135, 3, 0); 
+
+  void* var_42 = __visc__createNodeND(0, var_42_node); 
+
+  __visc__edge(var_41, var_42, 1, 0, 0, 0); 
+  __visc__edge(var_41, var_42, 1, 1, 1, 0); 
+
+  __visc__bindOut(var_42, 0, 0, 0); 
+  __visc__bindOut(var_42, 1, 1, 0); 
+
+}
+
+struct ret_t {
+  void* tensor; 
+  size_t bytes; 
+}; 
+
+typedef struct __attribute__((__packed__)) {
+  void* input; 
+  size_t input_bytes; 
+  void* conv2d_1_w; 
+  size_t conv2d_1_w_bytes; 
+  void* batch_normalization_1_gamma; 
+  size_t batch_normalization_1_gamma_bytes; 
+  void* batch_normalization_1_beta; 
+  size_t batch_normalization_1_beta_bytes; 
+  void* batch_normalization_1_mean; 
+  size_t batch_normalization_1_mean_bytes; 
+  void* batch_normalization_1_variance; 
+  size_t batch_normalization_1_variance_bytes; 
+  void* depthwise_conv2d_1_w; 
+  size_t depthwise_conv2d_1_w_bytes; 
+  void* batch_normalization_2_gamma; 
+  size_t batch_normalization_2_gamma_bytes; 
+  void* batch_normalization_2_beta; 
+  size_t batch_normalization_2_beta_bytes; 
+  void* batch_normalization_2_mean; 
+  size_t batch_normalization_2_mean_bytes; 
+  void* batch_normalization_2_variance; 
+  size_t batch_normalization_2_variance_bytes; 
+  void* conv2d_2_w; 
+  size_t conv2d_2_w_bytes; 
+  void* batch_normalization_3_gamma; 
+  size_t batch_normalization_3_gamma_bytes; 
+  void* batch_normalization_3_beta; 
+  size_t batch_normalization_3_beta_bytes; 
+  void* batch_normalization_3_mean; 
+  size_t batch_normalization_3_mean_bytes; 
+  void* batch_normalization_3_variance; 
+  size_t batch_normalization_3_variance_bytes; 
+  void* depthwise_conv2d_2_w; 
+  size_t depthwise_conv2d_2_w_bytes; 
+  void* batch_normalization_4_gamma; 
+  size_t batch_normalization_4_gamma_bytes; 
+  void* batch_normalization_4_beta; 
+  size_t batch_normalization_4_beta_bytes; 
+  void* batch_normalization_4_mean; 
+  size_t batch_normalization_4_mean_bytes; 
+  void* batch_normalization_4_variance; 
+  size_t batch_normalization_4_variance_bytes; 
+  void* conv2d_3_w; 
+  size_t conv2d_3_w_bytes; 
+  void* batch_normalization_5_gamma; 
+  size_t batch_normalization_5_gamma_bytes; 
+  void* batch_normalization_5_beta; 
+  size_t batch_normalization_5_beta_bytes; 
+  void* batch_normalization_5_mean; 
+  size_t batch_normalization_5_mean_bytes; 
+  void* batch_normalization_5_variance; 
+  size_t batch_normalization_5_variance_bytes; 
+  void* depthwise_conv2d_3_w; 
+  size_t depthwise_conv2d_3_w_bytes; 
+  void* batch_normalization_6_gamma; 
+  size_t batch_normalization_6_gamma_bytes; 
+  void* batch_normalization_6_beta; 
+  size_t batch_normalization_6_beta_bytes; 
+  void* batch_normalization_6_mean; 
+  size_t batch_normalization_6_mean_bytes; 
+  void* batch_normalization_6_variance; 
+  size_t batch_normalization_6_variance_bytes; 
+  void* conv2d_4_w; 
+  size_t conv2d_4_w_bytes; 
+  void* batch_normalization_7_gamma; 
+  size_t batch_normalization_7_gamma_bytes; 
+  void* batch_normalization_7_beta; 
+  size_t batch_normalization_7_beta_bytes; 
+  void* batch_normalization_7_mean; 
+  size_t batch_normalization_7_mean_bytes; 
+  void* batch_normalization_7_variance; 
+  size_t batch_normalization_7_variance_bytes; 
+  void* depthwise_conv2d_4_w; 
+  size_t depthwise_conv2d_4_w_bytes; 
+  void* batch_normalization_8_gamma; 
+  size_t batch_normalization_8_gamma_bytes; 
+  void* batch_normalization_8_beta; 
+  size_t batch_normalization_8_beta_bytes; 
+  void* batch_normalization_8_mean; 
+  size_t batch_normalization_8_mean_bytes; 
+  void* batch_normalization_8_variance; 
+  size_t batch_normalization_8_variance_bytes; 
+  void* conv2d_5_w; 
+  size_t conv2d_5_w_bytes; 
+  void* batch_normalization_9_gamma; 
+  size_t batch_normalization_9_gamma_bytes; 
+  void* batch_normalization_9_beta; 
+  size_t batch_normalization_9_beta_bytes; 
+  void* batch_normalization_9_mean; 
+  size_t batch_normalization_9_mean_bytes; 
+  void* batch_normalization_9_variance; 
+  size_t batch_normalization_9_variance_bytes; 
+  void* depthwise_conv2d_5_w; 
+  size_t depthwise_conv2d_5_w_bytes; 
+  void* batch_normalization_10_gamma; 
+  size_t batch_normalization_10_gamma_bytes; 
+  void* batch_normalization_10_beta; 
+  size_t batch_normalization_10_beta_bytes; 
+  void* batch_normalization_10_mean; 
+  size_t batch_normalization_10_mean_bytes; 
+  void* batch_normalization_10_variance; 
+  size_t batch_normalization_10_variance_bytes; 
+  void* conv2d_6_w; 
+  size_t conv2d_6_w_bytes; 
+  void* batch_normalization_11_gamma; 
+  size_t batch_normalization_11_gamma_bytes; 
+  void* batch_normalization_11_beta; 
+  size_t batch_normalization_11_beta_bytes; 
+  void* batch_normalization_11_mean; 
+  size_t batch_normalization_11_mean_bytes; 
+  void* batch_normalization_11_variance; 
+  size_t batch_normalization_11_variance_bytes; 
+  void* depthwise_conv2d_6_w; 
+  size_t depthwise_conv2d_6_w_bytes; 
+  void* batch_normalization_12_gamma; 
+  size_t batch_normalization_12_gamma_bytes; 
+  void* batch_normalization_12_beta; 
+  size_t batch_normalization_12_beta_bytes; 
+  void* batch_normalization_12_mean; 
+  size_t batch_normalization_12_mean_bytes; 
+  void* batch_normalization_12_variance; 
+  size_t batch_normalization_12_variance_bytes; 
+  void* conv2d_7_w; 
+  size_t conv2d_7_w_bytes; 
+  void* batch_normalization_13_gamma; 
+  size_t batch_normalization_13_gamma_bytes; 
+  void* batch_normalization_13_beta; 
+  size_t batch_normalization_13_beta_bytes; 
+  void* batch_normalization_13_mean; 
+  size_t batch_normalization_13_mean_bytes; 
+  void* batch_normalization_13_variance; 
+  size_t batch_normalization_13_variance_bytes; 
+  void* dense_1_w; 
+  size_t dense_1_w_bytes; 
+  void* dense_1_b; 
+  size_t dense_1_b_bytes; 
+
+  struct ret_t r; 
+}
+RootIn;
+
+int main(){ 
+
+std::string dir_prefix = std::string("data/mobilenet_shallow_nathan/"); 
+std::string input_path =  dir_prefix + std::string("input.bin"); 
+std::string labels_path =  dir_prefix + std::string("labels.bin"); 
+std::string conv2d_1_w_path =  dir_prefix + std::string("conv2d_1_w.bin"); 
+void* conv2d_1_w =  readTrainedWeights(conv2d_1_w_path.c_str(), 0,32,3,3,3); 
+std::string batch_normalization_1_gamma_path =  dir_prefix + std::string("batch_normalization_1_gamma.bin"); 
+void* batch_normalization_1_gamma =  readTrainedWeights(batch_normalization_1_gamma_path.c_str(), 0,1,32,1,1); 
+std::string batch_normalization_1_beta_path =  dir_prefix + std::string("batch_normalization_1_beta.bin"); 
+void* batch_normalization_1_beta =  readTrainedWeights(batch_normalization_1_beta_path.c_str(), 0,1,32,1,1); 
+std::string batch_normalization_1_mean_path =  dir_prefix + std::string("batch_normalization_1_mean.bin"); 
+void* batch_normalization_1_mean =  readTrainedWeights(batch_normalization_1_mean_path.c_str(), 0,1,32,1,1); 
+std::string batch_normalization_1_variance_path =  dir_prefix + std::string("batch_normalization_1_variance.bin"); 
+void* batch_normalization_1_variance =  readTrainedWeights(batch_normalization_1_variance_path.c_str(), 0,1,32,1,1); 
+std::string depthwise_conv2d_1_w_path =  dir_prefix + std::string("depthwise_conv2d_1_w.bin"); 
+void* depthwise_conv2d_1_w =  readTrainedWeights(depthwise_conv2d_1_w_path.c_str(), 0,32,1,3,3); 
+std::string batch_normalization_2_gamma_path =  dir_prefix + std::string("batch_normalization_2_gamma.bin"); 
+void* batch_normalization_2_gamma =  readTrainedWeights(batch_normalization_2_gamma_path.c_str(), 0,1,32,1,1); 
+std::string batch_normalization_2_beta_path =  dir_prefix + std::string("batch_normalization_2_beta.bin"); 
+void* batch_normalization_2_beta =  readTrainedWeights(batch_normalization_2_beta_path.c_str(), 0,1,32,1,1); 
+std::string batch_normalization_2_mean_path =  dir_prefix + std::string("batch_normalization_2_mean.bin"); 
+void* batch_normalization_2_mean =  readTrainedWeights(batch_normalization_2_mean_path.c_str(), 0,1,32,1,1); 
+std::string batch_normalization_2_variance_path =  dir_prefix + std::string("batch_normalization_2_variance.bin"); 
+void* batch_normalization_2_variance =  readTrainedWeights(batch_normalization_2_variance_path.c_str(), 0,1,32,1,1); 
+std::string conv2d_2_w_path =  dir_prefix + std::string("conv2d_2_w.bin"); 
+void* conv2d_2_w =  readTrainedWeights(conv2d_2_w_path.c_str(), 0,64,32,1,1); 
+std::string batch_normalization_3_gamma_path =  dir_prefix + std::string("batch_normalization_3_gamma.bin"); 
+void* batch_normalization_3_gamma =  readTrainedWeights(batch_normalization_3_gamma_path.c_str(), 0,1,64,1,1); 
+std::string batch_normalization_3_beta_path =  dir_prefix + std::string("batch_normalization_3_beta.bin"); 
+void* batch_normalization_3_beta =  readTrainedWeights(batch_normalization_3_beta_path.c_str(), 0,1,64,1,1); 
+std::string batch_normalization_3_mean_path =  dir_prefix + std::string("batch_normalization_3_mean.bin"); 
+void* batch_normalization_3_mean =  readTrainedWeights(batch_normalization_3_mean_path.c_str(), 0,1,64,1,1); 
+std::string batch_normalization_3_variance_path =  dir_prefix + std::string("batch_normalization_3_variance.bin"); 
+void* batch_normalization_3_variance =  readTrainedWeights(batch_normalization_3_variance_path.c_str(), 0,1,64,1,1); 
+std::string depthwise_conv2d_2_w_path =  dir_prefix + std::string("depthwise_conv2d_2_w.bin"); 
+void* depthwise_conv2d_2_w =  readTrainedWeights(depthwise_conv2d_2_w_path.c_str(), 0,64,1,3,3); 
+std::string batch_normalization_4_gamma_path =  dir_prefix + std::string("batch_normalization_4_gamma.bin"); 
+void* batch_normalization_4_gamma =  readTrainedWeights(batch_normalization_4_gamma_path.c_str(), 0,1,64,1,1); 
+std::string batch_normalization_4_beta_path =  dir_prefix + std::string("batch_normalization_4_beta.bin"); 
+void* batch_normalization_4_beta =  readTrainedWeights(batch_normalization_4_beta_path.c_str(), 0,1,64,1,1); 
+std::string batch_normalization_4_mean_path =  dir_prefix + std::string("batch_normalization_4_mean.bin"); 
+void* batch_normalization_4_mean =  readTrainedWeights(batch_normalization_4_mean_path.c_str(), 0,1,64,1,1); 
+std::string batch_normalization_4_variance_path =  dir_prefix + std::string("batch_normalization_4_variance.bin"); 
+void* batch_normalization_4_variance =  readTrainedWeights(batch_normalization_4_variance_path.c_str(), 0,1,64,1,1); 
+std::string conv2d_3_w_path =  dir_prefix + std::string("conv2d_3_w.bin"); 
+void* conv2d_3_w =  readTrainedWeights(conv2d_3_w_path.c_str(), 0,128,64,1,1); 
+std::string batch_normalization_5_gamma_path =  dir_prefix + std::string("batch_normalization_5_gamma.bin"); 
+void* batch_normalization_5_gamma =  readTrainedWeights(batch_normalization_5_gamma_path.c_str(), 0,1,128,1,1); 
+std::string batch_normalization_5_beta_path =  dir_prefix + std::string("batch_normalization_5_beta.bin"); 
+void* batch_normalization_5_beta =  readTrainedWeights(batch_normalization_5_beta_path.c_str(), 0,1,128,1,1); 
+std::string batch_normalization_5_mean_path =  dir_prefix + std::string("batch_normalization_5_mean.bin"); 
+void* batch_normalization_5_mean =  readTrainedWeights(batch_normalization_5_mean_path.c_str(), 0,1,128,1,1); 
+std::string batch_normalization_5_variance_path =  dir_prefix + std::string("batch_normalization_5_variance.bin"); 
+void* batch_normalization_5_variance =  readTrainedWeights(batch_normalization_5_variance_path.c_str(), 0,1,128,1,1); 
+std::string depthwise_conv2d_3_w_path =  dir_prefix + std::string("depthwise_conv2d_3_w.bin"); 
+void* depthwise_conv2d_3_w =  readTrainedWeights(depthwise_conv2d_3_w_path.c_str(), 0,128,1,3,3); 
+std::string batch_normalization_6_gamma_path =  dir_prefix + std::string("batch_normalization_6_gamma.bin"); 
+void* batch_normalization_6_gamma =  readTrainedWeights(batch_normalization_6_gamma_path.c_str(), 0,1,128,1,1); 
+std::string batch_normalization_6_beta_path =  dir_prefix + std::string("batch_normalization_6_beta.bin"); 
+void* batch_normalization_6_beta =  readTrainedWeights(batch_normalization_6_beta_path.c_str(), 0,1,128,1,1); 
+std::string batch_normalization_6_mean_path =  dir_prefix + std::string("batch_normalization_6_mean.bin"); 
+void* batch_normalization_6_mean =  readTrainedWeights(batch_normalization_6_mean_path.c_str(), 0,1,128,1,1); 
+std::string batch_normalization_6_variance_path =  dir_prefix + std::string("batch_normalization_6_variance.bin"); 
+void* batch_normalization_6_variance =  readTrainedWeights(batch_normalization_6_variance_path.c_str(), 0,1,128,1,1); 
+std::string conv2d_4_w_path =  dir_prefix + std::string("conv2d_4_w.bin"); 
+void* conv2d_4_w =  readTrainedWeights(conv2d_4_w_path.c_str(), 0,128,128,1,1); 
+std::string batch_normalization_7_gamma_path =  dir_prefix + std::string("batch_normalization_7_gamma.bin"); 
+void* batch_normalization_7_gamma =  readTrainedWeights(batch_normalization_7_gamma_path.c_str(), 0,1,128,1,1); 
+std::string batch_normalization_7_beta_path =  dir_prefix + std::string("batch_normalization_7_beta.bin"); 
+void* batch_normalization_7_beta =  readTrainedWeights(batch_normalization_7_beta_path.c_str(), 0,1,128,1,1); 
+std::string batch_normalization_7_mean_path =  dir_prefix + std::string("batch_normalization_7_mean.bin"); 
+void* batch_normalization_7_mean =  readTrainedWeights(batch_normalization_7_mean_path.c_str(), 0,1,128,1,1); 
+std::string batch_normalization_7_variance_path =  dir_prefix + std::string("batch_normalization_7_variance.bin"); 
+void* batch_normalization_7_variance =  readTrainedWeights(batch_normalization_7_variance_path.c_str(), 0,1,128,1,1); 
+std::string depthwise_conv2d_4_w_path =  dir_prefix + std::string("depthwise_conv2d_4_w.bin"); 
+void* depthwise_conv2d_4_w =  readTrainedWeights(depthwise_conv2d_4_w_path.c_str(), 0,128,1,3,3); 
+std::string batch_normalization_8_gamma_path =  dir_prefix + std::string("batch_normalization_8_gamma.bin"); 
+void* batch_normalization_8_gamma =  readTrainedWeights(batch_normalization_8_gamma_path.c_str(), 0,1,128,1,1); 
+std::string batch_normalization_8_beta_path =  dir_prefix + std::string("batch_normalization_8_beta.bin"); 
+void* batch_normalization_8_beta =  readTrainedWeights(batch_normalization_8_beta_path.c_str(), 0,1,128,1,1); 
+std::string batch_normalization_8_mean_path =  dir_prefix + std::string("batch_normalization_8_mean.bin"); 
+void* batch_normalization_8_mean =  readTrainedWeights(batch_normalization_8_mean_path.c_str(), 0,1,128,1,1); 
+std::string batch_normalization_8_variance_path =  dir_prefix + std::string("batch_normalization_8_variance.bin"); 
+void* batch_normalization_8_variance =  readTrainedWeights(batch_normalization_8_variance_path.c_str(), 0,1,128,1,1); 
+std::string conv2d_5_w_path =  dir_prefix + std::string("conv2d_5_w.bin"); 
+void* conv2d_5_w =  readTrainedWeights(conv2d_5_w_path.c_str(), 0,256,128,1,1); 
+std::string batch_normalization_9_gamma_path =  dir_prefix + std::string("batch_normalization_9_gamma.bin"); 
+void* batch_normalization_9_gamma =  readTrainedWeights(batch_normalization_9_gamma_path.c_str(), 0,1,256,1,1); 
+std::string batch_normalization_9_beta_path =  dir_prefix + std::string("batch_normalization_9_beta.bin"); 
+void* batch_normalization_9_beta =  readTrainedWeights(batch_normalization_9_beta_path.c_str(), 0,1,256,1,1); 
+std::string batch_normalization_9_mean_path =  dir_prefix + std::string("batch_normalization_9_mean.bin"); 
+void* batch_normalization_9_mean =  readTrainedWeights(batch_normalization_9_mean_path.c_str(), 0,1,256,1,1); 
+std::string batch_normalization_9_variance_path =  dir_prefix + std::string("batch_normalization_9_variance.bin"); 
+void* batch_normalization_9_variance =  readTrainedWeights(batch_normalization_9_variance_path.c_str(), 0,1,256,1,1); 
+std::string depthwise_conv2d_5_w_path =  dir_prefix + std::string("depthwise_conv2d_5_w.bin"); 
+void* depthwise_conv2d_5_w =  readTrainedWeights(depthwise_conv2d_5_w_path.c_str(), 0,256,1,3,3); 
+std::string batch_normalization_10_gamma_path =  dir_prefix + std::string("batch_normalization_10_gamma.bin"); 
+void* batch_normalization_10_gamma =  readTrainedWeights(batch_normalization_10_gamma_path.c_str(), 0,1,256,1,1); 
+std::string batch_normalization_10_beta_path =  dir_prefix + std::string("batch_normalization_10_beta.bin"); 
+void* batch_normalization_10_beta =  readTrainedWeights(batch_normalization_10_beta_path.c_str(), 0,1,256,1,1); 
+std::string batch_normalization_10_mean_path =  dir_prefix + std::string("batch_normalization_10_mean.bin"); 
+void* batch_normalization_10_mean =  readTrainedWeights(batch_normalization_10_mean_path.c_str(), 0,1,256,1,1); 
+std::string batch_normalization_10_variance_path =  dir_prefix + std::string("batch_normalization_10_variance.bin"); 
+void* batch_normalization_10_variance =  readTrainedWeights(batch_normalization_10_variance_path.c_str(), 0,1,256,1,1); 
+std::string conv2d_6_w_path =  dir_prefix + std::string("conv2d_6_w.bin"); 
+void* conv2d_6_w =  readTrainedWeights(conv2d_6_w_path.c_str(), 0,256,256,1,1); 
+std::string batch_normalization_11_gamma_path =  dir_prefix + std::string("batch_normalization_11_gamma.bin"); 
+void* batch_normalization_11_gamma =  readTrainedWeights(batch_normalization_11_gamma_path.c_str(), 0,1,256,1,1); 
+std::string batch_normalization_11_beta_path =  dir_prefix + std::string("batch_normalization_11_beta.bin"); 
+void* batch_normalization_11_beta =  readTrainedWeights(batch_normalization_11_beta_path.c_str(), 0,1,256,1,1); 
+std::string batch_normalization_11_mean_path =  dir_prefix + std::string("batch_normalization_11_mean.bin"); 
+void* batch_normalization_11_mean =  readTrainedWeights(batch_normalization_11_mean_path.c_str(), 0,1,256,1,1); 
+std::string batch_normalization_11_variance_path =  dir_prefix + std::string("batch_normalization_11_variance.bin"); 
+void* batch_normalization_11_variance =  readTrainedWeights(batch_normalization_11_variance_path.c_str(), 0,1,256,1,1); 
+std::string depthwise_conv2d_6_w_path =  dir_prefix + std::string("depthwise_conv2d_6_w.bin"); 
+void* depthwise_conv2d_6_w =  readTrainedWeights(depthwise_conv2d_6_w_path.c_str(), 0,256,1,3,3); 
+std::string batch_normalization_12_gamma_path =  dir_prefix + std::string("batch_normalization_12_gamma.bin"); 
+void* batch_normalization_12_gamma =  readTrainedWeights(batch_normalization_12_gamma_path.c_str(), 0,1,256,1,1); 
+std::string batch_normalization_12_beta_path =  dir_prefix + std::string("batch_normalization_12_beta.bin"); 
+void* batch_normalization_12_beta =  readTrainedWeights(batch_normalization_12_beta_path.c_str(), 0,1,256,1,1); 
+std::string batch_normalization_12_mean_path =  dir_prefix + std::string("batch_normalization_12_mean.bin"); 
+void* batch_normalization_12_mean =  readTrainedWeights(batch_normalization_12_mean_path.c_str(), 0,1,256,1,1); 
+std::string batch_normalization_12_variance_path =  dir_prefix + std::string("batch_normalization_12_variance.bin"); 
+void* batch_normalization_12_variance =  readTrainedWeights(batch_normalization_12_variance_path.c_str(), 0,1,256,1,1); 
+std::string conv2d_7_w_path =  dir_prefix + std::string("conv2d_7_w.bin"); 
+void* conv2d_7_w =  readTrainedWeights(conv2d_7_w_path.c_str(), 0,512,256,1,1); 
+std::string batch_normalization_13_gamma_path =  dir_prefix + std::string("batch_normalization_13_gamma.bin"); 
+void* batch_normalization_13_gamma =  readTrainedWeights(batch_normalization_13_gamma_path.c_str(), 0,1,512,1,1); 
+std::string batch_normalization_13_beta_path =  dir_prefix + std::string("batch_normalization_13_beta.bin"); 
+void* batch_normalization_13_beta =  readTrainedWeights(batch_normalization_13_beta_path.c_str(), 0,1,512,1,1); 
+std::string batch_normalization_13_mean_path =  dir_prefix + std::string("batch_normalization_13_mean.bin"); 
+void* batch_normalization_13_mean =  readTrainedWeights(batch_normalization_13_mean_path.c_str(), 0,1,512,1,1); 
+std::string batch_normalization_13_variance_path =  dir_prefix + std::string("batch_normalization_13_variance.bin"); 
+void* batch_normalization_13_variance =  readTrainedWeights(batch_normalization_13_variance_path.c_str(), 0,1,512,1,1); 
+std::string dense_1_w_path =  dir_prefix + std::string("dense_1_w.bin"); 
+void* dense_1_w =  readTrainedWeights(dense_1_w_path.c_str(), 0,1,1,2048,10); 
+std::string dense_1_b_path =  dir_prefix + std::string("dense_1_b.bin"); 
+void* dense_1_b =  readTrainedWeights(dense_1_b_path.c_str(), 0,1,10,1,1); 
+void* input = readTrainedWeights(input_path.c_str(), 0,10000,3,32,32); 
+uint8_t* labels = readLabels(labels_path.c_str(),10000); 
+
+__visc__init(); 
+RootIn* args = static_cast<RootIn*>(malloc(sizeof(RootIn))); 
+
+args->input = input; 
+args->input_bytes = 0; 
+args->conv2d_1_w = conv2d_1_w; 
+args->conv2d_1_w_bytes = 0; 
+args->batch_normalization_1_gamma = batch_normalization_1_gamma; 
+args->batch_normalization_1_gamma_bytes = 0; 
+args->batch_normalization_1_beta = batch_normalization_1_beta; 
+args->batch_normalization_1_beta_bytes = 0; 
+args->batch_normalization_1_mean = batch_normalization_1_mean; 
+args->batch_normalization_1_mean_bytes = 0; 
+args->batch_normalization_1_variance = batch_normalization_1_variance; 
+args->batch_normalization_1_variance_bytes = 0; 
+args->depthwise_conv2d_1_w = depthwise_conv2d_1_w; 
+args->depthwise_conv2d_1_w_bytes = 0; 
+args->batch_normalization_2_gamma = batch_normalization_2_gamma; 
+args->batch_normalization_2_gamma_bytes = 0; 
+args->batch_normalization_2_beta = batch_normalization_2_beta; 
+args->batch_normalization_2_beta_bytes = 0; 
+args->batch_normalization_2_mean = batch_normalization_2_mean; 
+args->batch_normalization_2_mean_bytes = 0; 
+args->batch_normalization_2_variance = batch_normalization_2_variance; 
+args->batch_normalization_2_variance_bytes = 0; 
+args->conv2d_2_w = conv2d_2_w; 
+args->conv2d_2_w_bytes = 0; 
+args->batch_normalization_3_gamma = batch_normalization_3_gamma; 
+args->batch_normalization_3_gamma_bytes = 0; 
+args->batch_normalization_3_beta = batch_normalization_3_beta; 
+args->batch_normalization_3_beta_bytes = 0; 
+args->batch_normalization_3_mean = batch_normalization_3_mean; 
+args->batch_normalization_3_mean_bytes = 0; 
+args->batch_normalization_3_variance = batch_normalization_3_variance; 
+args->batch_normalization_3_variance_bytes = 0; 
+args->depthwise_conv2d_2_w = depthwise_conv2d_2_w; 
+args->depthwise_conv2d_2_w_bytes = 0; 
+args->batch_normalization_4_gamma = batch_normalization_4_gamma; 
+args->batch_normalization_4_gamma_bytes = 0; 
+args->batch_normalization_4_beta = batch_normalization_4_beta; 
+args->batch_normalization_4_beta_bytes = 0; 
+args->batch_normalization_4_mean = batch_normalization_4_mean; 
+args->batch_normalization_4_mean_bytes = 0; 
+args->batch_normalization_4_variance = batch_normalization_4_variance; 
+args->batch_normalization_4_variance_bytes = 0; 
+args->conv2d_3_w = conv2d_3_w; 
+args->conv2d_3_w_bytes = 0; 
+args->batch_normalization_5_gamma = batch_normalization_5_gamma; 
+args->batch_normalization_5_gamma_bytes = 0; 
+args->batch_normalization_5_beta = batch_normalization_5_beta; 
+args->batch_normalization_5_beta_bytes = 0; 
+args->batch_normalization_5_mean = batch_normalization_5_mean; 
+args->batch_normalization_5_mean_bytes = 0; 
+args->batch_normalization_5_variance = batch_normalization_5_variance; 
+args->batch_normalization_5_variance_bytes = 0; 
+args->depthwise_conv2d_3_w = depthwise_conv2d_3_w; 
+args->depthwise_conv2d_3_w_bytes = 0; 
+args->batch_normalization_6_gamma = batch_normalization_6_gamma; 
+args->batch_normalization_6_gamma_bytes = 0; 
+args->batch_normalization_6_beta = batch_normalization_6_beta; 
+args->batch_normalization_6_beta_bytes = 0; 
+args->batch_normalization_6_mean = batch_normalization_6_mean; 
+args->batch_normalization_6_mean_bytes = 0; 
+args->batch_normalization_6_variance = batch_normalization_6_variance; 
+args->batch_normalization_6_variance_bytes = 0; 
+args->conv2d_4_w = conv2d_4_w; 
+args->conv2d_4_w_bytes = 0; 
+args->batch_normalization_7_gamma = batch_normalization_7_gamma; 
+args->batch_normalization_7_gamma_bytes = 0; 
+args->batch_normalization_7_beta = batch_normalization_7_beta; 
+args->batch_normalization_7_beta_bytes = 0; 
+args->batch_normalization_7_mean = batch_normalization_7_mean; 
+args->batch_normalization_7_mean_bytes = 0; 
+args->batch_normalization_7_variance = batch_normalization_7_variance; 
+args->batch_normalization_7_variance_bytes = 0; 
+args->depthwise_conv2d_4_w = depthwise_conv2d_4_w; 
+args->depthwise_conv2d_4_w_bytes = 0; 
+args->batch_normalization_8_gamma = batch_normalization_8_gamma; 
+args->batch_normalization_8_gamma_bytes = 0; 
+args->batch_normalization_8_beta = batch_normalization_8_beta; 
+args->batch_normalization_8_beta_bytes = 0; 
+args->batch_normalization_8_mean = batch_normalization_8_mean; 
+args->batch_normalization_8_mean_bytes = 0; 
+args->batch_normalization_8_variance = batch_normalization_8_variance; 
+args->batch_normalization_8_variance_bytes = 0; 
+args->conv2d_5_w = conv2d_5_w; 
+args->conv2d_5_w_bytes = 0; 
+args->batch_normalization_9_gamma = batch_normalization_9_gamma; 
+args->batch_normalization_9_gamma_bytes = 0; 
+args->batch_normalization_9_beta = batch_normalization_9_beta; 
+args->batch_normalization_9_beta_bytes = 0; 
+args->batch_normalization_9_mean = batch_normalization_9_mean; 
+args->batch_normalization_9_mean_bytes = 0; 
+args->batch_normalization_9_variance = batch_normalization_9_variance; 
+args->batch_normalization_9_variance_bytes = 0; 
+args->depthwise_conv2d_5_w = depthwise_conv2d_5_w; 
+args->depthwise_conv2d_5_w_bytes = 0; 
+args->batch_normalization_10_gamma = batch_normalization_10_gamma; 
+args->batch_normalization_10_gamma_bytes = 0; 
+args->batch_normalization_10_beta = batch_normalization_10_beta; 
+args->batch_normalization_10_beta_bytes = 0; 
+args->batch_normalization_10_mean = batch_normalization_10_mean; 
+args->batch_normalization_10_mean_bytes = 0; 
+args->batch_normalization_10_variance = batch_normalization_10_variance; 
+args->batch_normalization_10_variance_bytes = 0; 
+args->conv2d_6_w = conv2d_6_w; 
+args->conv2d_6_w_bytes = 0; 
+args->batch_normalization_11_gamma = batch_normalization_11_gamma; 
+args->batch_normalization_11_gamma_bytes = 0; 
+args->batch_normalization_11_beta = batch_normalization_11_beta; 
+args->batch_normalization_11_beta_bytes = 0; 
+args->batch_normalization_11_mean = batch_normalization_11_mean; 
+args->batch_normalization_11_mean_bytes = 0; 
+args->batch_normalization_11_variance = batch_normalization_11_variance; 
+args->batch_normalization_11_variance_bytes = 0; 
+args->depthwise_conv2d_6_w = depthwise_conv2d_6_w; 
+args->depthwise_conv2d_6_w_bytes = 0; 
+args->batch_normalization_12_gamma = batch_normalization_12_gamma; 
+args->batch_normalization_12_gamma_bytes = 0; 
+args->batch_normalization_12_beta = batch_normalization_12_beta; 
+args->batch_normalization_12_beta_bytes = 0; 
+args->batch_normalization_12_mean = batch_normalization_12_mean; 
+args->batch_normalization_12_mean_bytes = 0; 
+args->batch_normalization_12_variance = batch_normalization_12_variance; 
+args->batch_normalization_12_variance_bytes = 0; 
+args->conv2d_7_w = conv2d_7_w; 
+args->conv2d_7_w_bytes = 0; 
+args->batch_normalization_13_gamma = batch_normalization_13_gamma; 
+args->batch_normalization_13_gamma_bytes = 0; 
+args->batch_normalization_13_beta = batch_normalization_13_beta; 
+args->batch_normalization_13_beta_bytes = 0; 
+args->batch_normalization_13_mean = batch_normalization_13_mean; 
+args->batch_normalization_13_mean_bytes = 0; 
+args->batch_normalization_13_variance = batch_normalization_13_variance; 
+args->batch_normalization_13_variance_bytes = 0; 
+args->dense_1_w = dense_1_w; 
+args->dense_1_w_bytes = 0; 
+args->dense_1_b = dense_1_b; 
+args->dense_1_b_bytes = 0; 
+
+void* dfg = __visc__launch(0, root, (void*) args); 
+
+__visc__wait(dfg); 
+
+void *result = static_cast<RootIn*>(args)->input; 
+hpvm_request_tensor(result, 0); 
+
+__visc__cleanup(); 
+ computeAccuracy2(labels, 10000, result); 
+return 0; 
+
+} 
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_10_beta.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_10_beta.bin
new file mode 100644
index 0000000000000000000000000000000000000000..5d9a0d95865637cfb783fb9a56d3ff2ecb57e868
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_10_beta.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_10_gamma.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_10_gamma.bin
new file mode 100644
index 0000000000000000000000000000000000000000..71147ba51b53f9b5f8ed84d3e12b3f60d04e88f0
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_10_gamma.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_10_mean.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_10_mean.bin
new file mode 100644
index 0000000000000000000000000000000000000000..f75ef27a6bde8cf45607b0e7957603ad5c767928
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_10_mean.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_10_variance.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_10_variance.bin
new file mode 100644
index 0000000000000000000000000000000000000000..cdbb02d6dcc67a983c949224e5ef2356cbed70ec
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_10_variance.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_11_beta.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_11_beta.bin
new file mode 100644
index 0000000000000000000000000000000000000000..a6d770acd50df688be127899d5ebc76a6b660108
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_11_beta.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_11_gamma.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_11_gamma.bin
new file mode 100644
index 0000000000000000000000000000000000000000..7d2add83b878940a6e83ff33ac8328b08218b036
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_11_gamma.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_11_mean.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_11_mean.bin
new file mode 100644
index 0000000000000000000000000000000000000000..481fa2d212a171377d79b38765b42481939abd0f
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_11_mean.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_11_variance.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_11_variance.bin
new file mode 100644
index 0000000000000000000000000000000000000000..99b00e0a82730dbf49cc6112379b6106b3538f24
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_11_variance.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_12_beta.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_12_beta.bin
new file mode 100644
index 0000000000000000000000000000000000000000..e2fa099a1b5df7840c7b5b2c8b9ec83bad07f238
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_12_beta.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_12_gamma.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_12_gamma.bin
new file mode 100644
index 0000000000000000000000000000000000000000..2c6d46a8c35a83ea5929e7b0b06980baf1ea8b08
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_12_gamma.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_12_mean.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_12_mean.bin
new file mode 100644
index 0000000000000000000000000000000000000000..4c46529e2774bb4fed9337394213ddfd6fa3b7a4
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_12_mean.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_12_variance.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_12_variance.bin
new file mode 100644
index 0000000000000000000000000000000000000000..8afde358ed8dffed9eca531e3ced41953036c926
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_12_variance.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_13_beta.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_13_beta.bin
new file mode 100644
index 0000000000000000000000000000000000000000..5192e8414e7349eb49f139c31d688349dfcaa915
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_13_beta.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_13_gamma.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_13_gamma.bin
new file mode 100644
index 0000000000000000000000000000000000000000..c7ba0b707e96c024bbdcf825a28f78522685b7e2
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_13_gamma.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_13_mean.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_13_mean.bin
new file mode 100644
index 0000000000000000000000000000000000000000..41c23352862bc90c6cb298fbda821712c919673b
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_13_mean.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_13_variance.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_13_variance.bin
new file mode 100644
index 0000000000000000000000000000000000000000..67aa92699f5da3e6384e2502fce4cf985d207e2c
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_13_variance.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_1_beta.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_1_beta.bin
new file mode 100644
index 0000000000000000000000000000000000000000..05d61c8e00f196b83dde7de794cc9feff2929582
--- /dev/null
+++ b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_1_beta.bin
@@ -0,0 +1,2 @@
+êâ®>@Hx>„jb¾Çå>:Ù*>YR¡>nÍ>ù}u?ýæ>¤ÌB?|¾bç&?ǁO?e=”?¿‹¸¾f'e¾8ƒ¸½è‹Î;Éï:?Ó
+‹?ˆþ„>½»>ŸÞ>î‚?˜5A?|6žàÒ>²•ݼÞ>?Ä1?nŸ¾u‡‚>
\ No newline at end of file
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_1_gamma.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_1_gamma.bin
new file mode 100644
index 0000000000000000000000000000000000000000..1aaaeaa110d8b9eb8108a1546302f8d5c1c12c35
--- /dev/null
+++ b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_1_gamma.bin
@@ -0,0 +1,2 @@
+³]ƒ?Ç/?®0€?]…o?­ƒ?ß­Œ?Vň?`Z?Gk„?±*`?žÐƒ?pÈ~?
*?+g ?4
+u?Òü?Qƒ?|?š	O??ä?K{?^5Œ?ÃÜ‚?£?…ØA?žTr?1y?÷€?!56?&ñƒ?HWv?§^‚?
\ No newline at end of file
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_1_mean.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_1_mean.bin
new file mode 100644
index 0000000000000000000000000000000000000000..ffcd3adfeac9b601872fa59caa42601fdc10494c
--- /dev/null
+++ b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_1_mean.bin
@@ -0,0 +1 @@
+ˆG¢¹$=ã®Ý;9Oü¼ø-'<p;K<
à»Þâ€;žcé¼K!¼“¿œ<õön¼M9 ;¬…;’½î3ì<¯Á;¨`…<|¾¼þæ:¼;ÿ%=÷»L¶Z»)z·»ªfºS:Œ<j*>»¾M<¨u» û;%;þ;ñ&J:
\ No newline at end of file
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_1_variance.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_1_variance.bin
new file mode 100644
index 0000000000000000000000000000000000000000..f29dc5a9db7e4fe9783917749bd151ce80e40702
--- /dev/null
+++ b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_1_variance.bin
@@ -0,0 +1 @@
+ÃÅn@éA²£š?ä+@"@9ÛÞ@áÀ(@•¹÷>Ò¢Á@ƒ'E@)¡@øˆ+@œZž>«Ç?A?¤A˜x°A0ªª?®¯#AÿΕ@«Vì>~ÑÅAg«“@VúAÿ>;j@š”@j¯ø?.AB¾>œê;@ø#û?Q	~@
\ No newline at end of file
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_2_beta.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_2_beta.bin
new file mode 100644
index 0000000000000000000000000000000000000000..ba12532332cec1d6ee20d16d04be81575a8f0802
--- /dev/null
+++ b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_2_beta.bin
@@ -0,0 +1 @@
+N?¶k©¾¬r>{_?kÙy¾R?fÀ?ä%Q?“k¾åœ­?—õ^½go?=9L>A†?ím½Ôm	¿†ǽR?²¾íO‡?àhv?ìt4¾ÙN?cá~?i«Ÿ?¹[?•ï¾<M_>Êõö¾>ðn½rÞ¾?	Ž?¼êªE=
\ No newline at end of file
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_2_gamma.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_2_gamma.bin
new file mode 100644
index 0000000000000000000000000000000000000000..bf0dd075d19280dfcda711fd95eeab6fb429b8f5
--- /dev/null
+++ b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_2_gamma.bin
@@ -0,0 +1 @@
+L¾ö>üiQ?-)]?!0?Lw_?`Ë…?ö%4?sÚ¢?²È7?œé`?Ò¿b?¬Y?hv?MC	@\ÞY?ñ8P?”Ü\?»QI?ë8?ʤ‘?Ëîl?`¥&?,S?&›?wxr?Ãl_?@8l?k<,?6Ä…?Y={?YjC?2L>?
\ No newline at end of file
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_2_mean.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_2_mean.bin
new file mode 100644
index 0000000000000000000000000000000000000000..faec424f63fab99e4ba00101a005c1b84cb2f8f3
--- /dev/null
+++ b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_2_mean.bin
@@ -0,0 +1,2 @@
+’D´¿hJ¿úVN¿ŠÊ>?Ú%8¿¶œf?U_C¾]º¤½†Ã?çv=Ü"¾Ï6¾g½&¾òß[>`"¿0Õ8>•¿Fô¦¾i³?Z?=鯿‰\TÀ
5[?&Ñ6>Ÿÿ.¿ýkn¾Ú4•>p%5¿Î(>"×>Ù
+¿p²M>
\ No newline at end of file
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_2_variance.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_2_variance.bin
new file mode 100644
index 0000000000000000000000000000000000000000..80125312bc29cc27bcb9a51db2d206c70b19c25d
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_2_variance.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_3_beta.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_3_beta.bin
new file mode 100644
index 0000000000000000000000000000000000000000..0a7e5127f93e4f3e77893c02209dd34f92fcde00
--- /dev/null
+++ b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_3_beta.bin
@@ -0,0 +1,2 @@
+ùEͽý¨½õž9¾pÊ>Ûàÿ½›³>Ÿÿ²>£f>’ë¾Ó‹Ý¹"å>¼½–¾
+ð~¾½¼¾Üöý==Á‹=ä!>D>°©>’çn>£ç;(+Ö=Ÿ‡?Üÿl?m¾$0`>¥¡<¸Ïy?Vál?‚­?(Ò'½Y?o>uƒ@>€q>…ö>ë}î>fÓW?K>¿»
?)?F¿¾Ÿ¯Y¾Ý¯?·°—>YdL¾–ZC?þÕ÷=?pUV?þV]>›Â©¾å=9{/>ɒ޽«U>¸ŠÖ½*Ï&>1Í;Mj1¾B‡A=™¾ü½æ…)?!3?
\ No newline at end of file
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_3_gamma.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_3_gamma.bin
new file mode 100644
index 0000000000000000000000000000000000000000..ab4be7e7af315799ddc2f371e09442d81c81ec9e
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_3_gamma.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_3_mean.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_3_mean.bin
new file mode 100644
index 0000000000000000000000000000000000000000..5c4cccbc2d7756430aba85f100d164425b7b7559
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_3_mean.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_3_variance.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_3_variance.bin
new file mode 100644
index 0000000000000000000000000000000000000000..88e0320d9764ac47a0ffeccd912430db4e3a70ad
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_3_variance.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_4_beta.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_4_beta.bin
new file mode 100644
index 0000000000000000000000000000000000000000..78b0f312269445116d4b9e05d3f2f85730509d46
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_4_beta.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_4_gamma.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_4_gamma.bin
new file mode 100644
index 0000000000000000000000000000000000000000..cc9ac2a0fcc9dc57b61c54d13f9cdaba8bf045c9
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_4_gamma.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_4_mean.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_4_mean.bin
new file mode 100644
index 0000000000000000000000000000000000000000..e184ea4954ffe0e8070fd467bc90093c142ee754
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_4_mean.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_4_variance.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_4_variance.bin
new file mode 100644
index 0000000000000000000000000000000000000000..dd6c0672454934523c04c2e124bb64d024c2207f
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_4_variance.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_5_beta.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_5_beta.bin
new file mode 100644
index 0000000000000000000000000000000000000000..d111c363bdab8b36db98fcefcd2eb61e080eadd4
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_5_beta.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_5_gamma.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_5_gamma.bin
new file mode 100644
index 0000000000000000000000000000000000000000..aae71935a9ec2124e203c921e2d2ca570f3aa2a8
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_5_gamma.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_5_mean.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_5_mean.bin
new file mode 100644
index 0000000000000000000000000000000000000000..b4675bad00eddb39999c5411eb225f9d13a22fc4
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_5_mean.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_5_variance.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_5_variance.bin
new file mode 100644
index 0000000000000000000000000000000000000000..f8126c266f398a9013241ee5d97fe42beaa5bb37
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_5_variance.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_6_beta.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_6_beta.bin
new file mode 100644
index 0000000000000000000000000000000000000000..c18a950b0d0acca31f82e84135c392e348868011
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_6_beta.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_6_gamma.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_6_gamma.bin
new file mode 100644
index 0000000000000000000000000000000000000000..92bc587a86c98aadc5549f3da65b4f74e812b2fb
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_6_gamma.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_6_mean.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_6_mean.bin
new file mode 100644
index 0000000000000000000000000000000000000000..c888f2c909ac6d95871fe944b6b4f51242d4eb8a
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_6_mean.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_6_variance.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_6_variance.bin
new file mode 100644
index 0000000000000000000000000000000000000000..a5a799857b7cc50a9aa8208aab08e7270dccca5b
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_6_variance.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_7_beta.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_7_beta.bin
new file mode 100644
index 0000000000000000000000000000000000000000..ab02be5f352315724b5ca3b59e33ff085f46207d
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_7_beta.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_7_gamma.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_7_gamma.bin
new file mode 100644
index 0000000000000000000000000000000000000000..72c58ae29db08ac94c3b9b778ea015405cb9d3f6
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_7_gamma.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_7_mean.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_7_mean.bin
new file mode 100644
index 0000000000000000000000000000000000000000..7f0e01a07c23faa2101cbf299ea9d35fe3d5e3ec
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_7_mean.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_7_variance.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_7_variance.bin
new file mode 100644
index 0000000000000000000000000000000000000000..094474aca2ad49d1400c71d9acbfcd1631c7be18
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_7_variance.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_8_beta.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_8_beta.bin
new file mode 100644
index 0000000000000000000000000000000000000000..5f92c58a7c47c207a98a77f6961410d08e8446f0
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_8_beta.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_8_gamma.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_8_gamma.bin
new file mode 100644
index 0000000000000000000000000000000000000000..6ab36ce54740e9e4a4e4948684e0e4fbbd71b1cb
--- /dev/null
+++ b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_8_gamma.bin
@@ -0,0 +1,3 @@
+œ®?œË?®m‚?…4?¸µ?µ¦?ã?‡F'?nÑ#? 
+=?sˆ.?V>“?m¹?æÓD?	SÁ?§7?Š›¼?
‡?É&?qä™?§§?Ä'?"ZN?aég?"ò*?&.)?ÕM?%??Ы?%Œ1?Å:?æ! ?”O:?ÐѨ?9½*?õ¬?w¨?ÎÁT?HÆ
+?%„?ª)?‚e&?x°?‡Ë?µ«±?ÏÜ?C1?w¯?kì>?  ?uD?£òˆ?²’Ÿ?µ¢G?!0?Ñãœ?eŠ2?!b$?úK¬? d?Ü6¨?è‰?2À¹?÷f?ñ?ᆱ?»g?zT@?<e,?Å@7?z‚0?W*:?)‘+?£?(?«Ø;?ùI±?·Œ?Œ	?²Í?Ä2?o¶ª?¾­)? ?N³V?ßHž?Ç-?ü,-??#?HÄ?¾À}?pG?Yù#?HÁ?0è?„U?'%?u‘?£Í?O«?©é¨?ÉN›?£ED?@œ?¨À˜?v™?>²?G²?”?¶?‡ ?Y·¬?j?´ØP?^À?Xܘ?…ì?°bG?¨¨?で?r¨+?绤?ŸG£?¿¬E?&6%?áˆ?ô²?"
£?¿®›?-4?
\ No newline at end of file
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_8_mean.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_8_mean.bin
new file mode 100644
index 0000000000000000000000000000000000000000..5d093813a0926dd3c1c67b6f50e092465101fde9
--- /dev/null
+++ b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_8_mean.bin
@@ -0,0 +1,4 @@
+¡‰>-	¿Â¿ZF%>Õ#
+¿7æ¾*~>Šß;>€Ó3>P^P>¯ÓX>íÝ¿2 Ë=Æô”>¡o"¿©àÕ>EX$¿30	>œË©<tпh{W>LÕˆ>¨Â>KZâ>+_>;™>€g¾>ÒjÇ>ô¿C‘>í>I“#¿2‹Ï>üfÁ¾‡ø+>4rc>•—˾‘÷´>ZœÕ=V±ì=Ü^é=ƒv‘>[;û¾sˆ=ÓŒ¿Ë“>@AI>¸:¿ÿäD>c˜Z>Žè–>'Š¿t7¿¬?~>gÈ{=ê© ¿9½>Jr'>ðg¿(=d>X)ÿ¾œÉL>)I¿{>ÛfC>ÅS¿”š¥>ô„Ï>í?¹>O>=>>¥>ˆ§‡>¿]&=¡q…>‘)¿Î
+¿-N>Cü=H÷>Úªø¾9>êü>+Ó>Û¿ÀDB>xÈn>²ï9>h›[>Æ•ì¾ôn–>ušp>|Zi>ûÊ—>ՏY>|‚7>îÓ‹=‹Ú÷=ðŠ´¾=—¿ µÓ¾Œ_^>Òr!¿bâ¾ÏÍÞ¾Ԑ>#鿌rH¿¾îƒ>ñ÷¿fP>å­B>â:/¿I	ƾà(r>[ïa>`
+¿O£¿c@à=A¯Û¾Y'¿‚°>3>P2F>  ¿Ä ¿ò¿&;>
\ No newline at end of file
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_8_variance.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_8_variance.bin
new file mode 100644
index 0000000000000000000000000000000000000000..edf6463b0ca999595327a9dc300242a9e58c1fb8
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_8_variance.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_9_beta.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_9_beta.bin
new file mode 100644
index 0000000000000000000000000000000000000000..ad3f1dc8965ba641749d65a5d0c5b32ab40c5dd4
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_9_beta.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_9_gamma.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_9_gamma.bin
new file mode 100644
index 0000000000000000000000000000000000000000..ec2b90646b3c7f21565e4972638e746e71a2b5bb
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_9_gamma.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_9_mean.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_9_mean.bin
new file mode 100644
index 0000000000000000000000000000000000000000..47b2393cf22e01162577be3e361a1a40caec6bb8
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_9_mean.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_9_variance.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_9_variance.bin
new file mode 100644
index 0000000000000000000000000000000000000000..fb0c96059789a653f0d064e2c4743287b213d90d
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/batch_normalization_9_variance.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/conv2d_1_w.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/conv2d_1_w.bin
new file mode 100644
index 0000000000000000000000000000000000000000..3e10934df8c5194e89ced8a8c6dfc0c496d63659
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/conv2d_1_w.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/conv2d_2_w.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/conv2d_2_w.bin
new file mode 100644
index 0000000000000000000000000000000000000000..b156a80dbbad1956afde6c953b760fe3147f86dd
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/conv2d_2_w.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/conv2d_3_w.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/conv2d_3_w.bin
new file mode 100644
index 0000000000000000000000000000000000000000..39ccf4d05b623c02ad5c86aa537804df697b2eca
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/conv2d_3_w.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/conv2d_4_w.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/conv2d_4_w.bin
new file mode 100644
index 0000000000000000000000000000000000000000..19fa2c8035b9439be46392feee277b1e2c796994
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/conv2d_4_w.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/conv2d_5_w.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/conv2d_5_w.bin
new file mode 100644
index 0000000000000000000000000000000000000000..79d3b1efe6c1d18ce86fea69602f161425c76421
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/conv2d_5_w.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/conv2d_6_w.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/conv2d_6_w.bin
new file mode 100644
index 0000000000000000000000000000000000000000..fc7d758888153e7a52ebb59e8db7822d5ca58283
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/conv2d_6_w.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/conv2d_7_w.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/conv2d_7_w.bin
new file mode 100644
index 0000000000000000000000000000000000000000..d569ea19a45477b991af7bce4aa14289bb3858a4
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/conv2d_7_w.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/dense_1_b.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/dense_1_b.bin
new file mode 100644
index 0000000000000000000000000000000000000000..dde75645d79ba2039e975a4cb2892f2cdca58038
--- /dev/null
+++ b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/dense_1_b.bin
@@ -0,0 +1 @@
+êÞ^>ÂX`¾q=Ï·‡>Hp‚>°¾¾B—b>6ÁU¾$ƒt¾½M¾
\ No newline at end of file
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/dense_1_w.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/dense_1_w.bin
new file mode 100644
index 0000000000000000000000000000000000000000..e053b5d9d9ca19466225106fd9ad109d55e32cdb
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/dense_1_w.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/depthwise_conv2d_1_w.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/depthwise_conv2d_1_w.bin
new file mode 100644
index 0000000000000000000000000000000000000000..b0948ad7c455ab26b7a500823da78dd2ebdf5a2f
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/depthwise_conv2d_1_w.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/depthwise_conv2d_2_w.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/depthwise_conv2d_2_w.bin
new file mode 100644
index 0000000000000000000000000000000000000000..673879938fec8d6cea506ceba413479fe5305a72
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/depthwise_conv2d_2_w.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/depthwise_conv2d_3_w.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/depthwise_conv2d_3_w.bin
new file mode 100644
index 0000000000000000000000000000000000000000..19e9c200ad108dcafbdac74c614b3fe637a76e0b
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/depthwise_conv2d_3_w.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/depthwise_conv2d_4_w.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/depthwise_conv2d_4_w.bin
new file mode 100644
index 0000000000000000000000000000000000000000..036b5573250744da275f27bca679c5eea90f8d67
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/depthwise_conv2d_4_w.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/depthwise_conv2d_5_w.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/depthwise_conv2d_5_w.bin
new file mode 100644
index 0000000000000000000000000000000000000000..870049e69e3783cf45939876c6b8717033d6cce7
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/depthwise_conv2d_5_w.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/depthwise_conv2d_6_w.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/depthwise_conv2d_6_w.bin
new file mode 100644
index 0000000000000000000000000000000000000000..f23ffe4c99eaac8f9f6d96d48f7312e25347f86f
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/depthwise_conv2d_6_w.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/input.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/input.bin
new file mode 100644
index 0000000000000000000000000000000000000000..7a6fbc28f5a947a90863278a5249303f9f52741b
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/input.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/labels.bin b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/labels.bin
new file mode 100644
index 0000000000000000000000000000000000000000..7172750913a297f331af9ba88bce0d3e49968d47
Binary files /dev/null and b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/labels.bin differ
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/layer_composition.txt b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/layer_composition.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9b8b3f7e11a428a28fecbde2c204bf39b7e02703
--- /dev/null
+++ b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/layer_composition.txt
@@ -0,0 +1,41 @@
+conv  
+batchnorm  
+activation  
+depthwise_conv  
+batchnorm  
+activation  
+conv  
+batchnorm  
+activation  
+depthwise_conv  
+batchnorm  
+activation  
+conv  
+batchnorm  
+activation  
+depthwise_conv  
+batchnorm  
+activation  
+conv  
+batchnorm  
+activation  
+depthwise_conv  
+batchnorm  
+activation  
+conv  
+batchnorm  
+activation  
+depthwise_conv  
+batchnorm  
+activation  
+conv  
+batchnorm  
+activation  
+depthwise_conv  
+batchnorm  
+activation  
+conv  
+batchnorm  
+activation  
+pool  
+dense  add  
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/layers.txt b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/layers.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a9415755180a7ebdceb89b7e3e6d6cee258b18c4
--- /dev/null
+++ b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/layers.txt
@@ -0,0 +1,41 @@
+Conv1,10000,3,32,32,32,3,3,3
+#tensorBatchNorm1
+#tensorRelu1
+#tensorDepthwiseConv1
+#tensorBatchNorm2
+#tensorRelu2
+Conv2,10000,32,32,32,64,32,1,1
+#tensorBatchNorm3
+#tensorRelu3
+#tensorDepthwiseConv2
+#tensorBatchNorm4
+#tensorRelu4
+Conv3,10000,64,16,16,128,64,1,1
+#tensorBatchNorm5
+#tensorRelu5
+#tensorDepthwiseConv3
+#tensorBatchNorm6
+#tensorRelu6
+Conv4,10000,128,16,16,128,128,1,1
+#tensorBatchNorm7
+#tensorRelu7
+#tensorDepthwiseConv4
+#tensorBatchNorm8
+#tensorRelu8
+Conv5,10000,128,8,8,256,128,1,1
+#tensorBatchNorm9
+#tensorRelu9
+#tensorDepthwiseConv5
+#tensorBatchNorm10
+#tensorRelu10
+Conv6,10000,256,8,8,256,256,1,1
+#tensorBatchNorm11
+#tensorRelu11
+#tensorDepthwiseConv6
+#tensorBatchNorm12
+#tensorRelu12
+Conv7,10000,256,4,4,512,256,1,1
+#tensorBatchNorm13
+#tensorRelu13
+#tensorPooling1
+FC1,10000,2048,2048,10
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/promise_src.cc b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/promise_src.cc
new file mode 100644
index 0000000000000000000000000000000000000000..c5fd3606da51281bc2c583e98f024bd2f54f837b
--- /dev/null
+++ b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/promise_src.cc
@@ -0,0 +1,238 @@
+
+#include <stdio.h> 
+#include <stdlib.h> 
+#include <unistd.h> 
+#include <fcntl.h> 
+#include <sys/types.h> 
+#include <sys/stat.h> 
+#include <string.h> 
+#include "../../../tensor_runtime/include/tensor_runtime.h" 
+#include "../../include/utils.h" 
+
+int main(){ 
+
+llvm_hpvm_initTensorRt(0); 
+
+int total_runs = 100; 
+for (int i = 0 ; i < total_runs; i++){ 
+
+
+startMemTracking(); 
+
+int test_input_size = 10000; 
+int batch_size = 10000; 
+int batch_count = test_input_size / batch_size; 
+float final_accuracy = 0.0; 
+
+for(int i = 0; i < batch_count; i++){ 
+
+
+
+std::string dir_prefix = std::string("data/mobilenet_shallow_nathan/"); 
+std::string input_path =  dir_prefix + std::string("input.bin"); 
+std::string labels_path =  dir_prefix + std::string("labels.bin"); 
+std::string conv2d_1_w_path =  dir_prefix + std::string("conv2d_1_w.bin"); 
+void* conv2d_1_w =  readTrainedWeights(conv2d_1_w_path.c_str(), 0,32,3,3,3); 
+std::string batch_normalization_1_gamma_path =  dir_prefix + std::string("batch_normalization_1_gamma.bin"); 
+void* batch_normalization_1_gamma =  readTrainedWeights(batch_normalization_1_gamma_path.c_str(), 0,1,32,1,1); 
+std::string batch_normalization_1_beta_path =  dir_prefix + std::string("batch_normalization_1_beta.bin"); 
+void* batch_normalization_1_beta =  readTrainedWeights(batch_normalization_1_beta_path.c_str(), 0,1,32,1,1); 
+std::string batch_normalization_1_mean_path =  dir_prefix + std::string("batch_normalization_1_mean.bin"); 
+void* batch_normalization_1_mean =  readTrainedWeights(batch_normalization_1_mean_path.c_str(), 0,1,32,1,1); 
+std::string batch_normalization_1_variance_path =  dir_prefix + std::string("batch_normalization_1_variance.bin"); 
+void* batch_normalization_1_variance =  readTrainedWeights(batch_normalization_1_variance_path.c_str(), 0,1,32,1,1); 
+std::string depthwise_conv2d_1_w_path =  dir_prefix + std::string("depthwise_conv2d_1_w.bin"); 
+void* depthwise_conv2d_1_w =  readTrainedWeights(depthwise_conv2d_1_w_path.c_str(), 0,32,1,3,3); 
+std::string batch_normalization_2_gamma_path =  dir_prefix + std::string("batch_normalization_2_gamma.bin"); 
+void* batch_normalization_2_gamma =  readTrainedWeights(batch_normalization_2_gamma_path.c_str(), 0,1,32,1,1); 
+std::string batch_normalization_2_beta_path =  dir_prefix + std::string("batch_normalization_2_beta.bin"); 
+void* batch_normalization_2_beta =  readTrainedWeights(batch_normalization_2_beta_path.c_str(), 0,1,32,1,1); 
+std::string batch_normalization_2_mean_path =  dir_prefix + std::string("batch_normalization_2_mean.bin"); 
+void* batch_normalization_2_mean =  readTrainedWeights(batch_normalization_2_mean_path.c_str(), 0,1,32,1,1); 
+std::string batch_normalization_2_variance_path =  dir_prefix + std::string("batch_normalization_2_variance.bin"); 
+void* batch_normalization_2_variance =  readTrainedWeights(batch_normalization_2_variance_path.c_str(), 0,1,32,1,1); 
+std::string conv2d_2_w_path =  dir_prefix + std::string("conv2d_2_w.bin"); 
+void* conv2d_2_w =  readTrainedWeights(conv2d_2_w_path.c_str(), 0,64,32,1,1); 
+std::string batch_normalization_3_gamma_path =  dir_prefix + std::string("batch_normalization_3_gamma.bin"); 
+void* batch_normalization_3_gamma =  readTrainedWeights(batch_normalization_3_gamma_path.c_str(), 0,1,64,1,1); 
+std::string batch_normalization_3_beta_path =  dir_prefix + std::string("batch_normalization_3_beta.bin"); 
+void* batch_normalization_3_beta =  readTrainedWeights(batch_normalization_3_beta_path.c_str(), 0,1,64,1,1); 
+std::string batch_normalization_3_mean_path =  dir_prefix + std::string("batch_normalization_3_mean.bin"); 
+void* batch_normalization_3_mean =  readTrainedWeights(batch_normalization_3_mean_path.c_str(), 0,1,64,1,1); 
+std::string batch_normalization_3_variance_path =  dir_prefix + std::string("batch_normalization_3_variance.bin"); 
+void* batch_normalization_3_variance =  readTrainedWeights(batch_normalization_3_variance_path.c_str(), 0,1,64,1,1); 
+std::string depthwise_conv2d_2_w_path =  dir_prefix + std::string("depthwise_conv2d_2_w.bin"); 
+void* depthwise_conv2d_2_w =  readTrainedWeights(depthwise_conv2d_2_w_path.c_str(), 0,64,1,3,3); 
+std::string batch_normalization_4_gamma_path =  dir_prefix + std::string("batch_normalization_4_gamma.bin"); 
+void* batch_normalization_4_gamma =  readTrainedWeights(batch_normalization_4_gamma_path.c_str(), 0,1,64,1,1); 
+std::string batch_normalization_4_beta_path =  dir_prefix + std::string("batch_normalization_4_beta.bin"); 
+void* batch_normalization_4_beta =  readTrainedWeights(batch_normalization_4_beta_path.c_str(), 0,1,64,1,1); 
+std::string batch_normalization_4_mean_path =  dir_prefix + std::string("batch_normalization_4_mean.bin"); 
+void* batch_normalization_4_mean =  readTrainedWeights(batch_normalization_4_mean_path.c_str(), 0,1,64,1,1); 
+std::string batch_normalization_4_variance_path =  dir_prefix + std::string("batch_normalization_4_variance.bin"); 
+void* batch_normalization_4_variance =  readTrainedWeights(batch_normalization_4_variance_path.c_str(), 0,1,64,1,1); 
+std::string conv2d_3_w_path =  dir_prefix + std::string("conv2d_3_w.bin"); 
+void* conv2d_3_w =  readTrainedWeights(conv2d_3_w_path.c_str(), 0,128,64,1,1); 
+std::string batch_normalization_5_gamma_path =  dir_prefix + std::string("batch_normalization_5_gamma.bin"); 
+void* batch_normalization_5_gamma =  readTrainedWeights(batch_normalization_5_gamma_path.c_str(), 0,1,128,1,1); 
+std::string batch_normalization_5_beta_path =  dir_prefix + std::string("batch_normalization_5_beta.bin"); 
+void* batch_normalization_5_beta =  readTrainedWeights(batch_normalization_5_beta_path.c_str(), 0,1,128,1,1); 
+std::string batch_normalization_5_mean_path =  dir_prefix + std::string("batch_normalization_5_mean.bin"); 
+void* batch_normalization_5_mean =  readTrainedWeights(batch_normalization_5_mean_path.c_str(), 0,1,128,1,1); 
+std::string batch_normalization_5_variance_path =  dir_prefix + std::string("batch_normalization_5_variance.bin"); 
+void* batch_normalization_5_variance =  readTrainedWeights(batch_normalization_5_variance_path.c_str(), 0,1,128,1,1); 
+std::string depthwise_conv2d_3_w_path =  dir_prefix + std::string("depthwise_conv2d_3_w.bin"); 
+void* depthwise_conv2d_3_w =  readTrainedWeights(depthwise_conv2d_3_w_path.c_str(), 0,128,1,3,3); 
+std::string batch_normalization_6_gamma_path =  dir_prefix + std::string("batch_normalization_6_gamma.bin"); 
+void* batch_normalization_6_gamma =  readTrainedWeights(batch_normalization_6_gamma_path.c_str(), 0,1,128,1,1); 
+std::string batch_normalization_6_beta_path =  dir_prefix + std::string("batch_normalization_6_beta.bin"); 
+void* batch_normalization_6_beta =  readTrainedWeights(batch_normalization_6_beta_path.c_str(), 0,1,128,1,1); 
+std::string batch_normalization_6_mean_path =  dir_prefix + std::string("batch_normalization_6_mean.bin"); 
+void* batch_normalization_6_mean =  readTrainedWeights(batch_normalization_6_mean_path.c_str(), 0,1,128,1,1); 
+std::string batch_normalization_6_variance_path =  dir_prefix + std::string("batch_normalization_6_variance.bin"); 
+void* batch_normalization_6_variance =  readTrainedWeights(batch_normalization_6_variance_path.c_str(), 0,1,128,1,1); 
+std::string conv2d_4_w_path =  dir_prefix + std::string("conv2d_4_w.bin"); 
+void* conv2d_4_w =  readTrainedWeights(conv2d_4_w_path.c_str(), 0,128,128,1,1); 
+std::string batch_normalization_7_gamma_path =  dir_prefix + std::string("batch_normalization_7_gamma.bin"); 
+void* batch_normalization_7_gamma =  readTrainedWeights(batch_normalization_7_gamma_path.c_str(), 0,1,128,1,1); 
+std::string batch_normalization_7_beta_path =  dir_prefix + std::string("batch_normalization_7_beta.bin"); 
+void* batch_normalization_7_beta =  readTrainedWeights(batch_normalization_7_beta_path.c_str(), 0,1,128,1,1); 
+std::string batch_normalization_7_mean_path =  dir_prefix + std::string("batch_normalization_7_mean.bin"); 
+void* batch_normalization_7_mean =  readTrainedWeights(batch_normalization_7_mean_path.c_str(), 0,1,128,1,1); 
+std::string batch_normalization_7_variance_path =  dir_prefix + std::string("batch_normalization_7_variance.bin"); 
+void* batch_normalization_7_variance =  readTrainedWeights(batch_normalization_7_variance_path.c_str(), 0,1,128,1,1); 
+std::string depthwise_conv2d_4_w_path =  dir_prefix + std::string("depthwise_conv2d_4_w.bin"); 
+void* depthwise_conv2d_4_w =  readTrainedWeights(depthwise_conv2d_4_w_path.c_str(), 0,128,1,3,3); 
+std::string batch_normalization_8_gamma_path =  dir_prefix + std::string("batch_normalization_8_gamma.bin"); 
+void* batch_normalization_8_gamma =  readTrainedWeights(batch_normalization_8_gamma_path.c_str(), 0,1,128,1,1); 
+std::string batch_normalization_8_beta_path =  dir_prefix + std::string("batch_normalization_8_beta.bin"); 
+void* batch_normalization_8_beta =  readTrainedWeights(batch_normalization_8_beta_path.c_str(), 0,1,128,1,1); 
+std::string batch_normalization_8_mean_path =  dir_prefix + std::string("batch_normalization_8_mean.bin"); 
+void* batch_normalization_8_mean =  readTrainedWeights(batch_normalization_8_mean_path.c_str(), 0,1,128,1,1); 
+std::string batch_normalization_8_variance_path =  dir_prefix + std::string("batch_normalization_8_variance.bin"); 
+void* batch_normalization_8_variance =  readTrainedWeights(batch_normalization_8_variance_path.c_str(), 0,1,128,1,1); 
+std::string conv2d_5_w_path =  dir_prefix + std::string("conv2d_5_w.bin"); 
+void* conv2d_5_w =  readTrainedWeights(conv2d_5_w_path.c_str(), 0,256,128,1,1); 
+std::string batch_normalization_9_gamma_path =  dir_prefix + std::string("batch_normalization_9_gamma.bin"); 
+void* batch_normalization_9_gamma =  readTrainedWeights(batch_normalization_9_gamma_path.c_str(), 0,1,256,1,1); 
+std::string batch_normalization_9_beta_path =  dir_prefix + std::string("batch_normalization_9_beta.bin"); 
+void* batch_normalization_9_beta =  readTrainedWeights(batch_normalization_9_beta_path.c_str(), 0,1,256,1,1); 
+std::string batch_normalization_9_mean_path =  dir_prefix + std::string("batch_normalization_9_mean.bin"); 
+void* batch_normalization_9_mean =  readTrainedWeights(batch_normalization_9_mean_path.c_str(), 0,1,256,1,1); 
+std::string batch_normalization_9_variance_path =  dir_prefix + std::string("batch_normalization_9_variance.bin"); 
+void* batch_normalization_9_variance =  readTrainedWeights(batch_normalization_9_variance_path.c_str(), 0,1,256,1,1); 
+std::string depthwise_conv2d_5_w_path =  dir_prefix + std::string("depthwise_conv2d_5_w.bin"); 
+void* depthwise_conv2d_5_w =  readTrainedWeights(depthwise_conv2d_5_w_path.c_str(), 0,256,1,3,3); 
+std::string batch_normalization_10_gamma_path =  dir_prefix + std::string("batch_normalization_10_gamma.bin"); 
+void* batch_normalization_10_gamma =  readTrainedWeights(batch_normalization_10_gamma_path.c_str(), 0,1,256,1,1); 
+std::string batch_normalization_10_beta_path =  dir_prefix + std::string("batch_normalization_10_beta.bin"); 
+void* batch_normalization_10_beta =  readTrainedWeights(batch_normalization_10_beta_path.c_str(), 0,1,256,1,1); 
+std::string batch_normalization_10_mean_path =  dir_prefix + std::string("batch_normalization_10_mean.bin"); 
+void* batch_normalization_10_mean =  readTrainedWeights(batch_normalization_10_mean_path.c_str(), 0,1,256,1,1); 
+std::string batch_normalization_10_variance_path =  dir_prefix + std::string("batch_normalization_10_variance.bin"); 
+void* batch_normalization_10_variance =  readTrainedWeights(batch_normalization_10_variance_path.c_str(), 0,1,256,1,1); 
+std::string conv2d_6_w_path =  dir_prefix + std::string("conv2d_6_w.bin"); 
+void* conv2d_6_w =  readTrainedWeights(conv2d_6_w_path.c_str(), 0,256,256,1,1); 
+std::string batch_normalization_11_gamma_path =  dir_prefix + std::string("batch_normalization_11_gamma.bin"); 
+void* batch_normalization_11_gamma =  readTrainedWeights(batch_normalization_11_gamma_path.c_str(), 0,1,256,1,1); 
+std::string batch_normalization_11_beta_path =  dir_prefix + std::string("batch_normalization_11_beta.bin"); 
+void* batch_normalization_11_beta =  readTrainedWeights(batch_normalization_11_beta_path.c_str(), 0,1,256,1,1); 
+std::string batch_normalization_11_mean_path =  dir_prefix + std::string("batch_normalization_11_mean.bin"); 
+void* batch_normalization_11_mean =  readTrainedWeights(batch_normalization_11_mean_path.c_str(), 0,1,256,1,1); 
+std::string batch_normalization_11_variance_path =  dir_prefix + std::string("batch_normalization_11_variance.bin"); 
+void* batch_normalization_11_variance =  readTrainedWeights(batch_normalization_11_variance_path.c_str(), 0,1,256,1,1); 
+std::string depthwise_conv2d_6_w_path =  dir_prefix + std::string("depthwise_conv2d_6_w.bin"); 
+void* depthwise_conv2d_6_w =  readTrainedWeights(depthwise_conv2d_6_w_path.c_str(), 0,256,1,3,3); 
+std::string batch_normalization_12_gamma_path =  dir_prefix + std::string("batch_normalization_12_gamma.bin"); 
+void* batch_normalization_12_gamma =  readTrainedWeights(batch_normalization_12_gamma_path.c_str(), 0,1,256,1,1); 
+std::string batch_normalization_12_beta_path =  dir_prefix + std::string("batch_normalization_12_beta.bin"); 
+void* batch_normalization_12_beta =  readTrainedWeights(batch_normalization_12_beta_path.c_str(), 0,1,256,1,1); 
+std::string batch_normalization_12_mean_path =  dir_prefix + std::string("batch_normalization_12_mean.bin"); 
+void* batch_normalization_12_mean =  readTrainedWeights(batch_normalization_12_mean_path.c_str(), 0,1,256,1,1); 
+std::string batch_normalization_12_variance_path =  dir_prefix + std::string("batch_normalization_12_variance.bin"); 
+void* batch_normalization_12_variance =  readTrainedWeights(batch_normalization_12_variance_path.c_str(), 0,1,256,1,1); 
+std::string conv2d_7_w_path =  dir_prefix + std::string("conv2d_7_w.bin"); 
+void* conv2d_7_w =  readTrainedWeights(conv2d_7_w_path.c_str(), 0,512,256,1,1); 
+std::string batch_normalization_13_gamma_path =  dir_prefix + std::string("batch_normalization_13_gamma.bin"); 
+void* batch_normalization_13_gamma =  readTrainedWeights(batch_normalization_13_gamma_path.c_str(), 0,1,512,1,1); 
+std::string batch_normalization_13_beta_path =  dir_prefix + std::string("batch_normalization_13_beta.bin"); 
+void* batch_normalization_13_beta =  readTrainedWeights(batch_normalization_13_beta_path.c_str(), 0,1,512,1,1); 
+std::string batch_normalization_13_mean_path =  dir_prefix + std::string("batch_normalization_13_mean.bin"); 
+void* batch_normalization_13_mean =  readTrainedWeights(batch_normalization_13_mean_path.c_str(), 0,1,512,1,1); 
+std::string batch_normalization_13_variance_path =  dir_prefix + std::string("batch_normalization_13_variance.bin"); 
+void* batch_normalization_13_variance =  readTrainedWeights(batch_normalization_13_variance_path.c_str(), 0,1,512,1,1); 
+std::string dense_1_w_path =  dir_prefix + std::string("dense_1_w.bin"); 
+void* dense_1_w =  readTrainedWeights(dense_1_w_path.c_str(), 0,1,1,2048,10); 
+std::string dense_1_b_path =  dir_prefix + std::string("dense_1_b.bin"); 
+void* dense_1_b =  readTrainedWeights(dense_1_b_path.c_str(), 0,1,10,1,1); 
+
+
+int start = i * batch_size; 
+int end = (i + 1) * batch_size; 
+
+void* input = readInputBatch(input_path.c_str(),0,start,end,3,32,32); 
+
+void* var_0 = ConvLayer_PROMISE(input, -1.9892114, 2.126797, conv2d_1_w, -1.5164621164798737, 1.6472081774473288, NULL, 0, 0, 1, 1, 1, 1, -1, 0, -1, -9.868980642318725, 10.560956018447879, 9); 
+void* var_1 = tensorBatchNorm(var_0, batch_normalization_1_gamma, batch_normalization_1_beta, batch_normalization_1_mean, batch_normalization_1_variance, 0.001); 
+void* var_2 = tensorRelu(var_1); 
+void* var_3 = tensorConvolution(var_2, depthwise_conv2d_1_w, 1, 1, 1, 1, 1, 32); 
+void* var_4 = tensorBatchNorm(var_3, batch_normalization_2_gamma, batch_normalization_2_beta, batch_normalization_2_mean, batch_normalization_2_variance, 0.001); 
+void* var_5 = tensorRelu(var_4); 
+void* var_6 = ConvLayer_PROMISE(var_5, 0.0, 6.821381127357554, conv2d_2_w, -1.1834390873908995, 1.2731596627235617, NULL, 0, 0, 0, 0, 1, 1, -1, 0, -1, -9.875998497009277, 7.51305247974393, 9); 
+void* var_7 = tensorBatchNorm(var_6, batch_normalization_3_gamma, batch_normalization_3_beta, batch_normalization_3_mean, batch_normalization_3_variance, 0.001); 
+void* var_8 = tensorRelu(var_7); 
+void* var_9 = tensorConvolution(var_8, depthwise_conv2d_2_w, 1, 1, 2, 2, 1, 64); 
+void* var_10 = tensorBatchNorm(var_9, batch_normalization_4_gamma, batch_normalization_4_beta, batch_normalization_4_mean, batch_normalization_4_variance, 0.001); 
+void* var_11 = tensorRelu(var_10); 
+void* var_12 = ConvLayer_PROMISE(var_11, 0.0, 4.826067455768602, conv2d_3_w, -0.599876856982708, 0.6812073457241064, NULL, 0, 0, 0, 0, 1, 1, -1, 0, -1, -5.633289833068848, 5.177892235755925, 9); 
+void* var_13 = tensorBatchNorm(var_12, batch_normalization_5_gamma, batch_normalization_5_beta, batch_normalization_5_mean, batch_normalization_5_variance, 0.001); 
+void* var_14 = tensorRelu(var_13); 
+void* var_15 = tensorConvolution(var_14, depthwise_conv2d_3_w, 1, 1, 1, 1, 1, 128); 
+void* var_16 = tensorBatchNorm(var_15, batch_normalization_6_gamma, batch_normalization_6_beta, batch_normalization_6_mean, batch_normalization_6_variance, 0.001); 
+void* var_17 = tensorRelu(var_16); 
+void* var_18 = ConvLayer_PROMISE(var_17, 0.0, 4.02646304416659, conv2d_4_w, -0.4555967862010002, 0.4942613914608956, NULL, 0, 0, 0, 0, 1, 1, -1, 0, -1, -5.316803941726685, 4.605850250244146, 9); 
+void* var_19 = tensorBatchNorm(var_18, batch_normalization_7_gamma, batch_normalization_7_beta, batch_normalization_7_mean, batch_normalization_7_variance, 0.001); 
+void* var_20 = tensorRelu(var_19); 
+void* var_21 = tensorConvolution(var_20, depthwise_conv2d_4_w, 1, 1, 2, 2, 1, 128); 
+void* var_22 = tensorBatchNorm(var_21, batch_normalization_8_gamma, batch_normalization_8_beta, batch_normalization_8_mean, batch_normalization_8_variance, 0.001); 
+void* var_23 = tensorRelu(var_22); 
+void* var_24 = ConvLayer_PROMISE(var_23, 0.0, 4.532649063110355, conv2d_5_w, -0.35657615590095515, 0.3382165088057521, NULL, 0, 0, 0, 0, 1, 1, -1, 0, -1, -6.1012511816024775, 4.3630500688553, 9); 
+void* var_25 = tensorBatchNorm(var_24, batch_normalization_9_gamma, batch_normalization_9_beta, batch_normalization_9_mean, batch_normalization_9_variance, 0.001); 
+void* var_26 = tensorRelu(var_25); 
+void* var_27 = tensorConvolution(var_26, depthwise_conv2d_5_w, 1, 1, 1, 1, 1, 256); 
+void* var_28 = tensorBatchNorm(var_27, batch_normalization_10_gamma, batch_normalization_10_beta, batch_normalization_10_mean, batch_normalization_10_variance, 0.001); 
+void* var_29 = tensorRelu(var_28); 
+void* var_30 = ConvLayer_PROMISE(var_29, 0.0, 3.9874704387188977, conv2d_6_w, -0.28502783328294756, 0.28604640334844594, NULL, 0, 0, 0, 0, 1, 1, -1, 0, -1, -4.243851703643799, 3.486250406742097, 9); 
+void* var_31 = tensorBatchNorm(var_30, batch_normalization_11_gamma, batch_normalization_11_beta, batch_normalization_11_mean, batch_normalization_11_variance, 0.001); 
+void* var_32 = tensorRelu(var_31); 
+void* var_33 = tensorConvolution(var_32, depthwise_conv2d_6_w, 1, 1, 2, 2, 1, 256); 
+void* var_34 = tensorBatchNorm(var_33, batch_normalization_12_gamma, batch_normalization_12_beta, batch_normalization_12_mean, batch_normalization_12_variance, 0.001); 
+void* var_35 = tensorRelu(var_34); 
+void* var_36 = ConvLayer_PROMISE(var_35, 0.0, 6.563065901756522, conv2d_7_w, -0.18946402323246003, 0.19012390717864017, NULL, 0, 0, 0, 0, 1, 1, -1, 0, -1, -4.938115713119507, 3.538363476753238, 9); 
+void* var_37 = tensorBatchNorm(var_36, batch_normalization_13_gamma, batch_normalization_13_beta, batch_normalization_13_mean, batch_normalization_13_variance, 0.001); 
+void* var_38 = tensorRelu(var_37); 
+void* var_39 = tensorPooling(var_38,1,2,2,0,0,2,2); 
+void* var_40 = FCLayer_PROMISE(var_39, 0.0, 1.8908388000727185, dense_1_w, -0.35140394401550296, 0.422872786462307, dense_1_b, -0.23878151, 0.26507422, -1, -14.630816223144532, 27.27252123260504, 9); 
+void* var_41 = tensorSoftmax(var_40); 
+
+uint8_t* labels = readLabelsBatch(labels_path.c_str(),start,end); 
+
+float accuracy = computeAccuracy2(labels, batch_size, var_41); 
+final_accuracy += accuracy; 
+freeBatchMemory(); 
+ 
+}
+
+final_accuracy = final_accuracy / batch_count; 
+dumpFinalAccuracy(final_accuracy); 
+
+
+}
+
+dumpExecutionAccuracies(); 
+
+llvm_hpvm_cleanupTensorRt(); 
+
+return 0; 
+
+}
diff --git a/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/src.cc b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/src.cc
new file mode 100644
index 0000000000000000000000000000000000000000..6599f7d0ea0be6a76c4154d25b3a7be2c6724115
--- /dev/null
+++ b/llvm/projects/hpvm-tensor-rt/model_params/mobilenet_shallow/mobilenet_shallow_nathan/src.cc
@@ -0,0 +1,231 @@
+
+#include <stdio.h> 
+#include <stdlib.h> 
+#include <unistd.h> 
+#include <fcntl.h> 
+#include <sys/types.h> 
+#include <sys/stat.h> 
+#include <string.h> 
+#include "../../tensor_runtime/include/tensor_runtime.h" 
+#include "../include/utils.h" 
+
+int main(){ 
+
+llvm_hpvm_initTensorRt(0); 
+
+
+std::string dir_prefix = std::string("data/mobilenet_shallow_nathan/"); 
+std::string input_path =  dir_prefix + std::string("input.bin"); 
+std::string labels_path =  dir_prefix + std::string("labels.bin"); 
+std::string conv2d_1_w_path =  dir_prefix + std::string("conv2d_1_w.bin"); 
+void* conv2d_1_w =  readTrainedWeights(conv2d_1_w_path.c_str(), 0,32,3,3,3); 
+std::string batch_normalization_1_gamma_path =  dir_prefix + std::string("batch_normalization_1_gamma.bin"); 
+void* batch_normalization_1_gamma =  readTrainedWeights(batch_normalization_1_gamma_path.c_str(), 0,1,32,1,1); 
+std::string batch_normalization_1_beta_path =  dir_prefix + std::string("batch_normalization_1_beta.bin"); 
+void* batch_normalization_1_beta =  readTrainedWeights(batch_normalization_1_beta_path.c_str(), 0,1,32,1,1); 
+std::string batch_normalization_1_mean_path =  dir_prefix + std::string("batch_normalization_1_mean.bin"); 
+void* batch_normalization_1_mean =  readTrainedWeights(batch_normalization_1_mean_path.c_str(), 0,1,32,1,1); 
+std::string batch_normalization_1_variance_path =  dir_prefix + std::string("batch_normalization_1_variance.bin"); 
+void* batch_normalization_1_variance =  readTrainedWeights(batch_normalization_1_variance_path.c_str(), 0,1,32,1,1); 
+std::string depthwise_conv2d_1_w_path =  dir_prefix + std::string("depthwise_conv2d_1_w.bin"); 
+void* depthwise_conv2d_1_w =  readTrainedWeights(depthwise_conv2d_1_w_path.c_str(), 0,32,1,3,3); 
+std::string batch_normalization_2_gamma_path =  dir_prefix + std::string("batch_normalization_2_gamma.bin"); 
+void* batch_normalization_2_gamma =  readTrainedWeights(batch_normalization_2_gamma_path.c_str(), 0,1,32,1,1); 
+std::string batch_normalization_2_beta_path =  dir_prefix + std::string("batch_normalization_2_beta.bin"); 
+void* batch_normalization_2_beta =  readTrainedWeights(batch_normalization_2_beta_path.c_str(), 0,1,32,1,1); 
+std::string batch_normalization_2_mean_path =  dir_prefix + std::string("batch_normalization_2_mean.bin"); 
+void* batch_normalization_2_mean =  readTrainedWeights(batch_normalization_2_mean_path.c_str(), 0,1,32,1,1); 
+std::string batch_normalization_2_variance_path =  dir_prefix + std::string("batch_normalization_2_variance.bin"); 
+void* batch_normalization_2_variance =  readTrainedWeights(batch_normalization_2_variance_path.c_str(), 0,1,32,1,1); 
+std::string conv2d_2_w_path =  dir_prefix + std::string("conv2d_2_w.bin"); 
+void* conv2d_2_w =  readTrainedWeights(conv2d_2_w_path.c_str(), 0,64,32,1,1); 
+std::string batch_normalization_3_gamma_path =  dir_prefix + std::string("batch_normalization_3_gamma.bin"); 
+void* batch_normalization_3_gamma =  readTrainedWeights(batch_normalization_3_gamma_path.c_str(), 0,1,64,1,1); 
+std::string batch_normalization_3_beta_path =  dir_prefix + std::string("batch_normalization_3_beta.bin"); 
+void* batch_normalization_3_beta =  readTrainedWeights(batch_normalization_3_beta_path.c_str(), 0,1,64,1,1); 
+std::string batch_normalization_3_mean_path =  dir_prefix + std::string("batch_normalization_3_mean.bin"); 
+void* batch_normalization_3_mean =  readTrainedWeights(batch_normalization_3_mean_path.c_str(), 0,1,64,1,1); 
+std::string batch_normalization_3_variance_path =  dir_prefix + std::string("batch_normalization_3_variance.bin"); 
+void* batch_normalization_3_variance =  readTrainedWeights(batch_normalization_3_variance_path.c_str(), 0,1,64,1,1); 
+std::string depthwise_conv2d_2_w_path =  dir_prefix + std::string("depthwise_conv2d_2_w.bin"); 
+void* depthwise_conv2d_2_w =  readTrainedWeights(depthwise_conv2d_2_w_path.c_str(), 0,64,1,3,3); 
+std::string batch_normalization_4_gamma_path =  dir_prefix + std::string("batch_normalization_4_gamma.bin"); 
+void* batch_normalization_4_gamma =  readTrainedWeights(batch_normalization_4_gamma_path.c_str(), 0,1,64,1,1); 
+std::string batch_normalization_4_beta_path =  dir_prefix + std::string("batch_normalization_4_beta.bin"); 
+void* batch_normalization_4_beta =  readTrainedWeights(batch_normalization_4_beta_path.c_str(), 0,1,64,1,1); 
+std::string batch_normalization_4_mean_path =  dir_prefix + std::string("batch_normalization_4_mean.bin"); 
+void* batch_normalization_4_mean =  readTrainedWeights(batch_normalization_4_mean_path.c_str(), 0,1,64,1,1); 
+std::string batch_normalization_4_variance_path =  dir_prefix + std::string("batch_normalization_4_variance.bin"); 
+void* batch_normalization_4_variance =  readTrainedWeights(batch_normalization_4_variance_path.c_str(), 0,1,64,1,1); 
+std::string conv2d_3_w_path =  dir_prefix + std::string("conv2d_3_w.bin"); 
+void* conv2d_3_w =  readTrainedWeights(conv2d_3_w_path.c_str(), 0,128,64,1,1); 
+std::string batch_normalization_5_gamma_path =  dir_prefix + std::string("batch_normalization_5_gamma.bin"); 
+void* batch_normalization_5_gamma =  readTrainedWeights(batch_normalization_5_gamma_path.c_str(), 0,1,128,1,1); 
+std::string batch_normalization_5_beta_path =  dir_prefix + std::string("batch_normalization_5_beta.bin"); 
+void* batch_normalization_5_beta =  readTrainedWeights(batch_normalization_5_beta_path.c_str(), 0,1,128,1,1); 
+std::string batch_normalization_5_mean_path =  dir_prefix + std::string("batch_normalization_5_mean.bin"); 
+void* batch_normalization_5_mean =  readTrainedWeights(batch_normalization_5_mean_path.c_str(), 0,1,128,1,1); 
+std::string batch_normalization_5_variance_path =  dir_prefix + std::string("batch_normalization_5_variance.bin"); 
+void* batch_normalization_5_variance =  readTrainedWeights(batch_normalization_5_variance_path.c_str(), 0,1,128,1,1); 
+std::string depthwise_conv2d_3_w_path =  dir_prefix + std::string("depthwise_conv2d_3_w.bin"); 
+void* depthwise_conv2d_3_w =  readTrainedWeights(depthwise_conv2d_3_w_path.c_str(), 0,128,1,3,3); 
+std::string batch_normalization_6_gamma_path =  dir_prefix + std::string("batch_normalization_6_gamma.bin"); 
+void* batch_normalization_6_gamma =  readTrainedWeights(batch_normalization_6_gamma_path.c_str(), 0,1,128,1,1); 
+std::string batch_normalization_6_beta_path =  dir_prefix + std::string("batch_normalization_6_beta.bin"); 
+void* batch_normalization_6_beta =  readTrainedWeights(batch_normalization_6_beta_path.c_str(), 0,1,128,1,1); 
+std::string batch_normalization_6_mean_path =  dir_prefix + std::string("batch_normalization_6_mean.bin"); 
+void* batch_normalization_6_mean =  readTrainedWeights(batch_normalization_6_mean_path.c_str(), 0,1,128,1,1); 
+std::string batch_normalization_6_variance_path =  dir_prefix + std::string("batch_normalization_6_variance.bin"); 
+void* batch_normalization_6_variance =  readTrainedWeights(batch_normalization_6_variance_path.c_str(), 0,1,128,1,1); 
+std::string conv2d_4_w_path =  dir_prefix + std::string("conv2d_4_w.bin"); 
+void* conv2d_4_w =  readTrainedWeights(conv2d_4_w_path.c_str(), 0,128,128,1,1); 
+std::string batch_normalization_7_gamma_path =  dir_prefix + std::string("batch_normalization_7_gamma.bin"); 
+void* batch_normalization_7_gamma =  readTrainedWeights(batch_normalization_7_gamma_path.c_str(), 0,1,128,1,1); 
+std::string batch_normalization_7_beta_path =  dir_prefix + std::string("batch_normalization_7_beta.bin"); 
+void* batch_normalization_7_beta =  readTrainedWeights(batch_normalization_7_beta_path.c_str(), 0,1,128,1,1); 
+std::string batch_normalization_7_mean_path =  dir_prefix + std::string("batch_normalization_7_mean.bin"); 
+void* batch_normalization_7_mean =  readTrainedWeights(batch_normalization_7_mean_path.c_str(), 0,1,128,1,1); 
+std::string batch_normalization_7_variance_path =  dir_prefix + std::string("batch_normalization_7_variance.bin"); 
+void* batch_normalization_7_variance =  readTrainedWeights(batch_normalization_7_variance_path.c_str(), 0,1,128,1,1); 
+std::string depthwise_conv2d_4_w_path =  dir_prefix + std::string("depthwise_conv2d_4_w.bin"); 
+void* depthwise_conv2d_4_w =  readTrainedWeights(depthwise_conv2d_4_w_path.c_str(), 0,128,1,3,3); 
+std::string batch_normalization_8_gamma_path =  dir_prefix + std::string("batch_normalization_8_gamma.bin"); 
+void* batch_normalization_8_gamma =  readTrainedWeights(batch_normalization_8_gamma_path.c_str(), 0,1,128,1,1); 
+std::string batch_normalization_8_beta_path =  dir_prefix + std::string("batch_normalization_8_beta.bin"); 
+void* batch_normalization_8_beta =  readTrainedWeights(batch_normalization_8_beta_path.c_str(), 0,1,128,1,1); 
+std::string batch_normalization_8_mean_path =  dir_prefix + std::string("batch_normalization_8_mean.bin"); 
+void* batch_normalization_8_mean =  readTrainedWeights(batch_normalization_8_mean_path.c_str(), 0,1,128,1,1); 
+std::string batch_normalization_8_variance_path =  dir_prefix + std::string("batch_normalization_8_variance.bin"); 
+void* batch_normalization_8_variance =  readTrainedWeights(batch_normalization_8_variance_path.c_str(), 0,1,128,1,1); 
+std::string conv2d_5_w_path =  dir_prefix + std::string("conv2d_5_w.bin"); 
+void* conv2d_5_w =  readTrainedWeights(conv2d_5_w_path.c_str(), 0,256,128,1,1); 
+std::string batch_normalization_9_gamma_path =  dir_prefix + std::string("batch_normalization_9_gamma.bin"); 
+void* batch_normalization_9_gamma =  readTrainedWeights(batch_normalization_9_gamma_path.c_str(), 0,1,256,1,1); 
+std::string batch_normalization_9_beta_path =  dir_prefix + std::string("batch_normalization_9_beta.bin"); 
+void* batch_normalization_9_beta =  readTrainedWeights(batch_normalization_9_beta_path.c_str(), 0,1,256,1,1); 
+std::string batch_normalization_9_mean_path =  dir_prefix + std::string("batch_normalization_9_mean.bin"); 
+void* batch_normalization_9_mean =  readTrainedWeights(batch_normalization_9_mean_path.c_str(), 0,1,256,1,1); 
+std::string batch_normalization_9_variance_path =  dir_prefix + std::string("batch_normalization_9_variance.bin"); 
+void* batch_normalization_9_variance =  readTrainedWeights(batch_normalization_9_variance_path.c_str(), 0,1,256,1,1); 
+std::string depthwise_conv2d_5_w_path =  dir_prefix + std::string("depthwise_conv2d_5_w.bin"); 
+void* depthwise_conv2d_5_w =  readTrainedWeights(depthwise_conv2d_5_w_path.c_str(), 0,256,1,3,3); 
+std::string batch_normalization_10_gamma_path =  dir_prefix + std::string("batch_normalization_10_gamma.bin"); 
+void* batch_normalization_10_gamma =  readTrainedWeights(batch_normalization_10_gamma_path.c_str(), 0,1,256,1,1); 
+std::string batch_normalization_10_beta_path =  dir_prefix + std::string("batch_normalization_10_beta.bin"); 
+void* batch_normalization_10_beta =  readTrainedWeights(batch_normalization_10_beta_path.c_str(), 0,1,256,1,1); 
+std::string batch_normalization_10_mean_path =  dir_prefix + std::string("batch_normalization_10_mean.bin"); 
+void* batch_normalization_10_mean =  readTrainedWeights(batch_normalization_10_mean_path.c_str(), 0,1,256,1,1); 
+std::string batch_normalization_10_variance_path =  dir_prefix + std::string("batch_normalization_10_variance.bin"); 
+void* batch_normalization_10_variance =  readTrainedWeights(batch_normalization_10_variance_path.c_str(), 0,1,256,1,1); 
+std::string conv2d_6_w_path =  dir_prefix + std::string("conv2d_6_w.bin"); 
+void* conv2d_6_w =  readTrainedWeights(conv2d_6_w_path.c_str(), 0,256,256,1,1); 
+std::string batch_normalization_11_gamma_path =  dir_prefix + std::string("batch_normalization_11_gamma.bin"); 
+void* batch_normalization_11_gamma =  readTrainedWeights(batch_normalization_11_gamma_path.c_str(), 0,1,256,1,1); 
+std::string batch_normalization_11_beta_path =  dir_prefix + std::string("batch_normalization_11_beta.bin"); 
+void* batch_normalization_11_beta =  readTrainedWeights(batch_normalization_11_beta_path.c_str(), 0,1,256,1,1); 
+std::string batch_normalization_11_mean_path =  dir_prefix + std::string("batch_normalization_11_mean.bin"); 
+void* batch_normalization_11_mean =  readTrainedWeights(batch_normalization_11_mean_path.c_str(), 0,1,256,1,1); 
+std::string batch_normalization_11_variance_path =  dir_prefix + std::string("batch_normalization_11_variance.bin"); 
+void* batch_normalization_11_variance =  readTrainedWeights(batch_normalization_11_variance_path.c_str(), 0,1,256,1,1); 
+std::string depthwise_conv2d_6_w_path =  dir_prefix + std::string("depthwise_conv2d_6_w.bin"); 
+void* depthwise_conv2d_6_w =  readTrainedWeights(depthwise_conv2d_6_w_path.c_str(), 0,256,1,3,3); 
+std::string batch_normalization_12_gamma_path =  dir_prefix + std::string("batch_normalization_12_gamma.bin"); 
+void* batch_normalization_12_gamma =  readTrainedWeights(batch_normalization_12_gamma_path.c_str(), 0,1,256,1,1); 
+std::string batch_normalization_12_beta_path =  dir_prefix + std::string("batch_normalization_12_beta.bin"); 
+void* batch_normalization_12_beta =  readTrainedWeights(batch_normalization_12_beta_path.c_str(), 0,1,256,1,1); 
+std::string batch_normalization_12_mean_path =  dir_prefix + std::string("batch_normalization_12_mean.bin"); 
+void* batch_normalization_12_mean =  readTrainedWeights(batch_normalization_12_mean_path.c_str(), 0,1,256,1,1); 
+std::string batch_normalization_12_variance_path =  dir_prefix + std::string("batch_normalization_12_variance.bin"); 
+void* batch_normalization_12_variance =  readTrainedWeights(batch_normalization_12_variance_path.c_str(), 0,1,256,1,1); 
+std::string conv2d_7_w_path =  dir_prefix + std::string("conv2d_7_w.bin"); 
+void* conv2d_7_w =  readTrainedWeights(conv2d_7_w_path.c_str(), 0,512,256,1,1); 
+std::string batch_normalization_13_gamma_path =  dir_prefix + std::string("batch_normalization_13_gamma.bin"); 
+void* batch_normalization_13_gamma =  readTrainedWeights(batch_normalization_13_gamma_path.c_str(), 0,1,512,1,1); 
+std::string batch_normalization_13_beta_path =  dir_prefix + std::string("batch_normalization_13_beta.bin"); 
+void* batch_normalization_13_beta =  readTrainedWeights(batch_normalization_13_beta_path.c_str(), 0,1,512,1,1); 
+std::string batch_normalization_13_mean_path =  dir_prefix + std::string("batch_normalization_13_mean.bin"); 
+void* batch_normalization_13_mean =  readTrainedWeights(batch_normalization_13_mean_path.c_str(), 0,1,512,1,1); 
+std::string batch_normalization_13_variance_path =  dir_prefix + std::string("batch_normalization_13_variance.bin"); 
+void* batch_normalization_13_variance =  readTrainedWeights(batch_normalization_13_variance_path.c_str(), 0,1,512,1,1); 
+std::string dense_1_w_path =  dir_prefix + std::string("dense_1_w.bin"); 
+void* dense_1_w =  readTrainedWeights(dense_1_w_path.c_str(), 0,1,1,2048,10); 
+std::string dense_1_b_path =  dir_prefix + std::string("dense_1_b.bin"); 
+void* dense_1_b =  readTrainedWeights(dense_1_b_path.c_str(), 0,1,10,1,1); 
+
+
+
+startMemTracking(); 
+
+int test_input_size = 10000; 
+int batch_size = 10000; 
+int batch_count = test_input_size / batch_size; 
+float final_accuracy = 0.0; 
+
+for(int i = 0; i < batch_count; i++){ 
+
+int start = i * batch_size; 
+int end = (i + 1) * batch_size; 
+
+void* input = readInputBatch(input_path.c_str(),0,start,end,3,32,32); 
+
+void* var_0 = tensorConvolution(input, conv2d_1_w, 1, 1, 1, 1, 1, 1); 
+void* var_1 = tensorBatchNorm(var_0, batch_normalization_1_gamma, batch_normalization_1_beta, batch_normalization_1_mean, batch_normalization_1_variance, 0.001); 
+void* var_2 = tensorRelu(var_1); 
+void* var_4 = tensorConvolution(var_2, depthwise_conv2d_1_w, 1, 1, 1, 1, 1, 32); 
+void* var_5 = tensorBatchNorm(var_4, batch_normalization_2_gamma, batch_normalization_2_beta, batch_normalization_2_mean, batch_normalization_2_variance, 0.001); 
+void* var_6 = tensorRelu(var_5); 
+void* var_7 = tensorConvolution(var_6, conv2d_2_w, 0, 0, 1, 1, 1, 1); 
+void* var_8 = tensorBatchNorm(var_7, batch_normalization_3_gamma, batch_normalization_3_beta, batch_normalization_3_mean, batch_normalization_3_variance, 0.001); 
+void* var_9 = tensorRelu(var_8); 
+void* var_11 = tensorConvolution(var_9, depthwise_conv2d_2_w, 1, 1, 2, 2, 1, 64); 
+void* var_12 = tensorBatchNorm(var_11, batch_normalization_4_gamma, batch_normalization_4_beta, batch_normalization_4_mean, batch_normalization_4_variance, 0.001); 
+void* var_13 = tensorRelu(var_12); 
+void* var_14 = tensorConvolution(var_13, conv2d_3_w, 0, 0, 1, 1, 1, 1); 
+void* var_15 = tensorBatchNorm(var_14, batch_normalization_5_gamma, batch_normalization_5_beta, batch_normalization_5_mean, batch_normalization_5_variance, 0.001); 
+void* var_16 = tensorRelu(var_15); 
+void* var_18 = tensorConvolution(var_16, depthwise_conv2d_3_w, 1, 1, 1, 1, 1, 128); 
+void* var_19 = tensorBatchNorm(var_18, batch_normalization_6_gamma, batch_normalization_6_beta, batch_normalization_6_mean, batch_normalization_6_variance, 0.001); 
+void* var_20 = tensorRelu(var_19); 
+void* var_21 = tensorConvolution(var_20, conv2d_4_w, 0, 0, 1, 1, 1, 1); 
+void* var_22 = tensorBatchNorm(var_21, batch_normalization_7_gamma, batch_normalization_7_beta, batch_normalization_7_mean, batch_normalization_7_variance, 0.001); 
+void* var_23 = tensorRelu(var_22); 
+void* var_26 = tensorConvolution(var_23, depthwise_conv2d_4_w, 1, 1, 2, 2, 1, 128); 
+void* var_27 = tensorBatchNorm(var_26, batch_normalization_8_gamma, batch_normalization_8_beta, batch_normalization_8_mean, batch_normalization_8_variance, 0.001); 
+void* var_28 = tensorRelu(var_27); 
+void* var_29 = tensorConvolution(var_28, conv2d_5_w, 0, 0, 1, 1, 1, 1); 
+void* var_30 = tensorBatchNorm(var_29, batch_normalization_9_gamma, batch_normalization_9_beta, batch_normalization_9_mean, batch_normalization_9_variance, 0.001); 
+void* var_31 = tensorRelu(var_30); 
+void* var_33 = tensorConvolution(var_31, depthwise_conv2d_5_w, 1, 1, 1, 1, 1, 256); 
+void* var_34 = tensorBatchNorm(var_33, batch_normalization_10_gamma, batch_normalization_10_beta, batch_normalization_10_mean, batch_normalization_10_variance, 0.001); 
+void* var_35 = tensorRelu(var_34); 
+void* var_36 = tensorConvolution(var_35, conv2d_6_w, 0, 0, 1, 1, 1, 1); 
+void* var_37 = tensorBatchNorm(var_36, batch_normalization_11_gamma, batch_normalization_11_beta, batch_normalization_11_mean, batch_normalization_11_variance, 0.001); 
+void* var_38 = tensorRelu(var_37); 
+void* var_41 = tensorConvolution(var_38, depthwise_conv2d_6_w, 1, 1, 2, 2, 1, 256); 
+void* var_42 = tensorBatchNorm(var_41, batch_normalization_12_gamma, batch_normalization_12_beta, batch_normalization_12_mean, batch_normalization_12_variance, 0.001); 
+void* var_43 = tensorRelu(var_42); 
+void* var_44 = tensorConvolution(var_43, conv2d_7_w, 0, 0, 1, 1, 1, 1); 
+void* var_45 = tensorBatchNorm(var_44, batch_normalization_13_gamma, batch_normalization_13_beta, batch_normalization_13_mean, batch_normalization_13_variance, 0.001); 
+void* var_46 = tensorRelu(var_45); 
+void* var_47 = tensorPooling(var_46,1,2,2,0,0,2,2); 
+void* var_49 = tensorGemmGPU(var_47, dense_1_w); 
+void* var_50 = tensorAdd(var_49, dense_1_b); 
+void* var_51 = tensorSoftmax(var_50); 
+
+uint8_t* labels = readLabelsBatch(labels_path.c_str(),start,end); 
+
+float accuracy = computeAccuracy2(labels, batch_size, var_51); 
+final_accuracy += accuracy; 
+freeBatchMemory(); 
+ 
+}
+
+final_accuracy = final_accuracy / batch_count; 
+dumpFinalAccuracy(final_accuracy); 
+
+
+llvm_hpvm_cleanupTensorRt(); 
+
+return 0; 
+
+}