def main(args): cfg = vars(args) cfg["session_dir"] = create_session_dir("./sessions") init_session_log(cfg) m_gen = Generator(z_dim=cfg["z_dim"], num_layers=cfg["num_layers"], num_base_chans=cfg["num_base_chans"]) m_disc = Discriminator(num_base_chans=cfg["num_base_chans"], num_layers=cfg["num_layers"] - 1) logging.info("Generator:\n") logging.info(str(m_gen)) logging.info("\n\n") logging.info("Discriminator:\n") logging.info(str(m_disc)) logging.info("\n\n") train_loader = get_loader(cfg) make_first_batch(train_loader, cfg) cudev = cfg["cuda"] if cudev >= 0 and not torch.cuda.is_available(): raise RuntimeError("CUDA device specified but CUDA not available") if cudev >= 0: m_gen.cuda(cudev) m_disc.cuda(cudev) betas = (cfg["beta1"], cfg["beta2"]) optD = torch.optim.Adam(m_disc.parameters(), lr=cfg["lr_d"], betas=betas) optG = torch.optim.Adam(m_gen.parameters(), lr=cfg["lr_g"], betas=betas) train(m_gen, m_disc, train_loader, (optD, optG), cfg)
def main(args): cfg = vars(args) cfg["session_dir"] = create_session_dir("./sessions") m_gen = Generator(cfg["z_dim"]) m_disc = Discriminator() if len( cfg["resume_path"] ) > 0: cfg["session_dir"] = os.path.dirname( os.path.abspath(\ cfg["resume_path"] ) ) start_epoch = load_models(m_gen, m_disc, cfg) filemode = "a" else: start_epoch = 0 filemode = "w" init_session_log(cfg, filemode) train_loader = get_loader(cfg) cudev = cfg["cuda"] if cudev >= 0 and not torch.cuda.is_available(): raise RuntimeError("CUDA device specified but CUDA not available") if cudev >= 0: m_gen.cuda(cudev) m_disc.cuda(cudev) optG = torch.optim.SGD([{"params" : m_gen.parameters()}], lr=cfg["lr_g"], momentum=cfg["momentum"]) optD = torch.optim.SGD([{"params" : m_disc.parameters()}], lr=cfg["lr_d"], momentum=cfg["momentum"]) train(m_gen, m_disc, train_loader, (optD,optG), cfg, start_epoch)
def main(args): cfg = vars(args) cfg["session_dir"] = create_session_dir("./sessions") start_epoch = 0 filemode = "w" init_session_log(cfg, filemode) train_loader, test_loader = get_loaders(cfg) cudev = cfg["cuda"] if cudev >= 0 and not torch.cuda.is_available(): raise RuntimeError("CUDA device specified but CUDA not available") cnn = SimpleCNN() if cudev >= 0: cnn = cnn.cuda(cudev) optimizer = torch.optim.SGD([{ "params": cnn.parameters() }], lr=cfg["lr"], momentum=cfg["momentum"]) train(cnn, (train_loader, test_loader), optimizer, cfg)
def main(args): cfg = vars(args) cfg["session_dir"] = create_session_dir("./sessions") init_session_log(cfg) train(cfg)