Fake_Face_Detection / utils /basicblocks.py
shuklaji9810's picture
first commit
5e014de
import torch
import torch.nn as nn
import torch.nn.functional as F
BatchNorm2d = nn.BatchNorm2d
def conv3x3(in_planes, out_planes, stride = 1):
"""3x3 convolution with padding"""
return nn.Conv2d(in_planes, out_planes, kernel_size = 3, stride = stride,
padding = 1, bias = False)
def conv1x1(in_planes, out_planes, stride = 1):
"""3x3 convolution with padding"""
return nn.Conv2d(in_planes, out_planes, kernel_size = 1, stride = stride,
padding = 0, bias = False)
class BasicBlock(nn.Module):
def __init__(self, inplanes, outplanes, stride = 1):
super(BasicBlock, self).__init__()
self.conv1 = conv3x3(inplanes, outplanes, stride)
self.bn1 = BatchNorm2d(outplanes)
self.relu = nn.ReLU(inplace = True)
self.conv2 = conv3x3(outplanes, outplanes, 2*stride)
def forward(self, x):
out = self.conv1(x)
out = self.bn1(out)
out = self.relu(out)
out = self.conv2(out)
return out