Example #1
0
 def map_out_conv(self, in_channels):
     return cudafy(
         HALNet.HALNetConvBlock(kernel_size=3,
                                stride=1,
                                filters=21,
                                in_channels=in_channels,
                                padding=1), self.use_cuda)
 def forward_prior(self, conv4fout):
     out_prior = self.map_out_conv_prior(conv4fout)
     out_prior = self.main_loss_deconv_prior1(out_prior)
     out_prior = out_prior.view(
         (out_prior.shape[0], out_prior.shape[2], out_prior.shape[3]))
     if self.cross_entropy:
         out_prior = cudafy(self.softmax_1d(out_prior), self.use_cuda)
     return out_prior
    def __init__(self, params_dict):
        super(HALNet_prior, self).__init__(params_dict)

        if self.cross_entropy:
            self.softmax_final = cudafy(HALNet.SoftmaxLogProbability2D(),
                                        self.use_cuda)

        self.softmax_final = cudafy(HALNet.SoftmaxLogProbability2D(),
                                    self.use_cuda)

        self.map_out_conv_prior = cudafy(
            HALNet.HALNetConvBlock(kernel_size=3,
                                   stride=1,
                                   filters=1,
                                   in_channels=256,
                                   padding=1), self.use_cuda)
        self.main_loss_deconv_prior1 = cudafy(
            nn.Upsample(size=self.prior_size, mode='bilinear'), self.use_cuda)
        self.softmax_1d = cudafy(SoftmaxLogProbability1D(), self.use_cuda)
Example #4
0
 def __init__(self, params_dict):
     super(HALNet, self).__init__()
     # initialize variables
     self.joint_ixs = parse_model_param(params_dict,
                                        'joint_ixs',
                                        default_value="Mandatory")
     self.use_cuda = parse_model_param(params_dict,
                                       'use_cuda',
                                       default_value=False)
     self.num_joints = len(self.joint_ixs)
     self.cross_entropy = parse_model_param(params_dict,
                                            'cross_entropy',
                                            default_value=False)
     # build network
     self.conv1 = cudafy(
         HALNetConvBlock(kernel_size=7,
                         stride=1,
                         filters=64,
                         in_channels=4,
                         padding=3), self.use_cuda)
     self.mp1 = cudafy(nn.MaxPool2d(kernel_size=3, stride=2, padding=1),
                       self.use_cuda)
     self.res2a = cudafy(
         HALNetResBlockConv(stride=1,
                            filters1=64,
                            filters2=256,
                            padding_right1=1), self.use_cuda)
     self.res2b = cudafy(HALNetResBlockIDSkip(filters1=64, filters2=256),
                         self.use_cuda)
     self.res2c = cudafy(HALNetResBlockIDSkip(filters1=64, filters2=256),
                         self.use_cuda)
     self.res3a = cudafy(
         HALNetResBlockConv(stride=2,
                            filters1=128,
                            filters2=512,
                            padding_right3=1,
                            first_in_channels=256), self.use_cuda)
     self.interm_loss1 = cudafy(
         HALNetConvBlock(kernel_size=3,
                         stride=1,
                         filters=self.num_joints,
                         in_channels=512,
                         padding=1), self.use_cuda)
     self.interm_loss1_deconv = cudafy(
         nn.Upsample(scale_factor=4, mode='bilinear', align_corners=True),
         self.use_cuda)
     self.interm_loss1_softmax = cudafy(SoftmaxLogProbability2D(),
                                        self.use_cuda)
     self.res3b = cudafy(HALNetResBlockIDSkip(filters1=128, filters2=512),
                         self.use_cuda)
     self.res3c = cudafy(HALNetResBlockIDSkip(filters1=128, filters2=512),
                         self.use_cuda)
     self.res4a = cudafy(
         HALNetResBlockConv(stride=2,
                            filters1=256,
                            filters2=1024,
                            padding_right3=1,
                            first_in_channels=512), self.use_cuda)
     self.interm_loss2 = cudafy(
         HALNetConvBlock(kernel_size=3,
                         stride=1,
                         filters=self.num_joints,
                         in_channels=1024,
                         padding=1), self.use_cuda)
     self.interm_loss2_deconv = cudafy(
         nn.Upsample(scale_factor=8, mode='bilinear', align_corners=True),
         self.use_cuda)
     self.interm_loss2_softmax = cudafy(SoftmaxLogProbability2D(),
                                        self.use_cuda)
     self.res4b = cudafy(HALNetResBlockIDSkip(filters1=256, filters2=1024),
                         self.use_cuda)
     self.res4c = cudafy(HALNetResBlockIDSkip(filters1=256, filters2=1024),
                         self.use_cuda)
     self.res4d = cudafy(HALNetResBlockIDSkip(filters1=256, filters2=1024),
                         self.use_cuda)
     self.conv4e = cudafy(
         HALNetConvBlock(kernel_size=3,
                         stride=1,
                         filters=512,
                         in_channels=1024,
                         padding=1), self.use_cuda)
     self.interm_loss3 = cudafy(
         HALNetConvBlock(kernel_size=3,
                         stride=1,
                         filters=self.num_joints,
                         in_channels=512,
                         padding=1), self.use_cuda)
     self.interm_loss3_deconv = cudafy(
         nn.Upsample(scale_factor=8, mode='bilinear', align_corners=True),
         self.use_cuda)
     self.interm_loss3_softmax = cudafy(SoftmaxLogProbability2D(),
                                        self.use_cuda)
     self.conv4f = cudafy(
         HALNetConvBlock(kernel_size=3,
                         stride=1,
                         filters=256,
                         in_channels=512,
                         padding=1), self.use_cuda)
     self.main_loss_conv = cudafy(
         HALNetConvBlock(kernel_size=3,
                         stride=1,
                         filters=self.num_joints,
                         in_channels=256,
                         padding=1), self.use_cuda)
     self.main_loss_deconv = cudafy(
         nn.Upsample(scale_factor=8, mode='bilinear', align_corners=True),
         self.use_cuda)
     if self.cross_entropy:
         self.softmax_final = cudafy(SoftmaxLogProbability2D(),
                                     self.use_cuda)
