---
title: RunConfig参数支持说明
description: "本节描述了TensorFlow RunConfig原生参数在NPURunConfig类中的支持情况。"
url: https://www.hiascend.com/document/detail/zh/TensorFlowCommercial/latest/migration/tfmigr1/tfmigr1_tfadapi_0041.html
sourcePath: /source/zh/TensorFlowCommercial/900/migration/tfmigr1/tfmigr1_tfadapi_0041.html
indexId: 121d2befbda49ad6d3cecb0abc0aee7ea5f032120485df8da38def8011d0504c79
---
# 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：分布式配置。
