def renderProgram(self, freeze=False, return_prob=False): while True: self.reset() try: program = self.render('Program') except BaseException as e: if 'Choice name' in str(e): continue else: raise e program = gu.fixWhitespace(program) rubricItems = self.getRubricItems() choices = self.choices if self._isCodeOrg: program, rubricItems, choices, code = self.processCodeOrgProgram( program, rubricItems, choices) self.rvChoiceOrder.append('doesNotGetNesting') if self.choice_style == SAMPLE_TEMPERED and not freeze: self.temperDistribution(self.choices, self.renderOrder) if return_prob: return program, rubricItems, choices, self.rvChoiceOrder, self.data_temper, self.log_prob else: return program, rubricItems, choices, self.rvChoiceOrder, self.data_temper
def renderProgram(self, program_args, rvAssignments): self.reset() self.h0 = self.model.init_rnn_hiddens(1) self.hidden_store = [] program_args = [p.to(self.agent.device) for p in program_args] self.program_emb = self.model.program_encoder(*program_args, return_hiddens=True) self.rvAssignments = rvAssignments.clone() self.node_i = None program = self.render('Program') program = gu.fixWhitespace(program) rubricItems = self.getRubricItems() return program, rubricItems, self.choices, self.rvChoiceOrder, self.rvAssignments
def renderProgram(self): while True: self.reset() try: program = self.render('Program') except BaseException as e: if 'Choice name' in str(e): continue else: raise e program = gu.fixWhitespace(program) rubricItems = self.getRubricItems() choices = self.choices code = None if self._isCodeOrg: program, rubricItems, choices, code = self.processCodeOrgProgram( program, rubricItems, choices) return program, rubricItems, choices, code
def renderProgram(self): self.reset() program, highlights = self.render('Program') program = gu.fixWhitespace(program) return program, highlights