[英]How to use nn.conv2d to do the same function as nn.conv1d?
[英]How to determine parameters for nn.Conv2d()
我正在閱讀這篇研究論文( https://www.cs.cmu.edu/~rsalakhu/papers/oneshot1.pdf )並嘗試遵循 ZE1ADBCBB92C6202D0B3EZ619F9 上的代碼我不明白 nn.Conv2d() 的參數是如何確定的。 對於第一個 Conv2d:64@96*96 是否意味着 64 個通道,尺寸為 96 x 96 kernel 尺寸? 如果是這樣,那么為什么 function 中的 kernel 尺寸為 10? 我已經用谷歌搜索了參數及其含義,從我閱讀的內容中我了解到它的(input_channels, output_channels, kernel_size)
這里是 github 帖子:https://github.com/fangpin/siamese-pytorch/blob/master/train.py
參考研究論文的第 4 頁有 model 原理圖。
self.conv = nn.Sequential(
nn.Conv2d(1, 64, 10), # 64@96*96
nn.ReLU(inplace=True),
nn.MaxPool2d(2), # 64@48*48
nn.Conv2d(64, 128, 7),
nn.ReLU(), # 128@42*42
nn.MaxPool2d(2), # 128@21*21
nn.Conv2d(128, 128, 4),
nn.ReLU(), # 128@18*18
nn.MaxPool2d(2), # 128@9*9
nn.Conv2d(128, 256, 4),
nn.ReLU(), # 256@6*6
)
self.liner = nn.Sequential(nn.Linear(9216, 4096), nn.Sigmoid())
self.out = nn.Linear(4096, 1)
如果您查看 model 原理圖,它顯示了兩件事,
nn.Conv2D
操作的輸出) 例如第一個conv2d
層是 64@10x10,意味着 64 個 output 通道和一個 10x10 kernel。
而特征 map 是64@96x96
,它來自對105x105x1
大小的輸入應用64@10x10
卷積運算。 這樣,您可以獲得 64 個 output 通道和105-10+1=96
大小的寬度和高度。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.