Belle II Software light-2609-luna
SparseDataset Class Reference
Inheritance diagram for SparseDataset:
Collaboration diagram for SparseDataset:

Public Member Functions

 __init__ (self, features_sparse, labels, mbc_values=None, extra_features=None, weights=None)
 
 __len__ (self)
 
 __getitem__ (self, idx)
 

Public Attributes

 features = features_sparse.tocsr()
 Feature matrix in CSR format.
 
 labels = labels
 Target class labels.
 
 mbc_values = mbc_values
 Mbc values per event for DisCo loss, or None.
 
 extra_features = extra_features
 Additional dense features concatenated at retrieval time, or None.
 
 weights = weights
 Per-event loss weights, or None.
 

Detailed Description

Dataset for sparse feature matrices.

Converts each row to dense on-the-fly during batching.
Slower than dense loading but significantly more memory-efficient.

Definition at line 1096 of file train.py.

Constructor & Destructor Documentation

◆ __init__()

__init__ ( self,
features_sparse,
labels,
mbc_values = None,
extra_features = None,
weights = None )
Parameters:
    features_sparse (scipy.sparse matrix): Sparse feature matrix of shape
        (n_samples, n_features). CSR format recommended.
    labels (np.ndarray): Target labels, shape (n_samples,).
    mbc_values (np.ndarray, optional): Mbc values per event for DisCo loss,
        shape (n_samples,).
    extra_features (np.ndarray, optional): Additional dense features concatenated
        per sample, shape (n_samples, n_extra).
    weights (np.ndarray, optional): Per-event loss weights, shape (n_samples,)
        (e.g. FEI calibration weights).

Definition at line 1103 of file train.py.

1104 weights=None):
1105 """
1106 Parameters:
1107 features_sparse (scipy.sparse matrix): Sparse feature matrix of shape
1108 (n_samples, n_features). CSR format recommended.
1109 labels (np.ndarray): Target labels, shape (n_samples,).
1110 mbc_values (np.ndarray, optional): Mbc values per event for DisCo loss,
1111 shape (n_samples,).
1112 extra_features (np.ndarray, optional): Additional dense features concatenated
1113 per sample, shape (n_samples, n_extra).
1114 weights (np.ndarray, optional): Per-event loss weights, shape (n_samples,)
1115 (e.g. FEI calibration weights).
1116 """
1117
1118 self.features = features_sparse.tocsr()
1119
1120 self.labels = labels
1121
1122 self.mbc_values = mbc_values
1123
1124 self.extra_features = extra_features
1125
1126 self.weights = weights
1127

Member Function Documentation

◆ __getitem__()

__getitem__ ( self,
idx )
Return one sample (features, label, [mbc, [weight]]) for the given index.

Definition at line 1132 of file train.py.

1132 def __getitem__(self, idx):
1133 """Return one sample (features, label, [mbc, [weight]]) for the given index."""
1134 # Convert sparse row to dense 1D tensor
1135 feature_row = self.features[idx].toarray().astype(np.float32).squeeze()
1136 if self.extra_features is not None:
1137 feature_row = np.concatenate([feature_row, self.extra_features[idx]]).astype(np.float32)
1138 feature_row = torch.from_numpy(feature_row)
1139 label = torch.tensor(self.labels[idx], dtype=torch.long)
1140
1141 if self.mbc_values is not None:
1142 mbc = torch.tensor(self.mbc_values[idx], dtype=torch.float32)
1143 if self.weights is not None:
1144 w = torch.tensor(self.weights[idx], dtype=torch.float32)
1145 return feature_row, label, mbc, w
1146 return feature_row, label, mbc
1147
1148 if self.weights is not None:
1149 w = torch.tensor(self.weights[idx], dtype=torch.float32)
1150 return feature_row, label, w
1151
1152 return feature_row, label
1153
1154

◆ __len__()

__len__ ( self)
Return the number of samples in the dataset.

Definition at line 1128 of file train.py.

1128 def __len__(self):
1129 """Return the number of samples in the dataset."""
1130 return self.features.shape[0]
1131

Member Data Documentation

◆ extra_features

extra_features = extra_features

Additional dense features concatenated at retrieval time, or None.

Definition at line 1124 of file train.py.

◆ features

features = features_sparse.tocsr()

Feature matrix in CSR format.

Definition at line 1118 of file train.py.

◆ labels

labels = labels

Target class labels.

Definition at line 1120 of file train.py.

◆ mbc_values

mbc_values = mbc_values

Mbc values per event for DisCo loss, or None.

Definition at line 1122 of file train.py.

◆ weights

weights = weights

Per-event loss weights, or None.

Definition at line 1126 of file train.py.


The documentation for this class was generated from the following file: