跳转至

__init__.py — verl/single_controller/base/__init__.py

文件路径

verl/single_controller/base/__init__.py

文件概述

base 子模块的入口文件,负责从子模块中导入并暴露四个核心类。这个文件定义了 single_controller 模块对外的公共 API。

关键代码讲解

from .worker import Worker
from .worker_group import ClassWithInitArgs, ResourcePool, WorkerGroup

__all__ = ["Worker", "WorkerGroup", "ClassWithInitArgs", "ResourcePool"]
  • 从 worker.py 导入 Worker 类
  • 从 worker_group.py 导入 ClassWithInitArgs、ResourcePool、WorkerGroup 三个类
  • __all__ 列表精确控制了哪些名称可以被 from verl.single_controller.base import * 导出

核心类/函数列表

名称 来源文件 说明
Worker worker.py 分布式 Worker 基类,代表一个计算进程
WorkerGroup worker_group.py Worker 组管理器,管理多个 Worker 的生命周期和方法调用
ClassWithInitArgs worker_group.py 延迟实例化包装器,存储类和构造参数供稍后创建
ResourcePool worker_group.py 资源池,描述集群中各节点的进程数量

与其他模块的关系

  • 被 verl/single_controller/__init__.py 导入:上层 __init__.py 通过 from .base import * 重新导出这里的所有类
  • 被 verl/single_controller/ray/base.py 依赖:Ray 后端实现继承这些基类

小结

这个文件非常简短,纯粹是一个导出接口定义。它让你清楚地知道 base 子模块提供了哪四个核心抽象。