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 时,只需要实现 setupstepsave_checkpointload_checkpoint

其他可能有助于重写的方法包括 log_resultreset_configcleanup_export_model

Tune 会将此类转换为 Ray 角色,该角色运行在单独的进程中。默认情况下,Tune 还会将此进程的当前工作目录更改为其对应的试验级日志目录 self.logdir。这是为了设计成使得在同一物理节点上运行的不同试验不会意外地写入同一位置并相互干扰。

可以通过设置环境变量 RAY_CHDIR_TO_TRIAL_DIR=0 来禁用更改工作目录的行为。这允许访问原始工作目录中的文件,但对于只读目的应使用相对路径,并且如果在多台机器上运行,必须确保目录在所有节点上同步。

TUNE_ORIG_WORKING_DIR 环境变量是访问相对于原始工作目录路径的原始解决方案。此环境变量已被弃用,应改为使用上述 RAY_CHDIR_TO_TRIAL_DIR 环境变量。

此类支持从远程存储中进行检查点和恢复。

方法

__init__

初始化一个可训练对象。

cleanup

子类应在停止时覆盖此方法以进行任何清理。

default_resource_request

为给定的配置提供静态资源需求。

export_model

基于 export_formats 导出模型。

get_auto_filled_metrics

返回一个由可训练对象自动填充指标的字典。

get_config

返回由 Tune 传递的配置。

load_checkpoint

子类应重写此方法以实现 restore()。

log_result

子类可以选择性地重写此方法以自定义日志记录。

reset

重置试用以用于新的配置。

reset_config

在不重新启动试验的情况下重置配置。

resource_help

返回用于配置此可训练资源帮助字符串。

restore

从给定的模型检查点恢复训练状态。

save

将当前模型状态保存到检查点。

save_checkpoint

子类应重写此方法以实现 save()

setup

子类应重写此方法以进行自定义初始化。

step

子类应重写此方法以实现 train()。

stop

释放此可训练对象使用的所有资源。

train

运行一次训练的逻辑迭代。

train_buffered

运行多个训练迭代。

属性

iteration

当前训练迭代。

logdir

此可训练模型的结果和检查点的目录。

training_iteration

当前训练迭代次数(与 self.iteration 相同)。

trial_id

Trainable 对应试验的试验 ID。

trial_name

与此可训练对象对应的试验名称。

trial_resources

当前分配给此可训练对象试验的资源。