Exemplo n.º 1
0
    def prior_string_AC(self, prior_type, mean, variance, corr):
        mean_string = value_to_string(mean)
        variance_string = value_to_string(variance)
        corr_string = value_to_string(corr)

        return '%s_%s_%s_%s' % (prior_type, mean_string, variance_string,
                                corr_string)
Exemplo n.º 2
0
    def prior_string_blp(self, prior_type, mean, gamma, delta):
        mean_string = value_to_string(mean)
        gamma_string = value_to_string(gamma)
        delta_string = value_to_string(delta)

        return '%s_%s_%s_%s' % (prior_type, mean_string, gamma_string,
                                delta_string)
Exemplo n.º 3
0
 def prior_string(self, prior_type, mean):
     mean_string = value_to_string(mean)
     return '%s_%s' % (prior_type, mean_string)
Exemplo n.º 4
0
    def __init__(self, options):

        ################
        #   Case Name  #
        ################
        #=== Key Strings ===#
        project_name = 'poisson_linear_2d_'
        data_options = 'n%d' %(options.parameter_dimensions)
        directory_dataset =\
                '../../../../../datasets/fenics/poisson_linear_2d/' +\
                'n%d/'%(options.parameter_dimensions)

        #=== Data Type ===#
        if options.obs_type == 'full':
            obs_string = 'full'
        if options.obs_type == 'obs':
            obs_string = 'obs_o%d'%(options.num_obs_points)
        if options.add_noise == 1:
            noise_level_string = value_to_string(options.noise_level)
            noise_string = 'ns%s_%d'%(noise_level_string,options.num_obs_points)
        else:
            noise_string = 'ns0'
        data_string = data_options + '_' + obs_string + '_' + noise_string + '_'

        #=== Prior Properties ===#
        if options.prior_type_blp_reg == True:
            prior_string_reg = self.prior_string_blp('blp',
                    options.prior_mean_blp_reg,
                    options.prior_gamma_blp_reg,
                    options.prior_delta_blp_reg)
        if options.prior_type_blp_train == True:
            prior_string_train = self.prior_string_blp('blp',
                    options.prior_mean_blp_train,
                    options.prior_gamma_blp_train,
                    options.prior_delta_blp_train)
        if options.prior_type_blp_test == True:
            prior_string_test = self.prior_string_blp('blp',
                    options.prior_mean_blp_test,
                    options.prior_gamma_blp_test,
                    options.prior_delta_blp_test)

        if options.prior_type_AC_reg == True:
            prior_string_reg = self.prior_string_AC('AC',
                    options.prior_mean_AC_reg,
                    options.prior_variance_AC_reg,
                    options.prior_corr_AC_reg)
        if options.prior_type_AC_train == True:
            prior_string_train = self.prior_string_AC('AC',
                    options.prior_mean_AC_train,
                    options.prior_variance_AC_train,
                    options.prior_corr_AC_train)
        if options.prior_type_AC_test == True:
            prior_string_test = self.prior_string_AC('AC',
                    options.prior_mean_AC_test,
                    options.prior_variance_AC_test,
                    options.prior_corr_AC_test)

        #=== Case String ===#
        self.case_name = project_name + data_string + prior_string_train

        ################
        #   Datasets   #
        ################
        #=== Parameters ===#
        self.obs_indices = directory_dataset +\
                project_name + 'obs_indices_' +\
                'o%d_'%(options.num_obs_points) + data_options
        self.poi_train = directory_dataset +\
                project_name +\
                'parameter_train_' +\
                'd%d_'%(options.num_data_train_load) + data_options + '_' + prior_string_train
        self.poi_test = directory_dataset +\
                project_name +\
                'parameter_test_' +\
                'd%d_'%(options.num_data_test_load) + data_options + '_' + prior_string_test
        self.poi_specific = directory_dataset +\
                project_name + 'parameter_specific_' + data_options
        if options.obs_type == 'full':
            self.qoi_train = directory_dataset +\
                    project_name +\
                    'state_' + options.obs_type + '_train_' +\
                    'd%d_'%(options.num_data_train_load) + data_options + '_' + prior_string_train
            self.qoi_test = directory_dataset +\
                    project_name +\
                    'state_' + options.obs_type + '_test_' +\
                    'd%d_'%(options.num_data_test_load) + data_options + '_' + prior_string_test
            self.qoi_specific = directory_dataset +\
                                project_name + 'state_' + options.obs_type + '_specific_' +\
                                data_options
        if options.obs_type == 'obs':
            self.qoi_train = directory_dataset +\
                    project_name +\
                    'state_' + options.obs_type + '_train_' +\
                    'o%d_d%d_' %(options.num_obs_points, options.num_data_train_load) +\
                    data_options + '_' + prior_string_train
            self.qoi_test = directory_dataset +\
                    project_name +\
                    'state_' + options.obs_type + '_test_' +\
                    'o%d_d%d_' %(options.num_obs_points, options.num_data_test_load) +\
                    data_options + '_' + prior_string_test
            self.qoi_specific = directory_dataset +\
                                project_name + 'state_' + options.obs_type + '_specific_' +\
                                'o%d_'%(options.num_obs_points) +\
                                data_options

        #############
        #   Prior   #
        #############
        #=== Prior ===#
        self.prior_string_reg = prior_string_reg
        self.prior_mean = directory_dataset +\
                'prior_mean_' + data_options + '_' + prior_string_reg
        self.prior_covariance = directory_dataset +\
                'prior_covariance_' + data_options + '_' + prior_string_reg
        self.prior_covariance_inverse = directory_dataset +\
                'prior_covariance_inverse_' + data_options + '_' + prior_string_reg
        self.prior_covariance_cholesky = directory_dataset +\
                'prior_covariance_cholesky_' + data_options + '_' + prior_string_reg
        self.prior_covariance_cholesky_inverse = directory_dataset +\
                'prior_covariance_cholesky_inverse_' + data_options + '_' + prior_string_reg

        ###################
        #   FEM Objects   #
        ###################
        #=== Pre-Matrices ===#
        self.forward_matrix = directory_dataset +\
                'forward_matrix_' + data_options
        self.mass_matrix = directory_dataset +\
                'mass_matrix_' + data_options
        self.load_vector = directory_dataset +\
                'load_vector_' + data_options

        #=== Mesh ===# For plotting FEM function
        mesh_name = 'mesh_square_2D_n%d' %(options.parameter_dimensions)
        mesh_directory = '../../../../../Datasets/Mesh/' + mesh_name + '/'
        self.mesh_nodes = mesh_directory + mesh_name + '_nodes.csv'
        self.mesh_elements = mesh_directory + mesh_name + '_elements.csv'
