use super::types::{
CompressionConfig, CompressionMethod, ConvergenceCriteria, FrequencyProgression,
GradientEstimation, LearningRateSchedule, MetaLearningConfig, MetaLearningMethod,
OptimizationConfig, PositionalEncodingType, PruningStrategy, QuantumActivation,
QuantumActivationConfig, QuantumConvergenceMetric, QuantumINRConfig, QuantumOptimizerType,
QuantumPositionalEncoding, QuantumRegularization, RegularizationConfig, RepresentationMethod,
SignalType,
};
impl Default for QuantumINRConfig {
fn default() -> Self {
Self {
signal_type: SignalType::Image2D {
height: 256,
width: 256,
channels: 3,
},
coordinate_dim: 2,
output_dim: 3,
num_qubits: 8,
network_depth: 8,
hidden_dim: 256,
quantum_enhancement_level: 0.7,
representation_method: RepresentationMethod::QuantumSIREN {
omega_0: 30.0,
omega_hidden: 1.0,
quantum_frequency_modulation: true,
},
positional_encoding: QuantumPositionalEncoding {
encoding_type: PositionalEncodingType::QuantumSinusoidal {
base_frequency: 1.0,
frequency_progression: FrequencyProgression::Logarithmic,
},
num_frequencies: 10,
frequency_scale: 1.0,
quantum_enhancement: true,
learnable_frequencies: true,
},
activation_config: QuantumActivationConfig {
activation_type: QuantumActivation::QuantumSiren { omega: 30.0 },
frequency_modulation: true,
phase_modulation: true,
amplitude_control: true,
quantum_nonlinearity_strength: 0.5,
},
compression_config: CompressionConfig {
compression_method: CompressionMethod::QuantumPruning {
sparsity_target: 0.8,
pruning_strategy: PruningStrategy::QuantumEntanglement,
},
target_compression_ratio: 10.0,
quality_preservation: 0.95,
quantum_compression_enhancement: 0.3,
adaptive_compression: true,
},
meta_learning_config: MetaLearningConfig {
meta_learning_method: MetaLearningMethod::QuantumMAML {
first_order: false,
quantum_gradient_estimation: true,
},
adaptation_steps: 5,
meta_learning_rate: 1e-3,
inner_learning_rate: 1e-4,
quantum_meta_enhancement: 0.2,
},
optimization_config: OptimizationConfig {
optimizer_type: QuantumOptimizerType::QuantumAdam {
beta1: 0.9,
beta2: 0.999,
epsilon: 1e-8,
quantum_momentum: true,
},
learning_rate_schedule: LearningRateSchedule::Cosine {
max_rate: 1e-3,
min_rate: 1e-6,
period: 1000,
},
gradient_estimation: GradientEstimation::ParameterShift,
regularization: RegularizationConfig {
weight_decay: 1e-5,
spectral_normalization: true,
quantum_regularization: QuantumRegularization::EntanglementRegularization {
strength: 0.1,
},
smoothness_regularization: 0.01,
},
convergence_criteria: ConvergenceCriteria {
max_iterations: 10000,
tolerance: 1e-6,
patience: 100,
quantum_convergence_metric: QuantumConvergenceMetric::QuantumFidelity,
},
},
}
}
}