示例#1
0
def main(_):
    pp.pprint(flags.FLAGS.__flags)

    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)

    with tf.Session() as sess:
        if FLAGS.dataset == 'mnist':
            dcgan = DCGAN(sess,
                          image_size=FLAGS.image_size,
                          batch_size=FLAGS.batch_size,
                          y_dim=10,
                          dataset_name=FLAGS.dataset,
                          is_crop=FLAGS.is_crop,
                          checkpoint_dir=FLAGS.checkpoint_dir)
        else:
            dcgan = DCGAN(sess,
                          image_size=FLAGS.image_size,
                          batch_size=FLAGS.batch_size,
                          dataset_name=FLAGS.dataset,
                          is_crop=FLAGS.is_crop,
                          checkpoint_dir=FLAGS.checkpoint_dir)

        if FLAGS.is_infer:
            dcgan.infer(FLAGS)
        elif FLAGS.metalconv is None and FLAGS.is_train:
            dcgan.train(FLAGS)
        else:
            dcgan.load(FLAGS.checkpoint_dir)

        if FLAGS.metalconv is not None:
            dcgan.convertToMPS(FLAGS.metalconv)

        if FLAGS.visualize:
            to_json("./web/js/layers.js",
                    [dcgan.h0_w, dcgan.h0_b, dcgan.g_bn0],
                    [dcgan.h1_w, dcgan.h1_b, dcgan.g_bn1],
                    [dcgan.h2_w, dcgan.h2_b, dcgan.g_bn2],
                    [dcgan.h3_w, dcgan.h3_b, dcgan.g_bn3],
                    [dcgan.h4_w, dcgan.h4_b, None])

            # Below is codes for visualization
            OPTION = 2
            visualize(sess, dcgan, FLAGS, OPTION)