pytorch torch.full_like函数先容

[复制链接]
发表于 2025-11-11 20:51:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
torch.full_like 是 PyTorch 中用于创建一个具有特定值的新张量,其形状和数据范例与给定张量雷同。
函数界说
  1. 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, 可选):

    • 新张量的内存结构。默以为 input 的结构。

  •         device (torch.device, 可选):

    • 新张量地点的装备。假如未指定,则与 input 的装备雷同。

  •         requires_grad (bool, 可选, 默认值:False):

    • 假如为 True,新张量将须要梯度盘算。

  •         memory_format (torch.memory_format, 可选):

    • 新张量的内存格式。默以为 torch.preserve_format,即与 input 雷同的内存格式。

返回值


  • 返回一个新张量,其形状、装备、数据范例等与 input 雷同,但全部元素均为 fill_value。
示例

1. 根本用法
  1. import torch
  2. # 创建一个参考张量
  3. x = torch.tensor([[1, 2], [3, 4]])
  4. # 创建一个与 x 形状相同的新张量,元素全为 5
  5. result = torch.full_like(x, 5)
  6. print(result)
  7. # tensor([[5, 5],
  8. #         [5, 5]])
复制代码
2. 指定命据范例
  1. result = torch.full_like(x, 5.0, dtype=torch.float32)
  2. print(result)
  3. # tensor([[5.0, 5.0],
  4. #         [5.0, 5.0]])
复制代码
3. 指定装备
  1. result = torch.full_like(x, 3, device='cuda')
  2. print(result)  # 张量在 GPU 上
复制代码
4. 须要梯度
  1. result = torch.full_like(x, 2, requires_grad=True)
  2. print(result.requires_grad)  # True
复制代码
常见用途


  • 快速初始化张量:在网络初始化、测试时创建具有固定值的张量。
  • 占位符:天生形状与参考张量雷同的占位张量。
  • 兼容性盘算:确保新张量与给定张量具有雷同的数据范例和装备。

留意事项


  •         与 torch.full 的区别:torch.full 须要手动指定张量的形状,而 torch.full_like 主动利用参考张量的形状。
  •         支持广播:fill_value 可以是标量。
  •         性能优化:torch.full_like 会主动优扮装备和数据范例,便于高效地创建张量。
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表