Collection (Active Learning) Configuration

目录

Collection (Active Learning) Configuration#

pydantic model dpeva.config.CollectionConfig[源代码]#

Configuration for Collection (Active Learning) Workflow.

field config_path: Path | None = None#
field desc_dir: Path [Required]#

Descriptor directory.

field desc_feature_kind: Literal['descriptor', 'fitting_last_layer'] = 'descriptor'#

Feature kind stored in desc_dir/training_desc_dir. HDF5 descriptor inputs read descriptor; fitting_last_layer inputs read atomic_feature.

field direct_k: int = 1#
field direct_n_clusters: int | None = None#

Target number of clusters for Standard DIRECT.

field direct_thr_init: float = 0.5#
field enable_diagnostic_plots: bool = False#

Enable optional Diagnostic-layer plots (default: False, Core plots only).

field fig_base_font_size: int = 12#

Base font size for Collection figures; title, label, tick, and legend sizes are derived from this value.

field fig_dpi: int = 300#

DPI for visualization figures.

field fig_legend_max_cols: int = 4#

Maximum legend columns used by Collection multi-pool summary figures.

field fig_legend_max_rows: int = 8#

Maximum preferred legend rows before Collection legends flow into multiple columns.

field fig_tick_target_count: int = 6#

Approximate number of major ticks used when linking x/y tick spacing in Collection 2D plots.

field llpr_calibration_method: Literal['squared_residuals', 'absolute_residuals', 'crps'] = 'squared_residuals'#
field llpr_candidate_energy_path: Path | None = None#
field llpr_candidate_feature_dir: Path | None = None#

Candidate-pool DeepMD last-layer feature directory used for LLPR scoring.

field llpr_collect_score: Literal['energy_uncertainty_per_atom', 'energy_ensemble_std_per_atom', 'force_uncertainty_max'] = 'energy_uncertainty_per_atom'#
field llpr_ensemble_output_path: Path | None = None#
field llpr_feature_normalization: Literal['sum', 'mean'] = 'mean'#
field llpr_last_layer_weights_path: Path | None = None#
field llpr_model_head: str | None = None#
field llpr_model_path: Path | None = None#
field llpr_num_ensemble_members: int | None = None#
field llpr_random_seed: int | None = None#
field llpr_regularizer: float = 1e-08#
field llpr_save_state_path: Path | None = None#
field llpr_state_path: Path | None = None#
field llpr_strict_metatrain_parity: bool = True#
field llpr_targets: Literal['energy', 'force', 'energy_force'] = 'energy'#
field llpr_train_feature_dir: Path | None = None#

Training-set DeepMD last-layer feature directory used to fit LLPR covariance.

field num_models: int = 4#

Number of models for UQ calculation.

field project: str = './'#

Project directory.

field results_prefix: str = 'results'#

Output file prefix.

field root_savedir: Path = PosixPath('dpeva_uq_result')#
field sampler_type: Literal['direct', '2-direct'] = 'direct'#
field step1_n_clusters: int | None = None#

Number of clusters for Step 1. If None, dynamic clustering based on threshold.

field step1_threshold: float = 0.5#

Threshold for Step 1 Birch clustering.

field step2_k: int = 5#

Number of samples per atomic cluster in Step 2.

field step2_n_clusters: int | None = None#

Number of clusters for Step 2. If None, dynamic clustering based on threshold.

field step2_selection: Literal['smallest', 'center', 'random'] = 'smallest'#

Selection criteria for Step 2. 'smallest': fewest atoms; 'center': closest to cluster centroid; 'random': random sampling.

field step2_threshold: float = 0.1#

Threshold for Step 2 Birch clustering.

field testdata_dir: Path [Required]#

Test data directory.

field testing_dir: str = 'test_results'#
field training_data_dir: Path | None = None#
field training_desc_dir: Path | None = None#
field uq_auto_bounds: Dict[str, Dict[str, float]] [Optional]#
field uq_backend: Literal['qbc_rnd', 'llpr', 'hybrid'] = 'qbc_rnd'#

UQ backend: existing QbC/RND, DeepMD last-layer LLPR, or hybrid reporting.

field uq_llpr_energy_trust_hi: float | None = None#
field uq_llpr_energy_trust_lo: float | None = None#
field uq_qbc_trust_hi: float | None = None#
field uq_qbc_trust_lo: float | None = None#
field uq_qbc_trust_ratio: float | None = None#
field uq_qbc_trust_width: float | None = None#
field uq_rnd_rescaled_trust_hi: float | None = None#
field uq_rnd_rescaled_trust_lo: float | None = None#
field uq_rnd_rescaled_trust_ratio: float | None = None#
field uq_rnd_rescaled_trust_width: float | None = None#
field uq_select_scheme: Literal['tangent_lo', 'strict', 'circle_lo', 'crossline_lo', 'loose'] = 'tangent_lo'#

Strategy for selecting high-uncertainty data. Options: tangent_lo, strict, circle_lo, etc.

field uq_trust_mode: Literal['auto', 'manual', 'no_filter'] = 'auto'#
field uq_trust_ratio: float = 0.33#
field uq_trust_width: float = 0.25#