rail.estimation.algos.pzflow module

first pass implementation of pzflow estimator First pass will ignore photometric errors and just do things in terms of magnitudes, we will expand in a future update

class rail.estimation.algos.pzflow.Inform_PZFlowPDF(args, comm=None)[source]

Bases: CatInformer

Subclass to train a pzflow-based estimator

config_options = {'column_names': <ceci.config.StageParameter object>, 'error_names_dict': <ceci.config.StageParameter object>, 'flow_seed': <ceci.config.StageParameter object>, 'hdf5_groupname': <class 'str'>, 'include_mag_errors': <ceci.config.StageParameter object>, 'mag_limits': <ceci.config.StageParameter object>, 'n_error_samples': <ceci.config.StageParameter object>, 'num_training_epochs': <ceci.config.StageParameter object>, 'nzbins': <ceci.config.StageParameter object>, 'output_mode': <ceci.config.StageParameter object>, 'redshift_column_name': <ceci.config.StageParameter object>, 'ref_column_name': <ceci.config.StageParameter object>, 'save_train': True, 'soft_idx_col': <ceci.config.StageParameter object>, 'soft_sharpness': <ceci.config.StageParameter object>, 'zmax': <ceci.config.StageParameter object>, 'zmin': <ceci.config.StageParameter object>}
name = 'Inform_PZFlowPdf'
outputs = [('model', <class 'rail.core.data.FlowHandle'>)]
run()[source]

train a flow based on the training data This is mostly based off of the pzflow example notebook

class rail.estimation.algos.pzflow.PZFlowPDF(args, comm=None)[source]

Bases: CatEstimator

CatEstimator which uses PZFlow

config_options = {'chunk_size': 10000, 'column_names': <ceci.config.StageParameter object>, 'error_names_dict': <ceci.config.StageParameter object>, 'flow_seed': <ceci.config.StageParameter object>, 'hdf5_groupname': <class 'str'>, 'include_mag_errors': <ceci.config.StageParameter object>, 'mag_limits': <ceci.config.StageParameter object>, 'n_error_samples': <ceci.config.StageParameter object>, 'nzbins': <ceci.config.StageParameter object>, 'output_mode': <ceci.config.StageParameter object>, 'redshift_column_name': <ceci.config.StageParameter object>, 'ref_column_name': <ceci.config.StageParameter object>, 'zmax': <ceci.config.StageParameter object>, 'zmin': <ceci.config.StageParameter object>}
inputs = [('model', <class 'rail.core.data.FlowHandle'>), ('input', <class 'rail.core.data.TableHandle'>)]
name = 'PZFlowPDF'
rail.estimation.algos.pzflow.computemeanstd(df)[source]

Compute colors from the magnitudes and compute their means and stddevs for data whitening

Parameters:

df (pandas dataframe) – ordered dict of raw input data

Returns:

means, stds – means and stddevs for the mags and colors

Return type:

numpy arrays