LightningEnvironment¶
- class lightning.pytorch.plugins.environments.LightningEnvironment[source]¶
- Bases: - lightning.fabric.plugins.environments.cluster_environment.ClusterEnvironment- The default environment used by Lightning for a single node or free cluster (not managed). - There are two modes the Lightning environment can operate with: - The user only launches the main process by - python train.py ...with no additional environment variables set. Lightning will spawn new worker processes for distributed training in the current node.
- The user launches all processes manually or with utilities like - torch.distributed.launch. The appropriate environment variables need to be set, and at minimum- LOCAL_RANK.
 - If the main address and port are not provided, the default environment will choose them automatically. It is recommended to use this default environment for single-node distributed training as it provides a convenient way to launch the training script. - static detect()[source]¶
- Detects the environment settings corresponding to this cluster and returns - Trueif they match.- Return type
 
 - global_rank()[source]¶
- The rank (index) of the currently running process across all nodes and devices. - Return type
 
 - local_rank()[source]¶
- The rank (index) of the currently running process inside of the current node. - Return type
 
 - property creates_processes_externally: bool¶
- Returns whether the cluster creates the processes or not. - If at least - LOCAL_RANKis available as environment variable, Lightning assumes the user acts as the process launcher/job scheduler and Lightning will not launch new processes.- Return type