调整内部机制#
TunerInternal#
- class ray.tune.impl.tuner_internal.TunerInternal(restore_path: str = None, storage_filesystem: pyarrow.fs.FileSystem | None = None, resume_config: ResumeConfig | None = None, trainable: str | Callable | Type[Trainable] | BaseTrainer | None = None, param_space: Dict[str, Any] | None = None, tune_config: TuneConfig | None = None, run_config: RunConfig | None = None, _tuner_kwargs: Dict | None = None, _entrypoint: AirEntrypoint = AirEntrypoint.TUNER)[源代码]#
外部可见
Tuner
背后的实际实现。面向外部的
Tuner
根据是否处于 Ray 客户端模式,在本地 Tuner 和远程 Tuner 之间进行多路复用。在 Ray 客户端模式下,外部
Tuner
将TunerInternal
封装成一个远程角色,该角色保证被放置在头节点上。TunerInternal
可以从头构建,在这种情况下,需要提供trainable
,以及可选的param_space
、tune_config
和run_config
。它也可以从之前的失败运行中恢复(给定
restore_path
)。- 参数:
restore_path – Tuner 可以从中恢复的路径。如果提供,则不需要其余的参数。
resume_config – 恢复配置以配置哪些试验继续进行。
trainable – 可调优的训练对象。
param_space – 调优任务的搜索空间。需要注意的是,预处理器和数据集都可以在这里进行调优。
tune_config – 调整算法特定的配置。更多信息请参考 ray.tune.tune_config.TuneConfig。
run_config – 特定于个别试验的运行时配置。如果传递了此配置,它将覆盖传递给 Trainer 的运行配置(如果适用)。更多信息请参考 ray.train.RunConfig。
试验#
- class ray.tune.experiment.trial.Trial(trainable_name: str, *, config: Dict | None = None, trial_id: str | None = None, storage: StorageContext | None = None, evaluated_params: Dict | None = None, experiment_tag: str = '', placement_group_factory: PlacementGroupFactory | None = None, stopping_criterion: Dict[str, float] | None = None, checkpoint_config: CheckpointConfig | None = None, export_formats: List[str] | None = None, restore_path: str | None = None, trial_name_creator: Callable[[Trial], str] | None = None, trial_dirname_creator: Callable[[Trial], str] | None = None, log_to_file: str | None | Tuple[str | None, str | None] = None, max_failures: int = 0, stub: bool = False, _setup_default_resource: bool = True)[源代码]#
一个试验对象保存了一次模型训练运行的状态。
试验本身由 TrialRunner 类管理,该类实现了将试验运行提交到 Ray 集群的事件循环。
试验从 PENDING 状态开始,一旦启动,就会过渡到 RUNNING 状态。如果发生错误,它会过渡到 ERROR 状态,否则在成功时过渡到 TERMINATED 状态。
每个试验都有资源分配。这些应使用
PlacementGroupFactory
来指定。- trainable_name#
要执行的可训练对象的名称。
- config#
提供包含已评估参数的配置字典。
- trial_id#
试验的唯一标识符。
- path#
存储此试验结果的路径。可以在本地节点或云存储上。
- local_path#
本地磁盘上存储结果的路径。
- remote_path#
云存储上存储结果的路径,如果未设置则为 None。
- relative_logdir#
试验目录相对于其试验目录的位置。
- evaluated_params#
通过搜索算法评估的参数,
- experiment_tag#
在控制台中显示试验名称的识别
- status#
PENDING、RUNNING、PAUSED、TERMINATED、ERROR 之一
- error_file#
此试验引发错误的文件路径。
开发者API: 此API可能会在Ray的次要版本之间发生变化。
- property local_dir#
警告
已弃用: 此API已被弃用,可能会在未来的Ray版本中移除。
- property checkpoint: Checkpoint | None#
如果已保存,则返回最近的检查点。
- update_resources(resources: dict | PlacementGroupFactory)[源代码]#
实验性功能:更新资源需求。
仅应在试验未运行时调用。
- 抛出:
ValueError – 如果试验状态为运行中。
- set_storage(new_storage: StorageContext)[源代码]#
更新试验的存储上下文。
如果
storage_path
或experiment_dir_name
发生了变化,那么这个设置器也会更新检查点管理器跟踪的所有检查点的路径。这使得用户在移动目录后仍能从检查点恢复。
- get_error() TuneError | None [源代码]#
如果在存储中存在,返回错误文本文件的跟踪作为 TuneError 对象。
这是试验遇到的最新错误的文本跟踪,用于错误不可序列化的情况。
FunctionTrainable#
注册表#
输出#
- class ray.tune.experimental.output.ProgressReporter(verbosity: AirVerbosity, progress_metrics: List[str] | List[Dict[str, str]] | None = None)[源代码]#
定期打印状态更新。
- class ray.tune.experimental.output.TrainReporter(verbosity: AirVerbosity, progress_metrics: List[str] | List[Dict[str, str]] | None = None)[源代码]#