Spaces:
Running
Running
import torch.nn as nn | |
from torch.autograd import Variable | |
from .layers.SE_Resnet import SEResnet | |
from .layers.DUC import DUC | |
from opt import opt | |
def createModel(): | |
return FastPose() | |
class FastPose(nn.Module): | |
DIM = 128 | |
def __init__(self): | |
super(FastPose, self).__init__() | |
self.preact = SEResnet('resnet101') | |
self.suffle1 = nn.PixelShuffle(2) | |
self.duc1 = DUC(512, 1024, upscale_factor=2) | |
self.duc2 = DUC(256, 512, upscale_factor=2) | |
self.conv_out = nn.Conv2d( | |
self.DIM, opt.nClasses, kernel_size=3, stride=1, padding=1) | |
def forward(self, x: Variable): | |
out = self.preact(x) | |
out = self.suffle1(out) | |
out = self.duc1(out) | |
out = self.duc2(out) | |
out = self.conv_out(out) | |
return out | |