1. 程式人生 > 程式設計 >pytorch1.0中torch.nn.Conv2d用法詳解

pytorch1.0中torch.nn.Conv2d用法詳解

Conv2d的簡單使用

torch 包 nn 中 Conv2d 的用法與 tensorflow 中類似,但不完全一樣。

在 torch 中,Conv2d 有幾個基本的引數,分別是

in_channels 輸入影象的深度

out_channels 輸出影象的深度

kernel_size 卷積核大小,正方形卷積只為單個數字

stride 卷積步長,預設為1

padding 卷積是否造成尺寸丟失,1為不丟失

與tensorflow不一樣的是,pytorch中的使用更加清晰化,我們可以使用這種方法定義輸入與輸出影象的深度並同時指定使用的卷積核的大小。

而我們的輸入則由經由 Conv2d 定義的引數傳入,如下所示:

# 定義一個輸入深度為1,輸出為6,卷積核大小為 3*3 的 conv1 變數
self.conv1 = nn.Conv2d(1,6,3)
# 傳入原始輸入x,以獲得長寬與x相當,深度為6的卷積部分
x = self.conv1(x)

要注意的是,Conv2d中所需要的輸入順序為

batchsize,nChannels,Height,Width

其他的簡單使用

同樣的,與 Conv2d 類似的函式還有很多,類似 max_pool2d、relu等等,他們的使用方法與 Conv2d 極為類似,如下所示:

# relu函式的使用
F.relu(self.conv1(x))
# 池化函式的使用
F.max_pool2d(F.relu(self.conv2(x)),2)

以上這篇pytorch1.0中torch.nn.Conv2d用法詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。