Exemplo n.º 5
0
    def prior_string_matern(self, prior_type, kern_type, cov_length):
        cov_length_string = value_to_string(cov_length)

        return '%s_%s_%s'%(prior_type, kern_type, cov_length)
Exemplo n.º 6
0
    def __init__(self, hyperp, options, project_paths):

        ####################
        #   From Project   #
        ####################
        #=== Project ===#
        self.project = project_paths

        #=== Datasets ===#
        self.poi_train = project_paths.poi_train
        self.poi_test = project_paths.poi_test
        self.poi_specific = project_paths.poi_specific
        self.qoi_train = project_paths.qoi_train
        self.qoi_test = project_paths.qoi_test
        self.qoi_specific = project_paths.qoi_specific

        #=== Prior ===#
        self.prior_string_reg = project_paths.prior_string_reg
        self.prior_mean = project_paths.prior_mean
        self.prior_covariance = project_paths.prior_covariance
        self.prior_covariance_inverse = project_paths.prior_covariance_inverse
        self.prior_covariance_cholesky = project_paths.prior_covariance_cholesky
        self.prior_covariance_cholesky_inverse = project_paths.prior_covariance_cholesky_inverse

        #=== Case Name ===#
        self.case_name = project_paths.case_name

        #=== Neural Network Architecture and Regularization ===#
        autoencoder_type = 'VAE'
        if options.resnet == True:
            resnet = 'res_'
        else:
            resnet = 'nores_'
        if options.model_aware == True:
            forward_model_type = 'maware_'
        if options.model_augmented == True:
            forward_model_type = 'maug_'

        #=== File Name ===#
        penalty_js_string = value_to_string(hyperp.penalty_js)
        if "posterior_diagonal_covariance" in options:
            self.nn_name = autoencoder_type + '_' + forward_model_type + resnet +\
                self.prior_string_reg +\
                '_hle%d_hld%d_hne%d_hnd%d_%s_pjs%s_d%d_b%d_e%d' %(
                        hyperp.num_hidden_layers_encoder, hyperp.num_hidden_layers_decoder,
                        hyperp.num_hidden_nodes_encoder, hyperp.num_hidden_nodes_decoder,
                        hyperp.activation,
                        penalty_js_string,
                        hyperp.num_data_train, hyperp.batch_size, hyperp.num_epochs)

        if "posterior_full_covariance" in options:
            self.nn_name = autoencoder_type + '_full_' + forward_model_type + resnet +\
                self.prior_string_reg +\
                '_hle%d_hld%d_hne%d_hnd%d_%s_pjs%s_d%d_b%d_e%d' %(
                        hyperp.num_hidden_layers_encoder, hyperp.num_hidden_layers_decoder,
                        hyperp.num_hidden_nodes_encoder, hyperp.num_hidden_nodes_decoder,
                        hyperp.activation,
                        penalty_js_string,
                        hyperp.num_data_train, hyperp.batch_size, hyperp.num_epochs)

        if "posterior_iaf" in options:
            if options.iaf_lstm_update == True:
                iaf_type_string = 'IAFLSTM_'
            else:
                iaf_type_string = 'IAF_'
            self.nn_name = autoencoder_type + iaf_type_string + forward_model_type + resnet +\
                self.prior_string_reg +\
                '_hle%d_hld%d_hne%d_hnd%d_%s_hli%d_hni%d_%s_pjs%s_d%d_b%d_e%d'\
                %(hyperp.num_hidden_layers_encoder, hyperp.num_hidden_layers_decoder,
                  hyperp.num_hidden_nodes_encoder, hyperp.num_hidden_nodes_decoder,
                  hyperp.activation,
                  hyperp.num_iaf_transforms, hyperp.num_hidden_nodes_iaf,
                  hyperp.activation_iaf,
                  penalty_js_string,
                  hyperp.num_data_train, hyperp.batch_size, hyperp.num_epochs)

        #=== Filename ===#
        self.case_and_nn_name = self.case_name + '/' + self.nn_name
