示例#1
0
文件: main.py 项目: xiaosanmeng/GAN
def main(_):
    if FLAGS.input_width is None:
        FLAGS.input_width = FLAGS.input_height
    if FLAGS.output_width is None:
        FLAGS.output_width = FLAGS.output_height

    if not os.path.exists(FLAGS.checkpoint_dir):
        os.makedirs(FLAGS.checkpoint_dir)
    if not os.path.exists(FLAGS.sample_dir):
        os.makedirs(FLAGS.sample_dir)

    run_config = tf.ConfigProto(allow_soft_placement=True)
    run_config.gpu_options.allow_growth = True
    with tf.Session(config=run_config) as sess:
        dcgan = DCGAN(sess,
                      input_depth=FLAGS.input_depth,
                      input_width=FLAGS.input_width,
                      input_height=FLAGS.input_height,
                      output_depth=FLAGS.output_depth,
                      output_width=FLAGS.output_width,
                      output_height=FLAGS.output_height,
                      batch_size=FLAGS.batch_size,
                      sample_num=1,
                      c_dim=FLAGS.c_dim,
                      dataset_name=FLAGS.dataset,
                      data_type=FLAGS.data_type,
                      mode=FLAGS.mode,
                      checkpoint_dir=FLAGS.checkpoint_dir,
                      training=FLAGS.is_train)

        if FLAGS.is_train:
            dcgan.train(FLAGS)
            exit(0)
        else:
            if not dcgan.load(FLAGS.checkpoint_dir):
                raise Exception("[!] Train a model first, then run test mode")

        sample_z = np.random.uniform(-1., 1.,
                                     size=(10, 1, 100)).astype(np.float32)
        dcgan.same(sample_z, radio=1)