qbiocode.apps.quvine.baselines.configs module#
Configuration dataclasses for all baseline methods.
This module provides type-safe configuration classes for each baseline method, eliminating the need for getattr calls and providing clear defaults.
Summary#
Classes:
Configuration for APPNP baseline. |
|
Configuration for baseline filter methods (heat/poly without quantum calibration). |
|
Complete configuration for GAT-based methods. |
|
Model architecture configuration for GAT. |
|
Training configuration for GAT models. |
|
Configuration for GCN-MF baseline. |
|
Complete configuration for GraphGPS-based methods. |
|
Model architecture configuration for GraphGPS. |
|
Training configuration for GraphGPS models. |
|
Configuration for GraphSAGE baseline. |
|
Configuration for NetMF baseline. |
|
Configuration for Node2Vec baseline. |
|
Configuration for quantum-calibrated filter methods. |
|
Configuration for quantum-calibrated GCN-MF methods. |
|
Configuration for the QuVINE SGNS walk embeddings (quvine_rwr/ctqw/dtqw). |
Functions:
Build APPNP config from OmegaConf. |
|
Build baseline filter config from OmegaConf. |
|
Build GAT method config from OmegaConf. |
|
Build GCN-MF config from OmegaConf. |
|
Build GraphGPS method config from OmegaConf. |
|
Build GraphSAGE config from OmegaConf. |
|
Build NetMF config from OmegaConf. |
|
Build Node2Vec config from OmegaConf. |
|
Build quantum-calibrated filter config from OmegaConf. |
|
Build quantum-calibrated GCN-MF config from OmegaConf. |
|
Build config for a QuVINE SGNS walk embedding (quvine_rwr/ctqw/dtqw). |
|
Get embedding dimension with fallback logic. |
Reference#
- class Node2VecConfig(enabled=False, dimensions=128, walk_length=80, num_walks=10, p=1.0, q=1.0, window=10, min_count=1, workers=4, seed=None)[source]#
Bases:
objectConfiguration for Node2Vec baseline.
-
enabled:
bool= False#
-
dimensions:
int= 128#
-
walk_length:
int= 80#
-
num_walks:
int= 10#
-
p:
float= 1.0#
-
q:
float= 1.0#
-
window:
int= 10#
-
min_count:
int= 1#
-
workers:
int= 4#
-
seed:
Optional[int] = None#
-
enabled:
- class APPNPConfig(enabled=False, dimensions=128, hidden_dim=64, n_layers=2, alpha=0.1, K=10, dropout=0.5, lr=0.01, weight_decay=0.0005, epochs=200, seed=None)[source]#
Bases:
objectConfiguration for APPNP baseline.
-
enabled:
bool= False#
-
dimensions:
int= 128#
-
n_layers:
int= 2#
-
alpha:
float= 0.1#
-
K:
int= 10#
-
dropout:
float= 0.5#
-
lr:
float= 0.01#
-
weight_decay:
float= 0.0005#
-
epochs:
int= 200#
-
seed:
Optional[int] = None#
-
enabled:
- class BaselineFilterConfig(enabled=False, filter_type='heat', embedding_dim=128, t=1.0, K=4, normalize=True, use_features=False, features=None, random_state=None)[source]#
Bases:
objectConfiguration for baseline filter methods (heat/poly without quantum calibration).
-
enabled:
bool= False#
-
filter_type:
str= 'heat'#
-
embedding_dim:
int= 128#
-
t:
float= 1.0#
-
K:
int= 4#
-
normalize:
bool= True#
-
use_features:
bool= False#
-
features:
Optional[Any] = None#
-
random_state:
Optional[int] = None#
-
enabled:
- class GCNMFConfig(enabled=False, embedding_dim=128, hidden_dim=64, mf_dim=64, n_layers=2, epochs=200, lr=0.01, weight_decay=0.0005, random_state=None)[source]#
Bases:
objectConfiguration for GCN-MF baseline.
-
enabled:
bool= False#
-
embedding_dim:
int= 128#
-
mf_dim:
int= 64#
-
n_layers:
int= 2#
-
epochs:
int= 200#
-
lr:
float= 0.01#
-
weight_decay:
float= 0.0005#
-
random_state:
Optional[int] = None#
-
enabled:
- class GATTrainConfig(epochs=200, lr=0.005, weight_decay=0.0005, patience=25, edge_batch_size=4096, val_edge_fraction=0.1, device='cpu', random_state=None, verbose=False)[source]#
Bases:
objectTraining configuration for GAT models.
-
epochs:
int= 200#
-
lr:
float= 0.005#
-
weight_decay:
float= 0.0005#
-
patience:
int= 25#
-
edge_batch_size:
int= 4096#
-
val_edge_fraction:
float= 0.1#
-
device:
str= 'cpu'#
-
random_state:
Optional[int] = None#
-
verbose:
bool= False#
-
epochs:
- class GATModelConfig(hidden_dim=64, output_dim=128, num_layers=2, heads=4, dropout=0.2, attention_dropout=0.2, negative_slope=0.2, residual=True)[source]#
Bases:
objectModel architecture configuration for GAT.
-
output_dim:
int= 128#
-
num_layers:
int= 2#
-
heads:
int= 4#
-
dropout:
float= 0.2#
-
attention_dropout:
float= 0.2#
-
negative_slope:
float= 0.2#
-
residual:
bool= True#
-
output_dim:
- class GATMethodConfig(enabled=False, variant='raw', embedding_dim=128, heat_t=1.0, poly_K=4, poly_ridge=1e-05, rwr_alpha=0.15, rwr_steps=50, model=<factory>, train=<factory>)[source]#
Bases:
objectComplete configuration for GAT-based methods.
-
enabled:
bool= False#
-
variant:
str= 'raw'#
-
embedding_dim:
int= 128#
-
heat_t:
float= 1.0#
-
poly_K:
int= 4#
-
poly_ridge:
float= 1e-05#
-
rwr_alpha:
float= 0.15#
-
rwr_steps:
int= 50#
-
model:
GATModelConfig#
-
train:
GATTrainConfig#
-
enabled:
- class GraphGPSTrainConfig(task='link_reconstruction', epochs=200, lr=0.005, weight_decay=0.0005, patience=30, edge_batch_size=8192, val_edge_fraction=0.1, device='cpu', random_state=None, verbose=False)[source]#
Bases:
objectTraining configuration for GraphGPS models.
-
task:
str= 'link_reconstruction'#
-
epochs:
int= 200#
-
lr:
float= 0.005#
-
weight_decay:
float= 0.0005#
-
patience:
int= 30#
-
edge_batch_size:
int= 8192#
-
val_edge_fraction:
float= 0.1#
-
device:
str= 'cpu'#
-
random_state:
Optional[int] = None#
-
verbose:
bool= False#
-
task:
- class GraphGPSModelConfig(hidden_dim=64, output_dim=128, num_layers=2, heads=4, dropout=0.2, attn_dropout=0.2, local_gnn='gcn', attn_type='multihead', use_layer_norm=True, activation='relu', lap_pe_dim=0, standardize_features=True)[source]#
Bases:
objectModel architecture configuration for GraphGPS.
-
output_dim:
int= 128#
-
num_layers:
int= 2#
-
heads:
int= 4#
-
dropout:
float= 0.2#
-
attn_dropout:
float= 0.2#
-
local_gnn:
str= 'gcn'#
-
attn_type:
str= 'multihead'#
-
use_layer_norm:
bool= True#
-
activation:
str= 'relu'#
-
lap_pe_dim:
int= 0#
-
standardize_features:
bool= True#
-
output_dim:
- class GraphGPSMethodConfig(enabled=False, variant='raw', embedding_dim=128, heat_t=1.0, poly_K=4, poly_ridge=1e-05, rwr_alpha=0.15, rwr_steps=50, model=<factory>, train=<factory>)[source]#
Bases:
objectComplete configuration for GraphGPS-based methods.
-
enabled:
bool= False#
-
variant:
str= 'raw'#
-
embedding_dim:
int= 128#
-
heat_t:
float= 1.0#
-
poly_K:
int= 4#
-
poly_ridge:
float= 1e-05#
-
rwr_alpha:
float= 0.15#
-
rwr_steps:
int= 50#
-
model:
GraphGPSModelConfig#
-
train:
GraphGPSTrainConfig#
-
enabled:
- class GraphSAGEConfig(enabled=False, dimensions=128, hidden_dim=256, n_layers=2, epochs=50, lr=0.01, neg_samples=5, seed=None)[source]#
Bases:
objectConfiguration for GraphSAGE baseline.
-
enabled:
bool= False#
-
dimensions:
int= 128#
-
n_layers:
int= 2#
-
epochs:
int= 50#
-
lr:
float= 0.01#
-
neg_samples:
int= 5#
-
seed:
Optional[int] = None#
-
enabled:
- class QuvineFilterConfig(enabled=False, filter_type='heat', embedding_dim=128, t=None, K=4, ridge=1e-06, normalize=True, use_features=False, features=None, random_state=None)[source]#
Bases:
objectConfiguration for quantum-calibrated filter methods.
-
enabled:
bool= False#
-
filter_type:
str= 'heat'#
-
embedding_dim:
int= 128#
-
t:
Optional[float] = None#
-
K:
int= 4#
-
ridge:
float= 1e-06#
-
normalize:
bool= True#
-
use_features:
bool= False#
-
features:
Optional[Any] = None#
-
random_state:
Optional[int] = None#
-
enabled:
- class QuvineGCNMFConfig(enabled=False, diffusion_type='heat', embedding_dim=128, hidden_dim=64, mf_dim=64, n_layers=2, epochs=200, lr=0.01, weight_decay=0.0005, K=4, ridge=1e-06, normalize_laplacian=True, random_state=None)[source]#
Bases:
objectConfiguration for quantum-calibrated GCN-MF methods.
-
enabled:
bool= False#
-
diffusion_type:
str= 'heat'#
-
embedding_dim:
int= 128#
-
mf_dim:
int= 64#
-
n_layers:
int= 2#
-
epochs:
int= 200#
-
lr:
float= 0.01#
-
weight_decay:
float= 0.0005#
-
K:
int= 4#
-
ridge:
float= 1e-06#
-
normalize_laplacian:
bool= True#
-
random_state:
Optional[int] = None#
-
enabled:
- class QuvineSGNSConfig(enabled=False, walk_kind='rwr', cfg=None, n_jobs=1, chunk_size=30)[source]#
Bases:
objectConfiguration for the QuVINE SGNS walk embeddings (quvine_rwr/ctqw/dtqw).
These methods are the core QuVINE embedding: per-root views -> walks (rwr/ctqw/dtqw) -> corpus -> word2vec (SGNS). They do NOT use quantum calibration targets; the walk itself is the quantum component. The full OmegaConf
cfgis carried through because the SGNS core readswalks.*,views.*,train.*,min_countandexperiment.base_seedfrom it.-
enabled:
bool= False#
-
walk_kind:
str= 'rwr'#
-
cfg:
Any= None#
-
n_jobs:
int= 1#
-
chunk_size:
int= 30#
-
enabled:
- class NetMFConfig(enabled=False, dimensions=128, window_size=10, rank=256, negative=1, seed=None)[source]#
Bases:
objectConfiguration for NetMF baseline.
-
enabled:
bool= False#
-
dimensions:
int= 128#
-
window_size:
int= 10#
-
rank:
int= 256#
-
negative:
int= 1#
-
seed:
Optional[int] = None#
-
enabled:
- get_embedding_dim(cfg, method_cfg, default=128)[source]#
Get embedding dimension with fallback logic.
Priority: 1. Method-specific embedding_dim 2. Global train.embedding_dim 3. Default value
- Return type:
int
- build_baseline_filter_config(cfg, base_seed, filter_type='heat')[source]#
Build baseline filter config from OmegaConf.
- Return type:
- build_gcnmf_config(cfg, base_seed, config_name='baseline_gcnmf')[source]#
Build GCN-MF config from OmegaConf.
- Return type:
- build_gat_config(cfg, base_seed, config_name)[source]#
Build GAT method config from OmegaConf.
- Return type:
- build_graphgps_config(cfg, base_seed, config_name)[source]#
Build GraphGPS method config from OmegaConf.
- Return type:
- build_quvine_filter_config(cfg, base_seed, config_name, filter_type)[source]#
Build quantum-calibrated filter config from OmegaConf.
- Return type:
- build_quvine_gcnmf_config(cfg, base_seed, config_name, diffusion_type)[source]#
Build quantum-calibrated GCN-MF config from OmegaConf.
- Return type:
- build_quvine_sgns_config(cfg, base_seed, config_name, walk_kind)[source]#
Build config for a QuVINE SGNS walk embedding (quvine_rwr/ctqw/dtqw).
The executor runs the shared SGNS core (views -> walks -> corpus -> word2vec) for the single
walk_kind, so the wholecfgis carried through. Enabled follows the samecfg.baselines.<name>.enabledpattern as the other methods.- Return type: