From 68542fcbda4df976390a966b2fbce03ad7bb9646 Mon Sep 17 00:00:00 2001 From: manthan-r-sheth Date: Mon, 30 Oct 2017 21:27:47 +0530 Subject: [PATCH] changes for integrating midiImages --- main.py | 4 ++-- model.py | 45 ++++++++++++++++++++++---------------------- solver.py | 56 +++++++++++++++++++++++++++++++++++++++++++++++++------ 3 files changed, 74 insertions(+), 31 deletions(-) diff --git a/main.py b/main.py index 2219eae..8037bd2 100644 --- a/main.py +++ b/main.py @@ -11,8 +11,8 @@ def main(_): model = DTN(mode=FLAGS.mode, learning_rate=0.0003) - solver = Solver(model, batch_size=100, pretrain_iter=20000, train_iter=2000, sample_iter=100, - svhn_dir='svhn', mnist_dir='mnist', model_save_path=FLAGS.model_save_path, sample_save_path=FLAGS.sample_save_path) + solver = Solver(model, batch_size=2, pretrain_iter=20000, train_iter=2000, sample_iter=100, + svhn_dir='/home/manthan/Desktop/Classical2', mnist_dir='/home/manthan/Desktop/Metal2', model_save_path=FLAGS.model_save_path, sample_save_path=FLAGS.sample_save_path) # create directories if not exist if not tf.gfile.Exists(FLAGS.model_save_path): diff --git a/model.py b/model.py index 28711d5..5a57c4f 100644 --- a/model.py +++ b/model.py @@ -131,14 +131,14 @@ def build_model(self): self.f_train_op_src = slim.learning.create_train_op(self.f_loss_src, self.f_optimizer_src, variables_to_train=f_vars) # summary op - d_loss_src_summary = tf.summary.scalar('src_d_loss', self.d_loss_src) - g_loss_src_summary = tf.summary.scalar('src_g_loss', self.g_loss_src) - f_loss_src_summary = tf.summary.scalar('src_f_loss', self.f_loss_src) - origin_images_summary = tf.summary.image('src_origin_images', self.src_images) - sampled_images_summary = tf.summary.image('src_sampled_images', self.fake_images) - self.summary_op_src = tf.summary.merge([d_loss_src_summary, g_loss_src_summary, - f_loss_src_summary, origin_images_summary, - sampled_images_summary]) + # d_loss_src_summary = tf.summary.scalar('src_d_loss', self.d_loss_src) + # g_loss_src_summary = tf.summary.scalar('src_g_loss', self.g_loss_src) + # f_loss_src_summary = tf.summary.scalar('src_f_loss', self.f_loss_src) + # origin_images_summary = tf.summary.image('src_origin_images', self.src_images) + # sampled_images_summary = tf.summary.image('src_sampled_images', self.fake_images) + # self.summary_op_src = tf.summary.merge([d_loss_src_summary, g_loss_src_summary, + # f_loss_src_summary, origin_images_summary, + # sampled_images_summary]) # target domain (mnist) self.fx = self.content_extractor(self.trg_images, reuse=True) @@ -164,18 +164,17 @@ def build_model(self): self.g_train_op_trg = slim.learning.create_train_op(self.g_loss_trg, self.g_optimizer_trg, variables_to_train=g_vars) # summary op - d_loss_fake_trg_summary = tf.summary.scalar('trg_d_loss_fake', self.d_loss_fake_trg) - d_loss_real_trg_summary = tf.summary.scalar('trg_d_loss_real', self.d_loss_real_trg) - d_loss_trg_summary = tf.summary.scalar('trg_d_loss', self.d_loss_trg) - g_loss_fake_trg_summary = tf.summary.scalar('trg_g_loss_fake', self.g_loss_fake_trg) - g_loss_const_trg_summary = tf.summary.scalar('trg_g_loss_const', self.g_loss_const_trg) - g_loss_trg_summary = tf.summary.scalar('trg_g_loss', self.g_loss_trg) - origin_images_summary = tf.summary.image('trg_origin_images', self.trg_images) - sampled_images_summary = tf.summary.image('trg_reconstructed_images', self.reconst_images) - self.summary_op_trg = tf.summary.merge([d_loss_trg_summary, g_loss_trg_summary, - d_loss_fake_trg_summary, d_loss_real_trg_summary, - g_loss_fake_trg_summary, g_loss_const_trg_summary, - origin_images_summary, sampled_images_summary]) - for var in tf.trainable_variables(): - tf.summary.histogram(var.op.name, var) - \ No newline at end of file + # d_loss_fake_trg_summary = tf.summary.scalar('trg_d_loss_fake', self.d_loss_fake_trg) + # d_loss_real_trg_summary = tf.summary.scalar('trg_d_loss_real', self.d_loss_real_trg) + # d_loss_trg_summary = tf.summary.scalar('trg_d_loss', self.d_loss_trg) + # g_loss_fake_trg_summary = tf.summary.scalar('trg_g_loss_fake', self.g_loss_fake_trg) + # g_loss_const_trg_summary = tf.summary.scalar('trg_g_loss_const', self.g_loss_const_trg) + # g_loss_trg_summary = tf.summary.scalar('trg_g_loss', self.g_loss_trg) + # origin_images_summary = tf.summary.image('trg_origin_images', self.trg_images) + # sampled_images_summary = tf.summary.image('trg_reconstructed_images', self.reconst_images) + # self.summary_op_trg = tf.summary.merge([d_loss_trg_summary, g_loss_trg_summary, + # d_loss_fake_trg_summary, d_loss_real_trg_summary, + # g_loss_fake_trg_summary, g_loss_const_trg_summary, + # origin_images_summary, sampled_images_summary]) + # for var in tf.trainable_variables(): + # tf.summary.histogram(var.op.name, var) \ No newline at end of file diff --git a/solver.py b/solver.py index 81c5437..c50ab51 100644 --- a/solver.py +++ b/solver.py @@ -5,12 +5,36 @@ import os import scipy.io import scipy.misc +import glob +import cv2 +from numpy import array +from PIL import Image + + +def img_read(image_dir): + cv_img = [] + for img in glob.glob(image_dir): + n = cv2.imread(img) + cv_img.append(n) + + return cv_img + + +def resize_images(images, size=[32, 32, 3]): + # convert float type to integer + resized_image_arrays = np.zeros([len(images)] + size) + for i, image in enumerate(images): + resized_image = cv2.resize(image, (32,32), interpolation = cv2.INTER_AREA) + print type(resized_image) + resized_image_arrays[i] = resized_image + + return resized_image_arrays class Solver(object): def __init__(self, model, batch_size=100, pretrain_iter=20000, train_iter=2000, sample_iter=100, - svhn_dir='svhn', mnist_dir='mnist', log_dir='logs', sample_save_path='sample', + svhn_dir='/home/manthan/Desktop/Classical', mnist_dir='/home/manthan/Desktop/Metal', log_dir='logs', sample_save_path='sample', model_save_path='model', pretrained_model='model/svhn_model-20000', test_model='model/dtn-1800'): self.model = model @@ -30,7 +54,7 @@ def __init__(self, model, batch_size=100, pretrain_iter=20000, train_iter=2000, def load_svhn(self, image_dir, split='train'): print ('loading svhn image dataset..') - + ''' if self.model.mode == 'pretrain': image_file = 'extra_32x32.mat' if split=='train' else 'test_32x32.mat' else: @@ -41,19 +65,39 @@ def load_svhn(self, image_dir, split='train'): images = np.transpose(svhn['X'], [3, 0, 1, 2]) / 127.5 - 1 labels = svhn['y'].reshape(-1) labels[np.where(labels==10)] = 0 + ''' + image_file = '/*.jpg' + image_dir = image_dir + image_file + images = img_read(image_dir) + images = resize_images(images) + print images.shape + images = images / 127.5 - 1 print ('finished loading svhn image dataset..!') - return images, labels + return images + # return images, labels def load_mnist(self, image_dir, split='train'): print ('loading mnist image dataset..') + ''' image_file = 'train.pkl' if split=='train' else 'test.pkl' image_dir = os.path.join(image_dir, image_file) with open(image_dir, 'rb') as f: mnist = pickle.load(f) images = mnist['X'] / 127.5 - 1 labels = mnist['y'] + ''' + image_file = '/*.jpg' + image_dir = image_dir + image_file + images = img_read(image_dir) + + images = np.asarray(images) + images = resize_images(images) + + images = images / 127.5 - 1 + print ('finished loading mnist image dataset..!') - return images, labels + return images + # return images, labels def merge_images(self, sources, targets, k=10): _, h, w, _ = sources.shape @@ -104,8 +148,8 @@ def pretrain(self): def train(self): # load svhn dataset - svhn_images, _ = self.load_svhn(self.svhn_dir, split='train') - mnist_images, _ = self.load_mnist(self.mnist_dir, split='train') + svhn_images = self.load_svhn(self.svhn_dir, split='train') + mnist_images = self.load_mnist(self.mnist_dir, split='train') # build a graph model = self.model