init
功能描述
初始化Rec SDK TensorFlow模型训练框架。
函数原型
1 | def init(**kwargs) |
**kwargs参数说明

- 使用sess run训练时:使用sess进行train/eval/save的步数,需要和train_steps/eval_steps/save_steps参数一致;
- 使用Estimator训练时:
- save_steps需要和定义NPURunConfig对象时的save_checkpoints_steps参数相同,且TF不支持设置为-1。
- max_steps需要和传递给est.train()/tf.estimator.TrainSpec()的max_steps参数相同,且TF不支持设置为-1。
- train_and_evaluate模式时,save_steps、max_steps要求同上;train_steps需要和save_steps参数相同;eval_steps需要和传递给tf.estimator.EvalSpec()的steps参数相同,且TF不支持设置为-1。
- 如果通过kwargs传递其他未说明参数,则Rec SDK TensorFlow内部不会使用到该参数。
- “max_steps”、“train_steps”和“eval_steps”不能同时为“0”,且传入的参数需要与实际保持一致。
- 当“use_dynamic_expansion”动态扩容参数为True时,请选用ByAddr类的优化器,如SGDByAddr、LazyAdamByAddress等。
- 在train_and_evaluate场景下不支持多轮eval。
- “max_steps”、“train_steps”、“eval_steps”和“save_steps”必须与实际训练情况保持一致。若不一致,可能会导致训练无法正常进行、训练出现精度问题等情况。
返回值说明
- 成功:None。
- 失败:抛出异常。
使用示例
1 2 | from mx_rec.util.initialize import init init(max_steps=200, train_steps=100, eval_steps=10, save_steps=100, use_dynamic=True, use_dynamic_expansion=False) |
参考资源
接口调用流程及示例,请参见迁移与训练。
父主题: 训练框架初始化与去初始化