diff --git a/AirShower_WGAN/ShowerGAN.py b/AirShower_WGAN/ShowerGAN.py index bb7d36fd7a6e4bda0f27483d94d1a9dab02650f2..c40cfb528302e0a55d428d4865b4334e2daa04c1 100644 --- a/AirShower_WGAN/ShowerGAN.py +++ b/AirShower_WGAN/ShowerGAN.py @@ -7,20 +7,25 @@ from functools import partial from keras.utils import plot_model import keras.backend.tensorflow_backend as KTF import utils +import glob KTF.set_session(utils.get_session()) # Allows 2 jobs per GPU, Please do not change this during the tutorial log_dir = "." # basic trainings parameter -EPOCHS = 10 +EPOCHS = 20 GRADIENT_PENALTY_WEIGHT = 10 BATCH_SIZE = 256 NCR = 5 latent_size = 512 # load trainings data -shower_maps, Energy = utils.ReadInData() +Folder = '/net/scratch/lgeiger/refiner_paper/data/toy-data/pre_pro' +filenames=glob.glob(Folder + "/showers_pre_pro_*") +print filenames +shower_maps, Energy = utils.ReadInData(filenames) +shower_maps = shower_maps[:,:,:,1,np.newaxis] N = shower_maps.shape[0] # plot real signal patterns utils.plot_multiple_signalmaps(shower_maps[:, :, :, 0], log_dir=log_dir, title='Footprints', epoch='Real') diff --git a/AirShower_WGAN/utils.py b/AirShower_WGAN/utils.py index af15aa32ba53e334853da9f5c4907eb9fba151d2..c070a604745e8c4e531fef75cbddf44022a1733a 100644 --- a/AirShower_WGAN/utils.py +++ b/AirShower_WGAN/utils.py @@ -15,11 +15,26 @@ def get_session(gpu_fraction=0.40): return tf.Session(config=tf.ConfigProto(gpu_options=gpu_options)) -def ReadInData(): - '''Reads in the trainings data''' - filenames = "/net/scratch/JGlombitza/Public/HAPWorkshop2018/data/Data.npz" - data = np.load(filenames) - return data['shower_maps'], data['Energy'] +def ReadInData(filenames): + N = 10000 *len(filenames) + a = 10000 # packagesize + Input2 = np.zeros(N*9*9*2).reshape(N,9,9,2) + Energy = np.zeros(N) + showeraxis = np.zeros(N*3).reshape(N,3) + + for i in range(0, len(filenames)): + data = np.load(filenames[i]) + try: + Energy[a*i:a*(i+1)] = data['energy'] + Input2[a*i:a*(i+1)] = data['input2'].reshape(a,9,9,2) + except: + Energy[a*i:a*(i+1)] = data['Energy'] + Input2[a*i:a*(i+1)] = data['Input2'].reshape(a,9,9,2) + Input2[:,:,:,0] = Input2[:,:,:,0] - np.min(Input2[:,:,:,0], axis=(1,2))[:,np.newaxis,np.newaxis] + 1 + Filter = Input2[:,:,:,1] == 0 + Input2[:,:,:,0][Filter] = 0 + return Input2, Energy + def make_trainable(model, trainable):