project_name/
│
├── data/
│ ├── raw/ # 存放原始数据
│ ├── processed/ # 存放预处理后的数据
│ └── splits/ # 存放数据集划分(训练集、验证集、测试集等)
│
├── notebooks/ # 存放Jupyter笔记本或其他交互式笔记本
│
├── src/
│ ├── data_preprocessing/ # 数据预处理模块
│ │ ├── data_loader.py # 数据加载器
│ │ └── preprocessing.py # 数据预处理函数
│ │
│ ├── models/ # 存放模型定义和相关代码
│ │ ├── model.py # 模型结构定义
│ │ ├── layers.py # 自定义层(可选)
│ │ └── utils.py # 模型相关的辅助函数
│ │
│ ├── train/ # 训练相关代码
│ │ ├── train.py # 训练循环和逻辑
│ │ └── evaluation.py # 模型评估函数
│ │
│ └── utils/ # 其他实用工具函数
│ └── visualization.py # 可视化工具函数
│
├── config/ # 配置文件目录
│ ├── config.yaml # YAML 格式的配置文件,包含模型参数、路径等
│ └── logging.yaml # 日志配置文件
│
├── experiments/ # 存放实验结果和日志
│
├── requirements.txt # 项目依赖的Python包列表
├── README.md # 项目说明文档
└── main.py # 项目的主程序入口
data/: 存放数据的目录,包括原始数据、预处理后的数据以及数据集划分等。
notebooks/: 存放Jupyter笔记本文件,用于探索性数据分析和快速原型开发。
src/: 存放源代码的目录,按照功能划分为不同的子模块,如数据预处理、模型定义、训练等。
config/: 存放项目的配置文件,包括模型参数、路径和日志配置等。
experiments/: 存放训练实验的结果和日志,用于记录不同配置下的实验结果。
requirements.txt: 项目依赖的Python包列表,方便其他人复现环境。
README.md: 项目的说明文档,介绍项目的背景、结构、使用方法等。
main.py: 项目的主程序入口,可以包含整个项目的流程控制和调用。