Exemplo n.º 7
0
    def __init__(self, options):

        ################
        #   Case Name  #
        ################
        #=== Key Strings ===#
        project_name = 'advection_diffusion_2d_'
        if options.flow_navier_stokes == True:
            flow_string = 'navier_stokes'
        if options.flow_darcy == True:
            flow_string = 'darcy'
        if options.time_stepping_erk4 == True:
            time_stepping_string = 'erk4'
        if options.time_stepping_lserk4 == True:
            time_stepping_string = 'lserk4'
        if options.time_stepping_implicit == True:
            time_stepping_string = 'imp'
        num_nodes_string = 'n%d' % (options.parameter_dimensions)
        data_options = num_nodes_string + '_' +\
                       flow_string + '_' +\
                       time_stepping_string
        directory_dataset = '../../../../../datasets/fenics/advection_diffusion_2d/' +\
            num_nodes_string + '/' + flow_string + '_' + time_stepping_string + '/'

        #=== Data Type ===#
        if options.obs_type == 'full':
            obs_string = 'full'
        if options.obs_type == 'obs':
            obs_string = 'obs_o%d' % (options.num_obs_points)
        if options.add_noise == 1:
            noise_level_string = value_to_string(options.noise_level)
            noise_string = 'ns%s_%d' % (noise_level_string,
                                        options.num_obs_points)
        else:
            noise_string = 'ns0'
        data_string = data_options + '_' + obs_string + '_' + noise_string + '_'

        #=== Prior Properties ===#
        if options.prior_type_blp_reg == True:
            prior_string_reg = self.prior_string_blp(
                'blp', options.prior_mean_blp_reg, options.prior_gamma_blp_reg,
                options.prior_delta_blp_reg)
        if options.prior_type_blp_train == True:
            prior_string_train = self.prior_string_blp(
                'blp', options.prior_mean_blp_train,
                options.prior_gamma_blp_train, options.prior_delta_blp_train)
        if options.prior_type_blp_test == True:
            prior_string_test = self.prior_string_blp(
                'blp', options.prior_mean_blp_test,
                options.prior_gamma_blp_test, options.prior_delta_blp_test)

        if options.prior_type_ac_reg == True:
            prior_string_reg = self.prior_string_ac(
                'ac', options.prior_mean_ac_reg, options.prior_variance_ac_reg,
                options.prior_corr_ac_reg)
        if options.prior_type_ac_train == True:
            prior_string_train = self.prior_string_ac(
                'ac', options.prior_mean_ac_train,
                options.prior_variance_ac_train, options.prior_corr_ac_train)
        if options.prior_type_ac_test == True:
            prior_string_test = self.prior_string_ac(
                'ac', options.prior_mean_ac_test,
                options.prior_variance_ac_test, options.prior_corr_ac_test)

        #=== Case String ===#
        self.case_name = project_name + data_string + prior_string_train

        ################
        #   Datasets   #
        ################
        #=== Parameters ===#
        self.obs_indices = directory_dataset +\
                project_name + 'obs_indices_' +\
                'o%d_'%(options.num_obs_points) + num_nodes_string
        self.poi_train = directory_dataset +\
                project_name +\
                'parameter_train_' +\
                'd%d_'%(options.num_data_train_load) + num_nodes_string + '_' + prior_string_train
        self.poi_test = directory_dataset +\
                project_name +\
                'parameter_test_' +\
                'd%d_'%(options.num_data_test_load) + num_nodes_string + '_' + prior_string_test
        self.poi_specific = directory_dataset +\
                project_name + 'parameter_blob_' + num_nodes_string
        if options.obs_type == 'full':
            self.qoi_train = directory_dataset +\
                    project_name +\
                    'state_' + options.obs_type + '_train_' +\
                    'd%d_'%(options.num_data_train_load) + data_options + '_' + prior_string_train
            self.qoi_test = directory_dataset +\
                    project_name +\
                    'state_' + options.obs_type + '_test_' +\
                    'd%d_'%(options.num_data_test_load) + data_options + '_' + prior_string_test
            self.qoi_specific = directory_dataset +\
                                project_name + 'state_' + options.obs_type + '_blob_' +\
                                'o%d_'%(options.num_obs_points) +\
                                data_options
        if options.obs_type == 'obs':
            self.qoi_train = directory_dataset +\
                    project_name +\
                    'state_' + options.obs_type + '_train_' +\
                    'o%d_d%d_' %(options.num_obs_points, options.num_data_train_load) +\
                    data_options + '_' + prior_string_train
            self.qoi_test = directory_dataset +\
                    project_name +\
                    'state_' + options.obs_type + '_test_' +\
                    'o%d_d%d_' %(options.num_obs_points, options.num_data_test_load) +\
                    data_options + '_' + prior_string_test
            self.qoi_specific = directory_dataset +\
                                project_name + 'state_' + options.obs_type + '_blob_' +\
                                'o%d_'%(options.num_obs_points) +\
                                data_options

        #############
        #   Prior   #
        #############
        #=== Prior ===#
        self.prior_string_reg = prior_string_reg
        self.prior_mean = directory_dataset +\
                'prior_mean_' + num_nodes_string + '_' + prior_string_reg
        self.prior_covariance = directory_dataset +\
                'prior_covariance_' + num_nodes_string + '_' + prior_string_reg
        self.prior_covariance_cholesky = directory_dataset +\
                'prior_covariance_cholesky_' + num_nodes_string + '_' + prior_string_reg
        self.prior_covariance_cholesky_inverse = directory_dataset +\
                'prior_covariance_cholesky_inverse_' + num_nodes_string + '_' + prior_string_reg

        ###################
        #   FEM Objects   #
        ###################
        #=== FEM Operators ===#
        self.fem_operator_spatial = directory_dataset +\
                'fem_operator_spatial_' + num_nodes_string
        self.fem_operator_implicit_ts = directory_dataset +\
                'fem_operator_implicit_ts_' + num_nodes_string
        self.fem_operator_implicit_ts_rhs = directory_dataset +\
                'fem_operator_implicit_ts_rhs_' + num_nodes_string
