반응형
멍청한 실수를 했지만..
반복하지 않기 위해 기록하고자 한다.
AttributeError: module 'torch.nn' has no attribute 'Conv2D'
속성에러 : torch.nn이라는 모듈에는 Conv2D라는 속성이 없다.
이상하다..
분명히 고쳤는데 왜 안될까...라고 생각하고 디버깅을 했다.
class Depthwise(nn.Module):
def __init__(self, in_channels, out_channels, stride=1):
super().__init__()
self.depthwise = nn.Sequential(
nn.Conv2d(in_channels, in_channels, 3, stride=stride, padding=1, groups=in_channels, bias=False),
nn.BatchNorm2d(in_channels),
nn.ReLU6()
)
self.pointwise = nn.Sequential(
nn.Conv2D(in_channels, out_channels, 1, stride=1, padding=0, bias=False),
nn.BatchNorm2d(out_channels),
nn.ReLU6()
)
def forward(self, x):
x = self.depthwise(x)
x = self.pointwise(x)
return x
위에는 소스코드고, self.depthwise부분을 #으로 디버깅 했는데도 똑같은 오류 떠서..
설마.. 하고 pointwise쪽 보니까 Conv2D로 틀리게 적어놨더라.
결론.
torch.nn은 Conv2D는 없고, Conv2d는 있다.
반응형