马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
torch.full_like 是 PyTorch 中用于创建一个具有特定值的新张量,其形状和数据范例与给定张量雷同。
函数界说
- torch.full_like(input, fill_value, *, dtype=None, layout=None, device=None, requires_grad=False, memory_format=torch.preserve_format)
复制代码 参数阐明
- input (Tensor):
- 用来提供形状和其他属性(如装备、数据范例等)的参考张量。
- fill_value (float 或 int):
- dtype (torch.dtype, 可选):
- 新张量的数据范例。假如未指定,则与 input 的数据范例雷同。
- layout (torch.layout, 可选):
- device (torch.device, 可选):
- 新张量地点的装备。假如未指定,则与 input 的装备雷同。
- requires_grad (bool, 可选, 默认值:False):
- memory_format (torch.memory_format, 可选):
- 新张量的内存格式。默以为 torch.preserve_format,即与 input 雷同的内存格式。
返回值
- 返回一个新张量,其形状、装备、数据范例等与 input 雷同,但全部元素均为 fill_value。
示例
1. 根本用法
- import torch
- # 创建一个参考张量
- x = torch.tensor([[1, 2], [3, 4]])
- # 创建一个与 x 形状相同的新张量,元素全为 5
- result = torch.full_like(x, 5)
- print(result)
- # tensor([[5, 5],
- # [5, 5]])
复制代码 2. 指定命据范例
- result = torch.full_like(x, 5.0, dtype=torch.float32)
- print(result)
- # tensor([[5.0, 5.0],
- # [5.0, 5.0]])
复制代码 3. 指定装备
- result = torch.full_like(x, 3, device='cuda')
- print(result) # 张量在 GPU 上
复制代码 4. 须要梯度
- result = torch.full_like(x, 2, requires_grad=True)
- print(result.requires_grad) # True
复制代码 常见用途
- 快速初始化张量:在网络初始化、测试时创建具有固定值的张量。
- 占位符:天生形状与参考张量雷同的占位张量。
- 兼容性盘算:确保新张量与给定张量具有雷同的数据范例和装备。
留意事项
- 与 torch.full 的区别:torch.full 须要手动指定张量的形状,而 torch.full_like 主动利用参考张量的形状。
- 支持广播:fill_value 可以是标量。
- 性能优化:torch.full_like 会主动优扮装备和数据范例,便于高效地创建张量。
|