Exemplo n.º 8
0
    def __init__(self, options):

        ################
        #   Case Name  #
        ################
        #=== Defining Filenames ===#
        data_options = 'm%d_n%d' % (options.mesh_dimensions,
                                    options.parameter_dimensions)
        directory_dataset = '../../../../../datasets/simple_1d/'
        if hasattr(options, 'continuous_linear_sin'
                   ) and options.continuous_linear_sin == 1:
            project_name = 'continuous_linear_sin_1d'
        if hasattr(options, 'continuous_linear_uniform'
                   ) and options.continuous_linear_uniform == 1:
            project_name = 'continuous_linear_uniform_1d'
        directory_dataset += project_name + '/' + data_options + '/'

        #=== Data Properties ===#
        if options.obs_type == 'full':
            obs_string = 'full'
        if options.obs_type == 'obs':
            obs_string = 'obs_o%d' % (options.num_obs_points)
        if options.add_noise == 1:
            noise_level_string = value_to_string(options.noise_level)
            noise_string = 'ns%s_%d' % (noise_level_string,
                                        options.num_obs_points)
        else:
            noise_string = 'ns0'
        data_string = data_options + '_' + obs_string + '_' + noise_string + '_'

        #=== Prior Properties ===#
        if options.prior_type_identity_reg == True:
            prior_string_reg = self.prior_string(
                'identity', options.prior_mean_identity_reg)
        if options.prior_type_identity_train == True:
            prior_string_train = self.prior_string(
                'identity', options.prior_mean_identity_train)
        if options.prior_type_identity_test == True:
            prior_string_test = self.prior_string(
                'identity', options.prior_mean_identity_test)

        if options.prior_type_laplacian_reg == True:
            prior_string_reg = self.prior_string_laplacian(
                'laplacian', options.prior_mean_laplacian_reg)
        if options.prior_type_laplacian_train == True:
            prior_string_train = self.prior_string_laplacian(
                'laplacian', options.prior_mean_laplacian_train)
        if options.prior_type_laplacian_test == True:
            prior_string_test = self.prior_string_laplacian(
                'laplacian', options.prior_mean_laplacian_test)

        #=== Case String ===#
        self.case_name = project_name + '_' + data_string + prior_string_train

        ################
        #   Datasets   #
        ################
        #=== Forward Operator ===#
        if hasattr(options,
                   'discrete_polynomial') and options.discrete_polynomial == 1:
            self.forward_operator = directory_dataset +\
                    project_name + '_forward_matrix_' +\
                    data_options
        if hasattr(options, 'continuous_linear_sin'
                   ) and options.continuous_linear_sin == 1:
            self.forward_operator = directory_dataset +\
                    project_name + '_forward_vector_' +\
                    data_options
        if hasattr(options, 'continuous_linear_uniform'
                   ) and options.continuous_linear_uniform == 1:
            self.forward_operator = directory_dataset +\
                    project_name + '_forward_vector_' +\
                    data_options

        #=== Parameters ===#
        self.obs_indices = directory_dataset +\
                project_name + '_' + 'obs_indices_' +\
                'o%d_'%(options.num_obs_points) + data_options
        self.poi_train = directory_dataset +\
                project_name + '_' + 'parameter_train_' +\
                'd%d_'%(options.num_data_train_load) + data_options + '_' + prior_string_train
        self.poi_test = directory_dataset +\
                project_name + '_' + 'parameter_test_' +\
                'd%d_'%(options.num_data_test_load) + data_options + '_' + prior_string_test
        self.poi_specific = ''

        #=== State ===#
        if options.obs_type == 'full':
            self.qoi_train = directory_dataset +\
                    project_name + '_' + 'state_' + options.obs_type + '_train_' +\
                    'd%d_'%(options.num_data_train_load) + data_options + '_' + prior_string_train
            self.qoi_test = directory_dataset +\
                    project_name + '_' + 'state_' + options.obs_type + '_test_' +\
                    'd%d_'%(options.num_data_test_load) + data_options + '_' + prior_string_test
            self.qoi_specific = ''
        if options.obs_type == 'obs':
            self.qoi_train = directory_dataset +\
                    project_name + '_' + 'state_' + options.obs_type + '_train_' +\
                    'o%d_d%d_' %(options.num_obs_points, options.num_data_train_load) +\
                    data_options + '_' + prior_string_train
            self.qoi_test = directory_dataset +\
                    project_name + '_' + 'state_' + options.obs_type + '_test_' +\
                    'o%d_d%d_' %(options.num_obs_points, options.num_data_test_load) +\
                    data_options + '_' + prior_string_test
            self.qoi_specific = ''

        #############
        #   Prior   #
        #############
        #=== Prior ===#
        self.prior_string_reg = prior_string_reg
        self.prior_mean = directory_dataset +\
                'prior_mean_' + data_options + '_' + prior_string_train
        self.prior_covariance = directory_dataset +\
                'prior_covariance_' + data_options + '_' + prior_string_train
        self.prior_covariance_inverse = directory_dataset +\
                'prior_covariance_inverse_' + data_options + '_' + prior_string_train
        self.prior_covariance_cholesky = directory_dataset +\
                'prior_covariance_cholesky_' + data_options + '_' + prior_string_train
        self.prior_covariance_cholesky_inverse = directory_dataset +\
                'prior_covariance_cholesky_inverse_' + data_options + '_' + prior_string_train
