def get_images(model, sample, return_raw_data=False, calc_chi2=False, gen_more=None, batch_size=128): X, Y = sample assert X.ndim == 2 assert X.shape[1] == 4 if gen_more is None: gen_features = X else: gen_features = np.tile(X, [gen_more] + [1] * (X.ndim - 1)) gen_scaled = np.concatenate( [ model.make_fake(gen_features[i:i + batch_size]).numpy() for i in range(0, len(gen_features), batch_size) ], axis=0, ) real = model.scaler.unscale(Y) gen = model.scaler.unscale(gen_scaled) gen[gen < 0] = 0 gen1 = np.where(gen < 1.0, 0, gen) features = { 'crossing_angle': (X[:, 0], gen_features[:, 0]), 'dip_angle': (X[:, 1], gen_features[:, 1]), 'drift_length': (X[:, 2], gen_features[:, 2]), 'time_bin_fraction': (X[:, 2] % 1, gen_features[:, 2] % 1), 'pad_coord_fraction': (X[:, 3] % 1, gen_features[:, 3] % 1), } images = make_metric_plots(real, gen, features=features, calc_chi2=calc_chi2) if calc_chi2: images, chi2 = images images1 = make_metric_plots(real, gen1, features=features) img_amplitude = make_histograms(Y.flatten(), gen_scaled.flatten(), 'log10(amplitude + 1)', logy=True) result = [images, images1, img_amplitude] if return_raw_data: result += [(gen_features, gen)] if calc_chi2: result += [chi2] return result
def get_images(return_raw_data=False, calc_chi2=False, gen_more=None, sample=(X_test, Y_test), batch_size=128): X, Y = sample if gen_more is None: gen_features = X else: gen_features = np.tile(X, [gen_more] + [1] * (X.ndim - 1)) gen_scaled = np.concatenate( [ model.make_fake(gen_features[i:i + batch_size]).numpy() for i in range(0, len(gen_features), batch_size) ], axis=0, ) real = unscale(Y) gen = unscale(gen_scaled) gen[gen < 0] = 0 gen1 = np.where(gen < 1.0, 0, gen) images = make_metric_plots(real, gen, features={'angle': (X, gen_features)}, calc_chi2=calc_chi2) if calc_chi2: images, chi2 = images images1 = make_metric_plots(real, gen1, features={'angle': (X, gen_features)}) img_amplitude = make_histograms(Y_test.flatten(), gen_scaled.flatten(), 'log10(amplitude + 1)', logy=True) result = [images, images1, img_amplitude] if return_raw_data: result += [(gen_features, gen)] if calc_chi2: result += [chi2] return result
def write_hist_summary(step): if step % args.save_every == 0: gen_scaled = model.make_fake(len(X_test)).numpy() real = unscale(X_test) gen = unscale(gen_scaled) gen[gen < 0] = 0 gen1 = np.where(gen < 1.0, 0, gen) images = make_metric_plots(real, gen) images1 = make_metric_plots(real, gen1) img_amplitude = make_histograms(X_test.flatten(), gen_scaled.flatten(), 'log10(amplitude + 1)', logy=True) with writer_val.as_default(): for k, img in images.items(): tf.summary.image(k, img, step) for k, img in images1.items(): tf.summary.image("{} (amp > 1)".format(k), img, step) tf.summary.image("log10(amplitude + 1)", img_amplitude, step)
def write_hist_summary(step): if step % 50 == 0: gen_scaled = baseline_10x15.make_fake(len(X_test)).numpy() real = unscale(X_test) gen = unscale(gen_scaled) gen[gen < 0] = 0 gen30 = np.where(gen < 30.0, 0, gen) images = make_metric_plots(real, gen) images30 = make_metric_plots(real, gen30) img_amplitude = make_histograms(X_test.flatten(), gen_scaled.flatten(), 'log10(amplitude + 1)', logy=True) with writer_val.as_default(): for k, img in images.items(): tf.summary.image(k, img, step) for k, img in images30.items(): tf.summary.image("{} (amp > 30)".format(k), img, step) tf.summary.image("log10(amplitude + 1)", img_amplitude, step)