def __init__(self, opt):
    super(GMM, self).__init__()
    self.extraction_agnostic = FeatureExtraction(22, ngf=64, n_layers=3, norm_layer=nn.BatchNorm2d)
    self.extraction_cloth = FeatureExtraction(3, ngf=64, n_layers=3, norm_layer=nn.BatchNorm2d)
    self.l2norm = FeatureL2Norm()
    self.correlation = FeatureCorrelation()
    self.regression_zero = FeatureRegression(input_nc=192, output_dim=(2 * (opt.grid_size ** 2)))
    self.gridGen = TpsGridGen(opt.fine_height, opt.fine_width, grid_size=opt.grid_size)
    self.extraction_warped_cloth = FeatureExtraction(3, ngf=64, n_layers=3, norm_layer=nn.BatchNorm2d)
    self.regression_one = FeatureRegression(input_nc=192, output_dim=(2 * (opt.grid_size ** 2)))
def __init__(self, opt):
    super(GMM, self).__init__()
    self.extraction_agnostic = FeatureExtraction(22, ngf=64, n_layers=3, norm_layer=nn.BatchNorm2d)
    self.extraction_cloth = FeatureExtraction(3, ngf=64, n_layers=3, norm_layer=nn.BatchNorm2d)
    self.l2norm = FeatureL2Norm()
    self.correlation = FeatureCorrelation()
    self.regression_zero = FeatureRegression(input_nc=192, output_dim=(2 * (opt.grid_size ** 2)))
    self.gridGen = TpsGridGen(opt.fine_height, opt.fine_width, grid_size=opt.grid_size)
    self.extraction_warped_cloth = FeatureExtraction(3, ngf=64, n_layers=3, norm_layer=nn.BatchNorm2d)
    self.regression_one = FeatureRegression(input_nc=192, output_dim=(2 * (opt.grid_size ** 2)))