Exemple #1
0
def main(config):
    # For fast training.
    cudnn.benchmark = True

    # Create directories if not exist.
    if not os.path.exists(config.log_dir):
        os.makedirs(config.log_dir)
    if not os.path.exists(config.model_save_dir):
        os.makedirs(config.model_save_dir)
    if not os.path.exists(config.sample_dir):
        os.makedirs(config.sample_dir)
    if not os.path.exists(config.result_dir):
        os.makedirs(config.result_dir)

    A_loader = get_loader('/data/dm/data/BU_3DFE/train',
                          crop_size=900,
                          image_size=100,
                          batch_size=8,
                          mode='train')
    B_loader = get_loader('/data/dm/data/RAF_DB/train',
                          crop_size=100,
                          image_size=100,
                          batch_size=8,
                          mode='train')

    # Solver for training and testing StarGAN.
    solver = Solver(A_loader, B_loader, config)
    solver.train_multi()
Exemple #2
0
    discriminator.cuda()
    classifier.cuda()
    adversarial_loss.cuda()
    task_loss.cuda()

# Initialize weights
generator.apply(weights_init_normal)
discriminator.apply(weights_init_normal)
classifier.apply(weights_init_normal)
########
writer = SummaryWriter('runs9')
# # model = LeNet()
# dummy_input = torch.rand(64, 3, 32, 32) #假设输入13张1*28*28的图片
# with SummaryWriter(comment='generator') as w:
#     w.add_graph(generator, (dummy_input, ))
dataloader_A = get_loader('/data/dm/data/BU_3DFE/train',crop_size=900,
                          image_size=opt.img_size, batch_size=opt.batch_size,num_workers=1)
dataloader_B = get_loader('/data/dm/data/RAF_DB/train',crop_size=100,
                          image_size=opt.img_size, batch_size=opt.batch_size,num_workers=1)
# Optimizers
optimizer_G = torch.optim.Adam( itertools.chain(generator.parameters(), classifier.parameters()),
                                lr=opt.lr, betas=(opt.b1, opt.b2))
# g_optimizer = torch.optim.Adam(self.G.parameters(), self.g_lr, [self.beta1, self.beta2])
optimizer_D = torch.optim.Adam(discriminator.parameters(), lr=opt.lr, betas=(opt.b1, opt.b2))

FloatTensor = torch.cuda.FloatTensor if cuda else torch.FloatTensor
LongTensor = torch.cuda.LongTensor if cuda else torch.LongTensor

# ----------
#  Training
# ----------
Exemple #3
0
# Initialize weights
generator.apply(weights_init_normal)
discriminator.apply(weights_init_normal)
classifier.apply(weights_init_normal)
########
writer = SummaryWriter('runs1')
# # model = LeNet()
# dummy_input = torch.rand(64, 3, 32, 32) #假设输入13张1*28*28的图片
# with SummaryWriter(comment='generator') as w:
#     w.add_graph(generator, (dummy_input, ))
#服务器上路径
# dataloader_A = get_loader('/data/dm/data/BU_3DFE/train',crop_size=900,
#                           image_size=opt.img_size, batch_size=opt.batch_size,num_workers=1)
# dataloader_B = get_loader('/data/dm/data/RAF_DB/train',crop_size=100,
#                           image_size=opt.img_size, batch_size=opt.batch_size,num_workers=1)
dataloader_A = get_loader('E:/Mydocuments/coders/DATASETS/BU_3DFE_backup/BU_3DFE/train',crop_size=900,
                          image_size=opt.img_size, batch_size=opt.batch_size,num_workers=1)
dataloader_B = get_loader('E:/Mydocuments/coders/DATASETS/RAF_DB/basic/images_aligned/train',crop_size=100,
                          image_size=opt.img_size, batch_size=opt.batch_size,num_workers=1)
# Optimizers
optimizer_G = torch.optim.Adam( itertools.chain(generator.parameters(), classifier.parameters()),
                                lr=opt.lr, betas=(opt.b1, opt.b2))
# g_optimizer = torch.optim.Adam(self.G.parameters(), self.g_lr, [self.beta1, self.beta2])
optimizer_D = torch.optim.Adam(discriminator.parameters(), lr=opt.lr, betas=(opt.b1, opt.b2))

FloatTensor = torch.cuda.FloatTensor if cuda else torch.FloatTensor
LongTensor = torch.cuda.LongTensor if cuda else torch.LongTensor

# ----------
#  Training
# ----------
Exemple #4
0
if cuda:
    classifier.cuda()
    task_loss.cuda()
# Initialize weights
classifier.apply(weights_init_normal)
########
writer = SummaryWriter('runs')
# # model = LeNet()
# dummy_input = torch.rand(64, 3, 32, 32) #假设输入13张1*28*28的图片
# with SummaryWriter(comment='classifier') as w:
#     w.add_graph(classifier, (dummy_input, ))
#E:/Mydocuments/coders/DATASETS/RAF_DB/basic/images_aligned/train
#/data/dm/data/RAF_DB/train
dataloader_A = get_loader('/data/dm/data/SFEW/train',
                          crop_size=100, image_size=opt.img_size, batch_size=opt.batch_size,
                          num_workers=1)
dataloader_B = get_loader('/data/dm/data/SFEW/test',
                          crop_size=100, image_size=opt.img_size, batch_size=opt.batch_size,
                          num_workers=1)
# Optimizers
optimizer_C = torch.optim.Adam( classifier.parameters(), lr=opt.lr, betas=(opt.b1, opt.b2))

FloatTensor = torch.cuda.FloatTensor if cuda else torch.FloatTensor
LongTensor = torch.cuda.LongTensor if cuda else torch.LongTensor
# -------------------------------------------------
#              Training
# -------------------------------------------------

# Keeps 100 accuracy measurementsc
train_performance = []