arcade.data
Data loading and processing for ARCADE.
- class arcade.data.BaseDataLoader[source]
Bases:
ABCInterface for loading readout data from any source.
Subclass this and decorate with
@register_loader("name")to make the loader discoverable by the pipeline.Example:
@register_loader("my_format") class MyLoader(BaseDataLoader): def load(self, path, **kwargs): ... return DataBundle(traces=traces, labels=labels)
- classmethod from_config(config)[source]
Construct a loader instance from a config dict.
- Return type:
- Parameters:
- class arcade.data.BaseDataProcessor[source]
Bases:
ABCInterface for data processing steps (demod, preprocess, split, etc.).
Subclass this and decorate with
@register_processor("name").- abstractmethod process(bundle, **kwargs)[source]
Apply a processing step to the bundle.
- Parameters:
bundle (
DataBundle) – Current data state.**kwargs (
Any) – Processor-specific options.
- Return type:
- Returns:
The (possibly modified) DataBundle.
- arcade.data.BaseLoader
alias of
BaseDataLoader
- arcade.data.BaseProcessor
alias of
BaseDataProcessor
- class arcade.data.DataBundle(traces, labels=None, time=None, metadata=<factory>)[source]
Bases:
objectStandardized container for loaded readout data.
- Parameters:
- traces
IQ trace array. Shape is
(n_shots, n_time, 2)or(n_states, n_shots, n_time, 2)for state-sorted data.
- labels
Integer class labels, or
Noneif not available.
- time
Time-axis array, or
None.
- metadata
Provenance information (source path, format, etc.).
- class arcade.data.DataStageOutput(bundle, traces, labels, label_set, splits, transition_result=None, spectral_labels=None, relaxation_result=None, metadata=<factory>)[source]
Bases:
objectOutput of the data preparation stage.
- Parameters:
- class arcade.data.FeatureStageOutput(filter_set=None, filter_types=(), transition_result=None, metadata=<factory>)[source]
Bases:
objectOutput of the feature / filter-bank stage.
- Parameters:
- class arcade.data.ClassifyStageOutput(classifiers=<factory>, sweep=None, metadata=<factory>)[source]
Bases:
objectOutput of the classifier training and evaluation stage.
- class arcade.data.LabelSet(joint, per_qubit, num_qubits, num_levels, qubit_bit_order='lsb0')[source]
Bases:
objectJoint and per-qubit labels with bookkeeping metadata.
- Parameters:
- class arcade.data.SplitIndices(train_indices, val_indices, test_indices)[source]
Bases:
objectTrain / validation / test index arrays.
- exception arcade.data.LevelMismatchError[source]
Bases:
ValueErrorRaised when detected cluster count does not match configured levels.
Expected clusters equal
num_levels, ornum_levels + 1when leakage detection is enabled.
- exception arcade.data.InsufficientShotsError[source]
Bases:
ValueErrorRaised when a labeled population is too small for a detector fit.
- class arcade.data.HDF5Loader(traces_key='DD', labels_key='y', time_key='t_bin')[source]
Bases:
BaseDataLoaderLoad readout traces from HDF5 files.
- classmethod from_config(config)[source]
Construct a loader instance from a config dict.
- Return type:
- Parameters:
- class arcade.data.NPZLoader[source]
Bases:
BaseDataLoaderLoad readout traces from .npy or .npz files.
- class arcade.data.PathSignatureLoader(dataset_name='RIKEN2_Q56_simultaneous', time_truncation=2.0, label_source='expected', max_per_class=None, subsample_seed=42)[source]
Bases:
BaseDataLoaderLoad Cao et al. path-signature benchmark datasets.
- Parameters:
- classmethod from_config(config)[source]
Construct a loader instance from a config dict.
- Return type:
- Parameters:
- class arcade.data.PickleLoader[source]
Bases:
BaseDataLoaderLoad readout traces from pickle files.
- class arcade.data.DemodulationProcessor(frequencies=None, sampling_rate=None)[source]
Bases:
BaseDataProcessorDemodulate raw ADC traces into per-qubit IQ data.
- process(bundle, **kwargs)[source]
Apply a processing step to the bundle.
- Parameters:
bundle (
DataBundle) – Current data state.**kwargs (
Any) – Processor-specific options.
- Return type:
- Returns:
The (possibly modified) DataBundle.
- class arcade.data.BoxcarProcessor(window=25)[source]
Bases:
BaseDataProcessorNon-overlapping boxcar (moving-average) downsampling.
- Parameters:
window (int)
- process(bundle, **kwargs)[source]
Apply a processing step to the bundle.
- Parameters:
bundle (
DataBundle) – Current data state.**kwargs (
Any) – Processor-specific options.
- Return type:
- Returns:
The (possibly modified) DataBundle.
- class arcade.data.SplitProcessor[source]
Bases:
BaseDataProcessorStratified train / validation / test splitting (processor wrapper).
- process(bundle, **kwargs)[source]
Apply a processing step to the bundle.
- Parameters:
bundle (
DataBundle) – Current data state.**kwargs (
Any) – Processor-specific options.
- Return type:
- Returns:
The (possibly modified) DataBundle.
- class arcade.data.TransitionProcessor(method='centroid', spectral=False, include_leakage=False)[source]
Bases:
BaseDataProcessorDetect transition trajectories (relaxation, excitation, leakage).
- process(bundle, **kwargs)[source]
Apply a processing step to the bundle.
- Parameters:
bundle (
DataBundle) – Current data state.**kwargs (
Any) – Processor-specific options.
- Return type:
- Returns:
The (possibly modified) DataBundle.
- class arcade.data.TransitionResult(num_qubits, num_levels, per_qubit=<factory>)[source]
Bases:
objectPer-qubit separation of clean, relaxation, excitation, and leakage traces.
- arcade.data.get_loader(name)[source]
Look up a loader by registry name or dotted import path.
- Return type:
- Parameters:
name (str)
- arcade.data.get_processor(name)[source]
Look up a processor by registry name or dotted import path.
- Return type:
- Parameters:
name (str)
- arcade.data.load_data(path, config)[source]
Dispatch to the configured loader (
default, registered name, or dotted path).