Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

Structured Captioner (PyTorch, 单机单卡)

本项目用于你的课程“自主创意环节”实践:从零训练图像描述模型,并加入结构化中间表示(Noun List)来增强可解释性。

你将完成什么

  1. 基线模型:图像 -> caption
  2. 创新模型:图像 -> noun list -> caption
  3. 对比实验:BLEU + 名词覆盖率 + 定性样例

项目目录

project/
  configs/
    train_flickr8k.yaml
  tools/
    prepare_flickr8k.py
  src/
    data/
      vocab.py
      flickr8k_dataset.py
    models/
      structured_captioner.py
    utils/
      seed.py
      metrics.py
      checkpoint.py
  train.py
  evaluate.py
  infer.py
  requirements.txt
  docs/experiment_report_template.md

环境安装

pip install -r requirements.txt

推荐执行顺序(你自己动手)

Step 1: 准备数据

python tools/prepare_flickr8k.py ^
  --data_root ./data/flickr8k ^
  --captions_file ./data/flickr8k/captions.txt ^
  --split_dir ./data/flickr8k/splits ^
  --output_dir ./data/processed

Step 2: 训练基线/结构化模型

python train.py --config configs/train_flickr8k.yaml

Step 3: 评估

python evaluate.py --config configs/train_flickr8k.yaml --ckpt outputs/best.pt

Step 4: 单图推理

python infer.py --config configs/train_flickr8k.yaml --ckpt outputs/best.pt --image path/to/demo.jpg

批注:你要重点练的能力

  • 数据处理:caption 清洗、词表构建、名词提取逻辑。
  • 训练循环:loss 计算、梯度更新、日志记录。
  • 实验设计:基线 vs 结构化模型的公平对比。
  • 错误分析:为什么某些样例生成失败,怎么定位问题。

批注:先别急着追高分

  • 第一目标是“全流程跑通”。
  • 第二目标是“能解释每个模块在做什么”。
  • 第三目标才是“指标优化”。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages