From 20a8cfd6cb2251b4d6c9f46f7128869704a4a5ba Mon Sep 17 00:00:00 2001 From: Hashim Sharif <hsharif3@miranda.cs.illinois.edu> Date: Tue, 16 Mar 2021 17:35:01 -0500 Subject: [PATCH] Fixed recursive directory creation --- .../keras/frontend/approxhpvm_translator.py | 26 ++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/hpvm/projects/keras/frontend/approxhpvm_translator.py b/hpvm/projects/keras/frontend/approxhpvm_translator.py index ff75415a0f..7515bf67da 100644 --- a/hpvm/projects/keras/frontend/approxhpvm_translator.py +++ b/hpvm/projects/keras/frontend/approxhpvm_translator.py @@ -521,17 +521,16 @@ class TensorRtTranslator: activation_type = cur_node.activation_type out_var_name3 = self.getVariableName(cur_node) - inst_str = genActivationCallStr(out_var_name1, out_var_name3, activation_type) - self.program_str += inst_str - if activation_type == "softmax": print ("Softmax canNOT be part of Dense/Conv Op. Insert: Activation('softmax');") sys.exit(0) + + inst_str = genActivationCallStr(out_var_name1, out_var_name3, activation_type) + self.program_str += inst_str - #self.json_str += activation_type + "_" + str(self.op_count) + " : 0, \n" - #self.op_count += 1 self.addBaselineKnob(activation_type) - + + if layer_type == "BatchNormalization": input_var_name = self.getSingleInputName(cur_node) @@ -1074,6 +1073,15 @@ def getUniquePath(weights_dir): +def createRecursiveDir(target_dir): + + toks = target_dir.split("/") + for i in range(len(toks)): + path_str = "/".join(toks[0:i+1]) + if not os.path.exists(path_str): + os.mkdir(path_str) + + #***** Top level External Function ******* def translate_to_approxhpvm(model, @@ -1088,10 +1096,11 @@ def translate_to_approxhpvm(model, if not reload_weights: weights_dir = getUniquePath(weights_dir) - os.mkdir(weights_dir) + createRecursiveDir(weights_dir) + src_dir = getUniquePath(src_dir) - os.mkdir(src_dir) + createRecursiveDir(src_dir) dfg = DFG() for i in range(len(model.layers)): @@ -1122,7 +1131,6 @@ def translate_to_approxhpvm(model, - if reload_weights: print ("NOTE: Using existing pretrained weights \n") else: -- GitLab