from __future__ import annotations

from typing import Any, Optional

from paddle.fluid.framework import default_main_program as default_main_program

MODEL_PARALLEL_RNG: str

class RNGStatesTracker:
    states_: Any = ...
    seeds_: Any = ...
    def __init__(self) -> None: ...
    def reset(self) -> None: ...
    def add(self, name: Any, seed: Any) -> None: ...
    def get_states_tracker(self): ...
    def set_states_tracker(self, states: Any) -> None: ...
    def rng_state(self, name: Any = ...) -> None: ...

RNG_STATE_TRACKER: Any

def get_rng_state_tracker(): ...
def model_parallel_random_seed(seed: Optional[Any] = ...) -> None: ...
def determinate_seed(rng_name: Any): ...
def dropout(
    x: Any,
    p: float = ...,
    axis: Optional[Any] = ...,
    rng_name: Optional[Any] = ...,
    training: bool = ...,
    mode: str = ...,
    name: Optional[Any] = ...,
): ...
