torch.distributed.tensor 源代码
版权所有(C)Meta Platforms,Inc. 及其关联公司
导入
火炬
导入 torch.distributed.tensor._ops
强制导入所有内置 dtensor 操作
来自 torch.distributed.device_mesh
导入
设备网格,
初始化设备网格 # noqa: F401
来自 torch.distributed.tensor._api
导入 (
分发模块,
分发张量,
DTensor,
空的,
full,
一,
随机,
randn,
零值,
)
来自 torch.distributed.tensor.placement_types
导入 (
部分支持,
放置,
复制,
分片,
)
来自 torch.optim.optimizer
导入 (
_foreach_supported_types 是 _optim_foreach_supported_types,
)
来自 torch.utils._foreach_utils
导入 (
每个支持类型
是
_util_foreach 支持类型,
)
# dtensor 包中所有公共 API
全部 = [
DTensor,
"分布式张量",
"分布式模块",
"分片",
"复制",
"部分",
"放置",
"个",
"空的",
全部,
随机,
"randn",
零,
]
仅权重 torch.load
来自 ._dtensor_spec
导入 DTensorSpec
是 _DTensorSpec,
张量元
是
_张量元
torch.序列化.
添加安全全局变量(
[
设备网格,
_DTensorSpec,
_张量元,
DTensor,
部分支持,
复制,
分片,
]
)
# 将 DTensor 添加到 foreach 实现支持的类型列表中,以便优化器
# 以及 clip_grad_norm_,这样我们将在 CUDA 上尝试使用 foreach 而不是 for 循环实现。
如果 DTensor
不是
在 _optim_foreach_supported_types:
_optim_foreach_supported_types.append(DTensor)
如果 DTensor
不是
在 _util_foreach_supported_types:
_util_foreach_supported_types.append(DTensor) # type: ignore[arg-type]
# 设置公开的私有名称命名空间
DTensor.__module__ = torch.distributed.tensor
distribute_tensor.__module__ = torch.distributed.tensor
分布式模块.__module__ =
torch.distributed.tensor
一.__module__ =
torch.distributed.tensor
空的.__module__ =
torch.distributed.tensor
full.__module__ = torch.distributed.tensor
随机.__module__ =
torch.distributed.tensor
randn.__module__ = torch.distributed.tensor
零值.__module__ =
torch.distributed.tensor