ray.tune.Trainable#
- class ray.tune.Trainable(config: Dict[str, Any] = None, logger_creator: Callable[[Dict[str, Any]], Logger] = None, storage: StorageContext | None = None)[源代码]#
基类:
object
可训练模型、函数等的抽象类。
对可训练对象调用
train()
将执行一次逻辑训练迭代。根据经验,一次训练调用的执行时间应足够长以避免开销(即超过几秒),但又要足够短以定期报告进度(即最多几分钟)。调用
save()
应将可训练对象的训练状态保存到磁盘,而restore(path)
应将可训练对象恢复到给定状态。通常情况下,当你子类化 Trainable 时,只需要实现
setup
、step
、save_checkpoint
和load_checkpoint
。其他可能有助于重写的方法包括
log_result
、reset_config
、cleanup
和_export_model
。Tune 会将此类转换为 Ray 角色,该角色运行在单独的进程中。默认情况下,Tune 还会将此进程的当前工作目录更改为其对应的试验级日志目录
self.logdir
。这是为了设计成使得在同一物理节点上运行的不同试验不会意外地写入同一位置并相互干扰。可以通过设置环境变量
RAY_CHDIR_TO_TRIAL_DIR=0
来禁用更改工作目录的行为。这允许访问原始工作目录中的文件,但对于只读目的应使用相对路径,并且如果在多台机器上运行,必须确保目录在所有节点上同步。TUNE_ORIG_WORKING_DIR
环境变量是访问相对于原始工作目录路径的原始解决方案。此环境变量已被弃用,应改为使用上述RAY_CHDIR_TO_TRIAL_DIR
环境变量。此类支持从远程存储中进行检查点和恢复。
方法
初始化一个可训练对象。
子类应在停止时覆盖此方法以进行任何清理。
为给定的配置提供静态资源需求。
基于 export_formats 导出模型。
返回一个由可训练对象自动填充指标的字典。
返回由 Tune 传递的配置。
子类应重写此方法以实现 restore()。
子类可以选择性地重写此方法以自定义日志记录。
重置试用以用于新的配置。
在不重新启动试验的情况下重置配置。
返回用于配置此可训练资源帮助字符串。
从给定的模型检查点恢复训练状态。
将当前模型状态保存到检查点。
子类应重写此方法以实现
save()
。子类应重写此方法以进行自定义初始化。
子类应重写此方法以实现 train()。
释放此可训练对象使用的所有资源。
运行一次训练的逻辑迭代。
运行多个训练迭代。
属性
当前训练迭代。
此可训练模型的结果和检查点的目录。
当前训练迭代次数(与
self.iteration
相同)。Trainable 对应试验的试验 ID。
与此可训练对象对应的试验名称。
当前分配给此可训练对象试验的资源。