sgglab / README.md
wliafe's picture
Upload README.md with huggingface_hub
6cc5367 verified
|
Raw
History Blame Contribute Delete
4.12 kB
---
library_name: pytorch
tags:
- scene-graph-generation
- sgg
- remote-sensing
- pretrained-weights
---
# SGGLab 模型权重
本仓库用于集中存放 **SGGLab 的模型组件预训练权重****完成训练的模型权重**。仓库仅提供权重文件;模型结构、配置、数据预处理和推理代码由对应的 SGGLab 项目版本提供。
## 权重类型
- `pretrained/`:可被不同模型复用的组件预训练权重,例如 PPG 等辅助模块。
- `models/`:完成训练、可用于评估或继续训练的模型权重。
## 当前文件
| 文件 | 类型 | 边界框表示 | 说明 |
| --- | --- | --- | --- |
| `pretrained/PPG/PPG_HBB_model.pth` | PPG 组件权重 | HBB | 用于水平边界框任务 |
| `pretrained/PPG/PPG_OBB_model.pth` | PPG 组件权重 | OBB | 用于旋转边界框任务 |
其中:
- **HBB**:Horizontal Bounding Box,水平边界框。
- **OBB**:Oriented Bounding Box,旋转边界框。
- **PPG**:作为场景图生成流程中的预训练组件使用,不能脱离对应模型代码直接完成推理。
## 目录约定
```text
.
├── pretrained/
│ └── <component>/
│ └── <component>_<variant>_model.pth
└── models/
└── <model>/
└── <dataset>/
└── <box_type>/
└── <task>.pth
```
推荐使用以下取值:
- `<component>`:组件名称,例如 `PPG`
- `<model>`:模型或方法名称,例如 `RPCM`
- `<dataset>`:训练使用的数据集名称。
- `<box_type>``HBB``OBB`
- `<task>``PredCls``SGCls``SGDet`
新增权重时,请同时在“权重清单”中记录其训练配置、适用代码版本和评估结果,避免仅凭文件名判断兼容性。
## 下载
安装 Hugging Face Hub 客户端:
```bash
uv add huggingface-hub
```
下载单个文件:
```python
from huggingface_hub import hf_hub_download
checkpoint_path = hf_hub_download(
repo_id="<namespace>/<repository>",
filename="pretrained/PPG/PPG_HBB_model.pth",
)
```
下载整个仓库:
```python
from huggingface_hub import snapshot_download
repository_path = snapshot_download(repo_id="<namespace>/<repository>")
```
请将示例中的 `<namespace>/<repository>` 替换为本仓库在 Hugging Face Hub 上的实际 ID。
## 加载
权重必须由与其结构匹配的 PyTorch 模块加载:
```python
import torch
checkpoint = torch.load(
"pretrained/PPG/PPG_HBB_model.pth",
map_location="cpu",
weights_only=True,
)
model.load_state_dict(checkpoint)
```
不同权重可能保存为纯 `state_dict`,也可能包含 `state_dict`、优化器状态和训练轮次等字段。加载前应先确认对应训练代码的保存格式。不要将 HBB 与 OBB 权重混用,也不要假设不同提交或不同配置生成的同名模块必然兼容。
## 权重清单
发布完整模型时,建议按下表补充信息:
| 模型 | 数据集 | 任务 | 边界框 | 文件 | 代码版本 | 指标 |
| --- | --- | --- | --- | --- | --- | --- |
| 待发布 | — | — | — | — | — | — |
每个权重至少应记录:
1. 模型与配置名称;
2. 数据集及其版本或划分;
3. `PredCls``SGCls``SGDet` 任务;
4. HBB 或 OBB 边界框表示;
5. 对应代码仓库与提交版本;
6. 主要评估指标;
7. 权重来源、许可证及使用限制。
## 兼容性与安全
- `.pth` 文件与模型定义和代码版本强相关,请优先使用权重条目中标注的版本。
- PyTorch 权重可能包含可执行的序列化对象。只加载可信来源的文件,并在格式允许时使用 `weights_only=True`
- 本仓库中的权重不自动继承训练代码或数据集的许可证。使用前请分别确认代码、数据集和权重的授权条件。
- 若权重由第三方项目转换或派生,请在对应条目中保留原始来源和许可证说明。
## 引用
如在研究中使用本仓库中的权重,请同时引用对应模型、数据集和原始论文。具体引用信息应随每个模型权重条目一并提供。