Exemplo n.º 9
0
    def __init__(self, options):

        ################
        #   Case Name  #
        ################
        #=== Key Strings ===#
        data_options = 'n%d' % (options.parameter_dimensions)
        if options.boundary_conditions_dirichlet == True:
            project_name = 'screened_poisson_linear_dirichlet_1d_'
            directory_dataset =\
                    '../../../../../datasets/fenics/screened_poisson_linear_dirichlet_1d/' +\
                    data_options + '/'
        if options.boundary_conditions_neumann == True:
            project_name = 'screened_poisson_linear_neumann_1d_'
            directory_dataset =\
                    '../../../../../datasets/fenics/screened_poisson_linear_neumann_1d/' +\
                    data_options + '/'

        #=== Data Type ===#
        if options.obs_type == 'full':
            obs_string = 'full'
        if options.obs_type == 'obs':
            obs_string = 'obs_o%d' % (options.num_obs_points)
        if options.add_noise == 1:
            noise_level_string = value_to_string(options.noise_level)
            noise_string = 'ns%s_%d' % (noise_level_string,
                                        options.num_obs_points)
        else:
            noise_string = 'ns0'
        data_string = data_options + '_' + obs_string + '_' + noise_string + '_'

        #=== Prior Properties ===#
        if options.prior_type_lp_reg == True:
            prior_string_reg = self.prior_string_lp('lp',
                                                    options.prior_mean_lp_reg,
                                                    options.prior_gamma_lp_reg,
                                                    options.prior_delta_lp_reg)
        if options.prior_type_lp_train == True:
            prior_string_train = self.prior_string_lp(
                'lp', options.prior_mean_lp_train,
                options.prior_gamma_lp_train, options.prior_delta_lp_train)
        if options.prior_type_lp_test == True:
            prior_string_test = self.prior_string_lp(
                'lp', options.prior_mean_lp_test, options.prior_gamma_lp_test,
                options.prior_delta_lp_test)

        #=== Case String ===#
        self.case_name = project_name + data_string + prior_string_train

        ################
        #   Datasets   #
        ################
        #=== Parameters ===#
        self.obs_indices = directory_dataset +\
                project_name + 'obs_indices_' +\
                'o%d_'%(options.num_obs_points) + data_options
        self.poi_train = directory_dataset +\
                project_name +\
                'parameter_train_' +\
                'd%d_'%(options.num_data_train_load) + data_options + '_' + prior_string_train
        self.poi_test = directory_dataset +\
                project_name +\
                'parameter_test_' +\
                'd%d_'%(options.num_data_test_load) + data_options + '_' + prior_string_test
        self.poi_specific = directory_dataset +\
                project_name + 'parameter_specific_' + data_options
        if options.obs_type == 'full':
            self.qoi_train = directory_dataset +\
                    project_name +\
                    'state_' + options.obs_type + '_train_' +\
                    'd%d_'%(options.num_data_train_load) + data_options + '_' + prior_string_train
            self.qoi_test = directory_dataset +\
                    project_name +\
                    'state_' + options.obs_type + '_test_' +\
                    'd%d_'%(options.num_data_test_load) + data_options + '_' + prior_string_test
            self.qoi_specific = directory_dataset +\
                                project_name + 'state_' + options.obs_type + '_specific_' +\
                                data_options
        if options.obs_type == 'obs':
            self.qoi_train = directory_dataset +\
                    project_name +\
                    'state_' + options.obs_type + '_train_' +\
                    'o%d_d%d_' %(options.num_obs_points, options.num_data_train_load) +\
                    data_options + '_' + prior_string_train
            self.qoi_test = directory_dataset +\
                    project_name +\
                    'state_' + options.obs_type + '_test_' +\
                    'o%d_d%d_' %(options.num_obs_points, options.num_data_test_load) +\
                    data_options + '_' + prior_string_test
            self.qoi_specific = directory_dataset +\
                                project_name + 'state_' + options.obs_type + '_specific_' +\
                                'o%d_'%(options.num_obs_points) +\
                                data_options

        #############
        #   Prior   #
        #############
        #=== Prior ===#
        if options.prior_type_identity_reg == True:
            self.prior_string_reg = 'identity'
        else:
            self.prior_string_reg = prior_string_reg
        self.prior_mean = directory_dataset +\
                'prior_mean_' + data_options + '_' + prior_string_reg
        self.prior_covariance = directory_dataset +\
                'prior_covariance_' + data_options + '_' + prior_string_reg
        self.prior_covariance_inverse = directory_dataset +\
                'prior_covariance_inverse_' + data_options + '_' + prior_string_reg
        self.prior_covariance_cholesky = directory_dataset +\
                'prior_covariance_cholesky_' + data_options + '_' + prior_string_reg
        self.prior_covariance_cholesky_inverse = directory_dataset +\
                'prior_covariance_cholesky_inverse_' + data_options + '_' + prior_string_reg

        ###################
        #   FEM Objects   #
        ###################
        #=== Forward Operator ===#
        self.forward_matrix = directory_dataset +\
                'forward_matrix_' + data_options
        self.mass_matrix = directory_dataset +\
                'mass_matrix_' + data_options