sunshineatnoon
Add application file
1b2a9b1
import torch
import torch.nn as nn
## *************************** my functions ****************************
def predict_param(in_planes, channel=3):
return nn.Conv2d(in_planes, channel, kernel_size=3, stride=1, padding=1, bias=True)
def predict_mask(in_planes, channel=9):
return nn.Conv2d(in_planes, channel, kernel_size=3, stride=1, padding=1, bias=True)
def predict_feat(in_planes, channel=20, stride=1):
return nn.Conv2d(in_planes, channel, kernel_size=3, stride=stride, padding=1, bias=True)
def predict_prob(in_planes, channel=9):
return nn.Sequential(
nn.Conv2d(in_planes, channel, kernel_size=3, stride=1, padding=1, bias=True),
nn.Softmax(1)
)
#***********************************************************************
def conv(batchNorm, in_planes, out_planes, kernel_size=3, stride=1):
if batchNorm:
return nn.Sequential(
nn.Conv2d(in_planes, out_planes, kernel_size=kernel_size, stride=stride, padding=(kernel_size-1)//2, bias=False),
nn.BatchNorm2d(out_planes),
nn.LeakyReLU(0.1)
)
else:
return nn.Sequential(
nn.Conv2d(in_planes, out_planes, kernel_size=kernel_size, stride=stride, padding=(kernel_size-1)//2, bias=True),
nn.LeakyReLU(0.1)
)
def deconv(in_planes, out_planes):
return nn.Sequential(
nn.ConvTranspose2d(in_planes, out_planes, kernel_size=4, stride=2, padding=1, bias=True),
nn.LeakyReLU(0.1)
)