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)
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)
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)
def map_out_to_loss(self, innerprod1_size): return cudafy(nn.Linear(in_features=innerprod1_size, out_features=200), self.use_cuda)