Pytorch:torch.nn.functional.pad()

torch.nn.functional.pad 是PyTorch函数,用于在张量的各个轴上添加填充 。这个函数是 torch.nn.functional 模块下的一个实用函数,它可以自由地添加不同数量的填充到输入张量的任意边界

用法

使用 torch.nn.functional.pad 需要提供输入张量一个填充值 列表,该列表指明了每个维度两侧的填充量 。此外,还可以指定填充类型,例如 'constant'(使用固定值进行填充)、'reflect'(使用反射填充方式)、'replicate'(使用重复模式填充)等。

以下是几个 pad 函数的例子:

python 复制代码
import torch
import torch.nn.functional as F

# 创建一个二维矩阵
tensor = torch.arange(9).view(3, 3)

# 将 tensor 周围填充一层零
# 填充格式为:(左, 右, 上, 下)
padded_tensor = F.pad(tensor, (1, 1, 1, 1), 'constant', 0)

# 使用反射方式填充
# 反射填充不需要额外的填充值,会将tensor边缘的值反射至填充部分
padded_tensor_reflect = F.pad(tensor, (1, 1, 1, 1), 'reflect')

# 使用重复模式填充
# 重复模式会取边缘的值并在填充区域重复它
padded_tensor_replicate = F.pad(tensor, (1, 1, 1, 1), 'replicate')

在实际应用中,填充操作通常用于确保某些卷积层或池化层后的尺寸满足要求,或者处理边界情况,比如图像处理中边界的处理等。

pad 函数的灵活性在于,它可以处理不同数量不同类型的填充需求,提供了实现各种填充策略的基础。

相关推荐
超级小龙虾1 分钟前
Augment Context Engine MCP
人工智能
行业探路者3 分钟前
健康宣教二维码是什么?主要有哪些创新优势?
人工智能·学习·音视频·二维码·产品介绍
长行9 分钟前
Python|Windows 安装 DeepSpeed 安装方法及报错 Unable to pre-compile async_io 处理
windows·python·deepspeed
百锦再9 分钟前
python之路并不一马平川:带你踩坑Pandas
开发语言·python·pandas·pip·requests·tools·mircro
Python之栈9 分钟前
5款拖拽式Python GUI生成器助你快速打造炫酷界面
python
灏瀚星空10 分钟前
基于 Python 与 GitHub,打造个人专属本地化思维导图工具全流程方案(上)
开发语言·人工智能·经验分享·笔记·python·个人开发·visual studio
用什么都重名10 分钟前
「实战指南」使用 Python 调用大模型(LLM)
python·大模型·llm·api调用
是Dream呀10 分钟前
Python从0到100(一百):基于Transformer的时序数据建模与实现详解
开发语言·python·transformer
资源存储库10 分钟前
【笔记】如何修改一个conda环境的python版本?
笔记·python·conda
xcLeigh10 分钟前
AI的提示词专栏:Prompt 与 Python Pandas 的结合使用指南
人工智能·python·ai·prompt·提示词