Example #5
0
    def __init__(self, params_dict):
        super(JORNet, self).__init__(params_dict)

        self.num_joints = 20
        self.main_loss_conv = cudafy(
            HALNet.HALNetConvBlock(kernel_size=3,
                                   stride=1,
                                   filters=21,
                                   in_channels=256,
                                   padding=1), self.use_cuda)
        self.main_loss_deconv1 = cudafy(
            nn.Upsample(size=self.crop_res, mode='bilinear'), self.use_cuda)
        #self.main_loss_deconv2 = cudafy(nn.Upsample(scale_factor=1, mode='bilinear'),
        #                                self.use_cuda)
        if self.cross_entropy:
            self.softmax_final = cudafy(HALNet.SoftmaxLogProbability2D(),
                                        self.use_cuda)
        self.innerproduct1_joint1 = cudafy(
            nn.Linear(in_features=524288, out_features=200), self.use_cuda)
        self.innerproduct2_joint1 = cudafy(
            nn.Linear(in_features=200, out_features=self.num_joints * 3),
            self.use_cuda)

        self.innerproduct1_joint2 = cudafy(
            nn.Linear(in_features=262144, out_features=200), self.use_cuda)
        self.innerproduct2_joint2 = cudafy(
            nn.Linear(in_features=200, out_features=self.num_joints * 3),
            self.use_cuda)

        self.innerproduct1_joint3 = cudafy(
            nn.Linear(in_features=131072, out_features=200), self.use_cuda)
        self.innerproduct2_joint3 = cudafy(
            nn.Linear(in_features=200, out_features=self.num_joints * 3),
            self.use_cuda)

        self.innerproduct1_joint_main = cudafy(
            nn.Linear(in_features=65536, out_features=200), self.use_cuda)
        self.innerproduct2_join_main = cudafy(
            nn.Linear(in_features=200, out_features=self.num_joints * 3),
            self.use_cuda)
Example #6
0
 def map_out_to_loss(self, innerprod1_size):
     return cudafy(nn.Linear(in_features=innerprod1_size, out_features=200),
                   self.use_cuda)