HybridDepth 使用指南
1. 项目目录结构及介绍
HybridDepth 项目目录结构如下:
HybridDepth/
├── assets/ # 存储资源文件
├── checkpoints/ # 存储预训练模型权重文件
├── configs/ # 配置文件目录
├── dataloader/ # 数据加载模块
├── model/ # 模型定义模块
├── notebooks/ # Jupyter 笔记本文件
├── results/ # 存储实验结果
├── scripts/ # 脚本文件目录
├── server/ # 服务器相关代码
├── utils/ # 工具模块
├── .gitignore # Git 忽略文件
├── LICENSE # 开源协议文件
├── README.md # 项目说明文件
├── cli_run.py # 命令行运行脚本
├── environment.yml # Conda 环境配置文件
├── hubconf.py # TorchHub 配置文件
├── loss.py # 损失函数定义文件
- assets/: 存储项目所需的资源文件。
- checkpoints/: 存储训练好的模型权重文件。
- configs/: 存储项目配置文件,用于定义数据集路径、模型设置等。
- dataloader/: 数据加载模块,用于处理输入数据。
- model/: 模型定义模块,包含HybridDepth模型的实现代码。
- notebooks/: Jupyter 笔记本文件,用于实验和数据分析。
- results/: 存储实验结果,如深度图等。
- scripts/: 脚本文件目录,包含训练、测试等脚本。
- server/: 服务器相关代码。
- utils/: 工具模块,包含项目所需的各种工具函数。
- .gitignore: Git 忽略文件,指定不需要提交到版本库的文件和目录。
- LICENSE: 开源协议文件,本项目采用GPL-3.0协议。
- README.md: 项目说明文件,介绍项目的基本信息和使用方法。
- cli_run.py: 命令行运行脚本,用于运行项目的主要功能。
- environment.yml: Conda 环境配置文件,用于创建项目运行所需的Python环境。
- hubconf.py: TorchHub 配置文件,用于定义如何在TorchHub上加载预训练模型。
- loss.py: 损失函数定义文件,定义项目所需的损失函数。
2. 项目的启动文件介绍
项目的启动文件是 cli_run.py
,它是一个命令行运行脚本,用于运行项目的主要功能。以下是该文件的主要功能:
- 训练模型:通过指定
train
参数来启动模型训练过程。 - 测试模型:通过指定
test
参数来测试模型性能。 - 模型推理:通过指定
infer
参数来进行模型推理。
使用示例:
# 训练模型
python cli_run.py train --config configs/config_file_name.yaml
# 测试模型
python cli_run.py test --config configs/config_file_name.yaml
# 模型推理
python cli_run.py infer --config configs/config_file_name.yaml
3. 项目的配置文件介绍
项目的配置文件位于 configs/
目录下,用于定义项目运行所需的参数,如数据集路径、模型设置等。配置文件采用YAML格式。
以下是一个配置文件的示例:
model:
invert_depth: True
learning_rate: 3e-4
weight_decay: 0.001
data:
class_path: dataloader.dataset.NYUDataModule
init_args:
nyuv2_data_root: "path/to/NYUv2"
img_size: [480, 640]
remove_white_border: True
num_workers: 0
use_labels: True
batch_size: 24
ckpt_path: null
在这个配置文件中:
- model: 定义模型参数,如是否反转深度值、学习率、权重衰减等。
- data: 定义数据集参数,如数据集路径、图像大小、是否去除白边、工作线程数、是否使用标签等。
- batch_size: 定义训练时的批量大小。
- ckpt_path: 定义模型权重的保存路径,如果是训练则通常设置为
null
。