在Torch中,卷積操作是通過nn.Conv2d
模塊實現的。nn.Conv2d
模塊接受輸入的張量和卷積核,并返回卷積后的輸出張量。卷積操作可以在2D或3D張量上進行,具體取決于輸入張量的維度。
import torch
import torch.nn as nn
# 創建一個輸入張量
input_tensor = torch.randn(1, 3, 32, 32) # 輸入張量形狀為(batch_size, channels, height, width)
# 創建一個卷積層
conv_layer = nn.Conv2d(in_channels=3, out_channels=6, kernel_size=3, stride=1, padding=1)
# 對輸入張量進行卷積操作
output_tensor = conv_layer(input_tensor)
print(output_tensor.shape) # 輸出張量的形狀為(batch_size, out_channels, new_height, new_width)
在上面的代碼中,我們首先創建了一個3通道、32x32大小的輸入張量,然后創建了一個包含6個輸出通道和3x3卷積核的卷積層。最后,我們使用卷積層對輸入張量進行卷積操作,并打印輸出張量的形狀。