[英]How can I do the centercrop of 3D volumes inside the network model with pytorch
在keras
, Cropping3D
層用於在神經網絡內部對3D卷的張量進行中心Cropping3D
。 但是,我無法在pytorch中找到任何類似的東西,盡管它們具有用於2D圖像的torchvision.transforms.CenterCrop(size)
。
如何在網絡內部進行裁剪? 否則,我需要在預處理中做這件事,由於特定原因,這是我要做的最后一件事。
我是否需要編寫自定義層,例如沿每個軸切片輸入張量? 希望對此有所啟發
在PyTorch中,您不一定需要為所有內容編寫圖層,通常您可以在前進過程中直接進行所需的操作。 在對火炬張量進行操作時需要記住的基本規則是:
torch.sum
而不是轉換為numpy並使用numpy.sum
)。 x = x + ...
而不是x += ...
)。 也就是說,您可以使用切片,也許看起來像這樣
def forward(self, x):
...
x = self.conv3(x)
x = x[:, :, 5:20, 5:20] # crop out part of the feature map
x = self.relu3(x)
...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.