## Environment Setup

It is recommended to use Conda to create and manage the project environment. Please use the provided environment.yml file to install the required dependencies:

```bash
conda env create -f environment.yml
conda activate your_env_name # Replace your_env_name with the name of the environment you created
```

## Project Structure

Key directories and files in the project include:

-   `configs/`: Contains project configurations, such as sensor mappings and activity labels.
-   `Dataset/`: May contain raw or processed datasets.
-   `model_outputs/`:  Model's result outputs, viewable with TensorBoard, and records checkpoints.
-   `cache/`: Contains cached processed data to speed up data preprocessing for multiple trials.
-   `src/`: Main directory for the project's source code.
    -   `data/`: Main directory for the project's source code.
    -   `models/`: Implementations of various deep learning models.
    -   `runs/`: Contains different run configurations and scripts.
        -   `hyperparameter_search/`: Code related to hyperparameter optimization.
        -   `ssl/`: Code related to Self-Supervised Learning (SSL) pre-training.
    -   `utils/`: Various helper functions and tools (e.g., logging, path tools, configuration loading).
    -   Main script files, such as `pretrain.py` (pre-training), `fine_tune.py`  (fine-tuning), `cls_without_pretrain.py` (classification without pre-training).

## Data Preparation

Please download all datasets and place them in the Dataset/ directory. Download directly from the original dataset websites and unzip them.