昇腾社区首页
中文
注册
开发者
下载

RunConfig参数支持说明

本节描述了TensorFlow RunConfig原生参数在NPURunConfig类中的支持情况。

NPURunConfig支持参数

  • model_dir:保存模型路径。默认值:None。

    如果NPURunConfig和NPUEstimator配置的model_dir不同,系统报错。

    如果NPURunConfig和NPUEstimator仅一个接口配置model_dir,以配置的路径为准。

    如果NPURunConfig和NPUEstimator均未配置model_dir,则系统在当前脚本执行路径创建一个model_dir_xxxxxxxxxx目录保存模型文件。

  • tf_random_seed:初始化变量的种子。默认值:None。
  • save_summary_steps:每隔多少step保存一次Summary。默认值:0。

    该参数仅适用于iterations_per_loop=1的场景,iterations_per_loop>1时,可能无法按照配置的值保存,请参考“Log/Summary”专题实现信息保存。

  • save_checkpoints_steps:每隔多少step保存一次checkpoint。默认值:None。
    • 与save_checkpoints_secs不能同时配置。
    • 如果save_checkpoints_steps和save_checkpoints_secs都为None,则每隔100个step保存一次checkpoint。
    • iterations_per_loop>1的场景下,要求save_checkpoints_steps必须大于或等于iterations_per_loop,且是iterations_per_loop的整数倍,否则不会按照save_checkpoints_steps配置的值保存checkpoint数据。

    如果用户只希望在某个Device上保存checkpoint,而不希望在其他Device上保存checkpoint数据,可以按照如下方法修改训练脚本。

    TensorFlow原始代码:

    self._classifier=tf.estimator.Estimator(
      model_fn=cnn_model_fn,
      model_dir=self._model_dir,
      config=tf.estimator.RunConfig(
          save_checkpoints_steps=50 if hvd.rank() == 0 else None,
          keep_checkpoint_max=1))

    迁移后的代码:

    self._classifier=NPUEstimator(
      model_fn=cnn_model_fn,
      model_dir=self._model_dir,
      config=tf.estimator.NPURunConfig(
          save_checkpoints_steps=50 if get_rank_id() == 0 else 0,
          keep_checkpoint_max=1))
  • save_checkpoints_secs:每隔多少秒保存一次checkpoint。默认值:None。

    与save_checkpoints_steps不能同时配置。

  • session_config:设置session参数的ConfigProto格式对象。默认值:None。
  • keep_checkpoint_max:最大保存多少个Checkpoint文件。默认值:5。
  • keep_checkpoint_every_n_hours:保留N个小时的Checkpoint文件。默认值:10000,可有效禁用该功能。

    如需使用该功能,keep_checkpoint_max需要配置足够大。

  • log_step_count_steps:每隔多少step,记录global_step和loss值一次。默认值:100。

    该参数仅适用于iterations_per_loop=1的场景,iterations_per_loop>1时,可能无法按照配置的值保存,请参考“Log/Summary”专题实现信息保存。

NPURunConfig不支持参数

如下RunConfig中的参数在NPURunConfig中不支持。

  • train_distribute:指明分布式训练策略,分布式相关配置由experimental_distribute指定。

    仅TF Adapter迁移工具会使用该参数,不建议用户单独使用。

  • device_fn:获取每个Operation的Device字段的function。
  • protocol:可选参数,指定启动Server时使用的协议。无表示默认为GRPC。
  • eval_distribute:是否分布式验证,分布式相关配置由experimental_distribute指定。

    仅TF Adapter迁移工具会使用该参数,不建议用户单独使用。

  • experimental_distribute:分布式配置。