# 2016-09

import argparse
import os
import tensorflow as tf

from model import DCGAN

parser = argparse.ArgumentParser()
parser.add_argument('--lr', type=float, default=0.0005)
parser.add_argument('--momentum', type=float, default=0.75)
parser.add_argument('--nIter', type=int, default=2000)
parser.add_argument('--imgSize', type=int, default=64)
parser.add_argument('--lam', type=float, default=0.1)
parser.add_argument('--checkpointDir', type=str, default='checkpoint')
parser.add_argument('--outDir', type=str, default='projections')
parser.add_argument('imgs', type=str, nargs='+')

args = parser.parse_args()

assert (os.path.exists(args.checkpointDir))

config = tf.ConfigProto()
config.gpu_options.allow_growth = True
with tf.Session(config=config) as sess:
    dcgan = DCGAN(sess,
                  image_size=args.imgSize,
                  checkpoint_dir=args.checkpointDir,
                  lam=args.lam)
    dcgan.project(args)