Esempio n. 1
0
 def _load_and_cache_flags_data(
     self, mod_path, mod_package, sys_path, flags_dest, cached_data_path
 ):
     if (
         os.getenv("NO_IMPORT_FLAGS_PROGRESS") != "1"
         and os.getenv("FLAGS_TEST") != "1"
     ):
         cli.note_once("Refreshing flags...")
     try:
         script = python_util.Script(mod_path, mod_package, sys_path)
     except SyntaxError as e:
         self.log.warning(
             "cannot import flags from %s: invalid syntax on line %i\n"
             "  %s\n"
             "  %s^",
             mod_path,
             e.lineno,
             e.text.rstrip(),
             " " * (e.offset - 1),
         )
         return {}
     else:
         try:
             data = self._flags_data_for_script(script, flags_dest)
         except DataLoadError:
             return {}
         else:
             self._apply_abs_paths(data, os.path.dirname(script.src))
             self._cache_data(data, cached_data_path)
             return data
Esempio n. 2
0
 def resolve_model_op(self, opspec):
     path = os.path.join(config.cwd(), opspec)
     if not python_util.is_python_script(path):
         return None
     script = python_util.Script(path)
     if not self.is_keras_script(script):
         return None
     model = KerasScriptModelProxy(opspec, script.src)
     return model, model.op_name
Esempio n. 3
0
 def _load_and_cache_flags_data(self, mod_path, sys_path, cached_data_path):
     if os.getenv("NO_IMPORT_FLAGS_PROGRESS") != "1":
         cli.note_once("Refreshing flags...")
     script = python_util.Script(mod_path)
     try:
         data = self._flags_data_for_script(script, mod_path, sys_path)
     except DataLoadError:
         return {}
     else:
         self._apply_abs_paths(data, os.path.dirname(script.src))
         self._cache_data(data, cached_data_path)
         return data
Esempio n. 4
0
 def resolve_model_op(self, opspec):
     path = os.path.join(config.cwd(), opspec)
     if not python_util.is_python_script(path):
         self.log.debug("%s is not a python script", path)
         return None
     script = python_util.Script(path)
     if not self.is_keras_script(script):
         self.log.debug("%s is not a Keras script", path)
         return None
     model = KerasScriptModelProxy(script.src, opspec)
     self.log.debug("%s is a Keras script", path)
     return model, model.op_name
Esempio n. 5
0
 def python_script_opdef_loaded(self, opdef):
     if opdef.output_scalars is not None:
         return
     assert opdef.main, opdef
     main_mod = op_util.split_cmd(opdef.main)[0]
     model_paths = op_util.opdef_model_paths(opdef)
     try:
         _path, mod_path = python_util.find_module(main_mod, model_paths)
     except ImportError:
         return
     script = python_util.Script(mod_path)
     if self.is_keras_script(script):
         if opdef.output_scalars is None:
             opdef.output_scalars = KERAS_OUTPUT_SCALARS
Esempio n. 6
0
 def python_script_opdef(self, op):
     if (op.compare is not None and op.output_scalars is not None):
         return
     assert op.main, op
     plugin = pluginlib.for_name("python_script")
     main_mod = op_util.split_main(op.main)[0]
     model_paths = op_util.opdef_model_paths(op)
     try:
         _sys_path, mod_path = plugin.find_module(main_mod, model_paths)
     except ImportError:
         return
     script = python_util.Script(mod_path)
     if self.is_keras_script(script):
         if op.compare is None:
             flags = ["=%s" % f.name for f in op.flags]
             op.compare = flags + KERAS_BASE_COMPARE
         if op.output_scalars is None:
             op.output_scalars = KERAS_OUTPUT_SCALARS