smftools.analysis.compute.ml_cnn#
Matrix-level helpers for 1D CNN binary classifiers.
Inputs are plain numpy arrays and labels. No AnnData or file I/O occurs here.
Functions
|
|
|
Convert a read x feature matrix into a CNN input tensor. |
|
|
|
|
|
|
|
|
|
Train a residual dilated 1D CNN with early stopping on validation AUC. |
|
Return positive-class probabilities for a trained CNN model. |
|
Stratified train/validation split for CNN training. |
Classes
|
|
|
|
|
|
|
|
|
|
|
- class smftools.analysis.compute.ml_cnn.CNNConfig(in_channels, stem_channels=32, block_channels=(64, 64, 96, 96, 128, 128), dilations=(1, 2, 4, 8, 16, 32), stem_kernel_size=9, kernel_size=5, dropout=0.15, hidden_dim=128, use_se=True, use_attention_pool=True)#
Bases:
object
- class smftools.analysis.compute.ml_cnn.ResidualDilatedBlock1d(in_channels, out_channels, kernel_size, dilation, dropout, use_se)#
Bases:
Module
- class smftools.analysis.compute.ml_cnn.TrainedCNNModel(model, device, config, include_positional=False, include_spacing=False, include_design_mask=False, baseline_mode='zero')#
Bases:
object
- smftools.analysis.compute.ml_cnn.build_cnn_input(X, feature_labels=None, include_positional=False, include_spacing=False, learnable_mask=None, include_design_mask=False)#
Convert a read x feature matrix into a CNN input tensor.
- Return type:
Channels#
Always included:
signal: methylation values with NaNs filled to 0
observed-mask: 1 where the original matrix was observed, 0 where missing
Optional:
design-mask: 1 where the position was intentionally masked from learning
positional: normalized coordinate channel in [-1, 1]
spacing-prev / spacing-next: normalized distances to previous/next learnable site
- smftools.analysis.compute.ml_cnn.build_cnn_baseline(X, include_positional=False, include_spacing=False, include_design_mask=False, baseline_mode='zero')#
- Return type:
- smftools.analysis.compute.ml_cnn.split_train_validation(X, y, validation_fraction=0.15, random_state=42)#
Stratified train/validation split for CNN training.
- smftools.analysis.compute.ml_cnn.fit_simple_cnn(X_train, y_train, X_val, y_val, random_state=42, epochs=40, batch_size=128, learning_rate=0.001, patience=8, weight_decay=0.0001, config=None, include_positional=False, include_spacing=False, include_design_mask=False, baseline_mode='zero', device=None)#
Train a residual dilated 1D CNN with early stopping on validation AUC.
- Return type:
TrainedCNNModel