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#