diff --git a/TensorFlow/built-in/cv/image_classification/ResNet50_ID0058_for_TensorFlow/src/mains/res50.py b/TensorFlow/built-in/cv/image_classification/ResNet50_ID0058_for_TensorFlow/src/mains/res50.py index d131f4afcec946c0112fe1dcb7d23080f4caf199..ccb3e77d090ff4cb4cf79aa956364f088d412af1 100644 --- a/TensorFlow/built-in/cv/image_classification/ResNet50_ID0058_for_TensorFlow/src/mains/res50.py +++ b/TensorFlow/built-in/cv/image_classification/ResNet50_ID0058_for_TensorFlow/src/mains/res50.py @@ -96,14 +96,17 @@ def main(): configs = 'configs' cfg = getattr(__import__(configs, fromlist=[cfg_file]), cfg_file) #------------------------------------------------------------------ + ''' if FLAGS.precision_mode == "allow_mix_precision": option = {} option["ACL_PRECISION_MODE"] = "allow_mix_precision" torch_npu.npu.set_option(option) + ''' config = cfg.res50_config() config['iterations_per_loop'] = int(FLAGS.iterations_per_loop) config['max_train_steps'] = int(FLAGS.max_train_steps) config['debug'] = FLAGS.debug + config['precision_mode'] = FLAGS.precision_mode config['eval'] = FLAGS.eval config['model_dir'] = FLAGS.model_dir if FLAGS.data_path: @@ -115,6 +118,7 @@ def main(): print("iterations_per_loop:%d" %(config['iterations_per_loop'])) print("max_train_steps :%d" %(config['max_train_steps'])) print("debug :%s" %(config['debug'])) + print("precision_mode :%s" %(config['precision_mode'])) print("eval :%s" %(config['eval'])) print("model_dir :%s" %(config['model_dir'])) print("over_dump :%s" %(config['over_dump'])) diff --git a/TensorFlow/built-in/cv/image_classification/ResNet50_ID0058_for_TensorFlow/src/trainers/gpu_base_trainer.py b/TensorFlow/built-in/cv/image_classification/ResNet50_ID0058_for_TensorFlow/src/trainers/gpu_base_trainer.py index 9a517ee1985239e05b9d9f73578011a183916f41..d51c767a822b8db201d6a379affe5f9944107cb8 100644 --- a/TensorFlow/built-in/cv/image_classification/ResNet50_ID0058_for_TensorFlow/src/trainers/gpu_base_trainer.py +++ b/TensorFlow/built-in/cv/image_classification/ResNet50_ID0058_for_TensorFlow/src/trainers/gpu_base_trainer.py @@ -99,18 +99,29 @@ class GPUBaseTrain(object): else : run_config = NPURunConfig(dump_config=dump_config, hcom_parallel=True, precision_mode="allow_mix_precision", save_summary_steps=0, log_step_count_steps=None, enable_data_pre_proc=True,save_checkpoints_secs=1e9, session_config=session_config, model_dir = self.config['model_dir'], iterations_per_loop=self.config['iterations_per_loop']) else: - if self.config['debug'] : - run_config = NPURunConfig(hcom_parallel=True, - precision_mode="allow_mix_precision", - enable_data_pre_proc=True, - save_checkpoints_steps=112590, - session_config=session_config, - model_dir = self.config['model_dir'], - iterations_per_loop=self.config['iterations_per_loop'], - keep_checkpoint_max=5, - enable_small_channel=1, - modify_mixlist='./src/trainers/ReduceMeanD.json') - else : + if self.config['debug']: + if self.config['precision_mode'] == 'must_keep_origin_dtype': + run_config = NPURunConfig(hcom_parallel=True, + precision_mode="must_keep_origin_dtype", + enable_data_pre_proc=True, + save_checkpoints_steps=112590, + session_config=session_config, + model_dir = self.config['model_dir'], + iterations_per_loop=self.config['iterations_per_loop'], + keep_checkpoint_max=5, + enable_small_channel=1) + else: + run_config = NPURunConfig(hcom_parallel=True, + precision_mode="allow_mix_precision", + enable_data_pre_proc=True, + save_checkpoints_steps=112590, + session_config=session_config, + model_dir=self.config['model_dir'], + iterations_per_loop=self.config['iterations_per_loop'], + keep_checkpoint_max=5, + enable_small_channel=1, + modify_mixlist='./src/trainers/ReduceMeanD.json') + else: run_config = NPURunConfig(hcom_parallel=True, precision_mode="allow_mix_precision", save_summary_steps=0, log_step_count_steps=None, enable_data_pre_proc=True,save_checkpoints_secs=1e9, session_config=session_config, model_dir = self.config['model_dir'], iterations_per_loop=self.config['iterations_per_loop']) # run_config = NPURunConfig(enable_data_pre_proc=True,save_checkpoints_secs=1e9, session_config=session_config, model_dir = self.config['model_dir'])