Configuration Settings
This page documents all the default configuration values available in the SNN2 framework. These configurations are organized into multiple INI files located in the SNN2/default_ini/ directory.
Overview
The SNN2 framework uses a hierarchical configuration system with parameter interpolation. Configuration values can reference other values using the {parameter_name} syntax, allowing for flexible and reusable configurations.
Core Configuration (default.ini)
Basic folder structure and timing settings:
- Folder Structure:
pkg_folder: Path to the package foldermain_folder: Main working directoryuxtime_sec: Unix timestamp in seconds for unique run identification
Model Configuration (model.ini)
Neural network model parameters:
- Model Architecture:
weights_file: Path to pre-trained model weightscheckpoint_file: Path for saving model checkpointsmodel: Model architecture specificationloss: Loss function configurationmetrics: List of metrics to track during trainingoptimizer: Optimizer settings
- Training Parameters:
epochs: Number of training epochsbatch_size: Training batch sizelearning_rate: Learning rate for optimizationvalidation_split: Fraction of data for validation
Input/Output Configuration (io.ini)
Paths and file management settings:
- Output Paths:
results_path: Directory for storing resultscheckpoints_path: Directory for model checkpointslogs_path: Directory for training logstensorboard_path: TensorBoard logging directorycsv_net_evolution_file: CSV file for network evolution tracking
- Data Paths:
dataset: Primary dataset pathtest_dataset: Test dataset pathvalidation_dataset: Validation dataset path
Reinforcement Learning Configuration (reinforcement_model.ini)
Reinforcement learning specific parameters:
- RL Algorithm Settings:
gamma: Discount factor (default: 0.99)entropy_beta: Entropy regularization coefficient (default: 0.01)learning_rate_rl: Learning rate for RL componentsreplay_buffer_size: Size of experience replay buffer
- Environment Settings:
action_space_size: Number of possible actionsstate_space_size: Dimensionality of state representationreward_threshold: Threshold for episode successmax_episode_length: Maximum steps per episode
Data Flow Configuration (flow.ini)
Data processing and flow management:
- Flow Types:
defaultFlow: Basic data flow configurationNetCatFlow: Network traffic data flowVMAFFlow: Video quality assessment flowMVNOFlow: Mobile network operator data flow
- Flow Parameters:
NetCat_columns: Column specification for NetCat dataNetCat_dataset: Dataset path for NetCat flowVMAF_columns: Column specification for VMAF dataVMAF_dataset: Dataset path for VMAF flowvmaf_threshold: Quality threshold for VMAF processingwindow: Window size for data processing
- Extended Flows:
MVNOFlow_inference: Inference-specific MVNO flowMVNOFlow_smartMemory: Memory-optimized MVNO flowMVNOFlow_extended: Extended MVNO flow with additional features
- Flow Control:
inference_dst_name: Destination name for inference resultsextra_dataset_base_name: Base name for additional datasetsuse_random_samples: Flag for random samplinggray_post_train_portion: Portion of data for post-traininggray_in_train_portion: Portion of data within training
Callbacks Configuration (callbacks.ini)
Training callbacks and monitoring:
- Logging Callbacks:
csvLogger: CSV logging for training metricstensorBoard: TensorBoard visualizationsaveEmbeddings: Save learned embeddingssaveObject: Save model objects
- Training Control:
earlyStopping: Early stopping configurationpatience: 20 epochsmin_delta: 0.001 minimum improvement
modelCheckpoint: Model checkpoint saving
- Testing and Validation:
testParam: Testing parameter callbacktestParamEpochThreshold: 10 epochstestParamEndTrainFlag: FalsetestParamDelta: 10.0
activate_metric: Metric activationset_metric_attr: Metric attribute setting
- Reinforcement Learning Callbacks:
reinforcement: Main RL callbackreinforceCBThresholdUnit: ‘ep’ (epochs)reinforceCBThreshold: 10reinforceCBInitialTrainingEpochs: 1
FastReplayMemGenerator: Fast replay memory generationFakeReinforceFixedAction: Fixed action RL testingfixedAction: 0
RL_manager: RL environment managerRL_initial_skip: 0
RL_partial_manager: Partial RL environment manager
- Accuracy Callbacks:
ott_accuracy: Over-the-top accuracy measurementottAcc_fxdM_flag: TrueottAcc_fxdM: 0.5
mno_accuracy: Mobile network operator accuracymnoAcc_fxdM_flag: TruemnoAcc_fxdM: 0.5
- Advanced Callbacks:
controlledMargin: Margin control callbackcontrolledCrossEntropy: Cross-entropy controlcategorical_threshold: 1categorical_value: -1.0categorical_triangular_flag: Truecategorical_dario_norm: False
ACCCE: Advanced Controlled Cross Entropy
Additional Configuration Files
The SNN2 framework includes additional configuration files for specific components:
actions.ini: Action space definitions for reinforcement learningoptimizers.ini: Optimizer configurations (Adam, SGD, RMSprop, etc.)losses.ini: Loss function definitionsmetrics.ini: Custom metrics and evaluation functionsdatasets.ini: Dataset loading and preprocessing configurationspreprocessors.ini: Data preprocessing pipeline configurationspostprocessors.ini: Post-processing and result formattingrewards.ini: Reward function definitions for RLcure_algorithm.ini: CURE clustering algorithm parametersmodels.ini: Additional model architecture definitions
Configuration Usage
To use these configurations in your experiments:
Default Values: All parameters have sensible defaults defined in the INI files
Override Values: You can override any parameter by specifying it in your experiment configuration
Parameter Interpolation: Use
{parameter_name}to reference other configuration valuesEnvironment Variables: Some parameters can be set via environment variables
Example configuration override:
[model]
epochs = 100
batch_size = 64
learning_rate = 0.001
[reinforcement_model]
gamma = 0.95
entropy_beta = 0.02
For more details on specific parameters and their effects, refer to the individual configuration files in the SNN2/default_ini/ directory.