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 folder - ``main_folder``: Main working directory - ``uxtime_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 weights - ``checkpoint_file``: Path for saving model checkpoints - ``model``: Model architecture specification - ``loss``: Loss function configuration - ``metrics``: List of metrics to track during training - ``optimizer``: Optimizer settings **Training Parameters:** - ``epochs``: Number of training epochs - ``batch_size``: Training batch size - ``learning_rate``: Learning rate for optimization - ``validation_split``: Fraction of data for validation Input/Output Configuration (io.ini) ----------------------------------- Paths and file management settings: **Output Paths:** - ``results_path``: Directory for storing results - ``checkpoints_path``: Directory for model checkpoints - ``logs_path``: Directory for training logs - ``tensorboard_path``: TensorBoard logging directory - ``csv_net_evolution_file``: CSV file for network evolution tracking **Data Paths:** - ``dataset``: Primary dataset path - ``test_dataset``: Test dataset path - ``validation_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 components - ``replay_buffer_size``: Size of experience replay buffer **Environment Settings:** - ``action_space_size``: Number of possible actions - ``state_space_size``: Dimensionality of state representation - ``reward_threshold``: Threshold for episode success - ``max_episode_length``: Maximum steps per episode Data Flow Configuration (flow.ini) ---------------------------------- Data processing and flow management: **Flow Types:** - ``defaultFlow``: Basic data flow configuration - ``NetCatFlow``: Network traffic data flow - ``VMAFFlow``: Video quality assessment flow - ``MVNOFlow``: Mobile network operator data flow **Flow Parameters:** - ``NetCat_columns``: Column specification for NetCat data - ``NetCat_dataset``: Dataset path for NetCat flow - ``VMAF_columns``: Column specification for VMAF data - ``VMAF_dataset``: Dataset path for VMAF flow - ``vmaf_threshold``: Quality threshold for VMAF processing - ``window``: Window size for data processing **Extended Flows:** - ``MVNOFlow_inference``: Inference-specific MVNO flow - ``MVNOFlow_smartMemory``: Memory-optimized MVNO flow - ``MVNOFlow_extended``: Extended MVNO flow with additional features **Flow Control:** - ``inference_dst_name``: Destination name for inference results - ``extra_dataset_base_name``: Base name for additional datasets - ``use_random_samples``: Flag for random sampling - ``gray_post_train_portion``: Portion of data for post-training - ``gray_in_train_portion``: Portion of data within training Callbacks Configuration (callbacks.ini) --------------------------------------- Training callbacks and monitoring: **Logging Callbacks:** - ``csvLogger``: CSV logging for training metrics - ``tensorBoard``: TensorBoard visualization - ``saveEmbeddings``: Save learned embeddings - ``saveObject``: Save model objects **Training Control:** - ``earlyStopping``: Early stopping configuration - ``patience``: 20 epochs - ``min_delta``: 0.001 minimum improvement - ``modelCheckpoint``: Model checkpoint saving **Testing and Validation:** - ``testParam``: Testing parameter callback - ``testParamEpochThreshold``: 10 epochs - ``testParamEndTrainFlag``: False - ``testParamDelta``: 10.0 - ``activate_metric``: Metric activation - ``set_metric_attr``: Metric attribute setting **Reinforcement Learning Callbacks:** - ``reinforcement``: Main RL callback - ``reinforceCBThresholdUnit``: 'ep' (epochs) - ``reinforceCBThreshold``: 10 - ``reinforceCBInitialTrainingEpochs``: 1 - ``FastReplayMemGenerator``: Fast replay memory generation - ``FakeReinforceFixedAction``: Fixed action RL testing - ``fixedAction``: 0 - ``RL_manager``: RL environment manager - ``RL_initial_skip``: 0 - ``RL_partial_manager``: Partial RL environment manager **Accuracy Callbacks:** - ``ott_accuracy``: Over-the-top accuracy measurement - ``ottAcc_fxdM_flag``: True - ``ottAcc_fxdM``: 0.5 - ``mno_accuracy``: Mobile network operator accuracy - ``mnoAcc_fxdM_flag``: True - ``mnoAcc_fxdM``: 0.5 **Advanced Callbacks:** - ``controlledMargin``: Margin control callback - ``controlledCrossEntropy``: Cross-entropy control - ``categorical_threshold``: 1 - ``categorical_value``: -1.0 - ``categorical_triangular_flag``: True - ``categorical_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 learning - ``optimizers.ini``: Optimizer configurations (Adam, SGD, RMSprop, etc.) - ``losses.ini``: Loss function definitions - ``metrics.ini``: Custom metrics and evaluation functions - ``datasets.ini``: Dataset loading and preprocessing configurations - ``preprocessors.ini``: Data preprocessing pipeline configurations - ``postprocessors.ini``: Post-processing and result formatting - ``rewards.ini``: Reward function definitions for RL - ``cure_algorithm.ini``: CURE clustering algorithm parameters - ``models.ini``: Additional model architecture definitions Configuration Usage ------------------- To use these configurations in your experiments: 1. **Default Values**: All parameters have sensible defaults defined in the INI files 2. **Override Values**: You can override any parameter by specifying it in your experiment configuration 3. **Parameter Interpolation**: Use ``{parameter_name}`` to reference other configuration values 4. **Environment 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.