Skip to content

Very low recall of training results 训练结果召回率很低 #21

@byhzg

Description

@byhzg

您好,我下载了您的程序以及在README和 #17 中提到的数据,但是训练后的Recall最高也不会高于1。程序的参数与README中的一致,请问是哪里有问题吗?

下面是我的目录结构:
./GSMN/
├── coco_dense.log
├── data.py
├── dependency_parser.py
├── evaluation.py
├── f30k_sparse.log
├── graph_model.py
├── layers.py
├── model.py
├── README.md
├── testall.py
├── test.py
├── test_stack.py
├── train.py
|── vocab.py
├── data
|   └── f30k_precomp
|   ├── dev_caps.json
│   ├── dev_caps.txt
│   ├── dev_ids.txt
│   ├── dev_ims_bbx.npy
│   ├── dev_ims.npy
│   ├── dev_ims_size.npy
│   ├── dev_precaps_stan.txt
│    ├── dev_tags.txt
│    ├── test_caps.json
│    ├── test_caps.txt
│   ├── test_ids.txt
│   ├── test_ims_bbx.npy
│    ├── test_ims.npy
│    ├── test_ims_size.npy
│    ├── test_precaps_stan.txt
│   ├── test_tags.txt
│   ├── train_caps.json
│   ├── train_caps.txt
│   ├── train_ids.txt
│   ├── train_ims_bbx.npy
│   ├── train_ims.npy
│   ├── train_ims_size.npy
│   ├── train_precaps_stan.txt
│   └── train_tags.txt
└── vocab
  └── f30k_precomp_vocab.json

下面是我训练f30k数据集sparse模型的参数:
python train.py --data_path ./data/ --data_name f30k_precomp --vocab_path ./vocab/ --logger_name ./runs/run_f30k_sparse/log --model_name ./runs/run_f30k_sparse/checkpoint --bi_gru --max_violation --lambda_softmax=20 --num_epochs=30 --lr_update=15 --learning_rate=.0002 --embed_size=1024 --batch_size=64 --is_sparse

下面是经过30个epoch训练之后的评估结果:
Image to text: 0.1, 0.2, 0.3, 2230.0, 2225.5
Text to image: 0.1, 0.5, 0.9, 500.0, 500.4

我使用提供的预训练模型进行评估的结果与论文中的结果相近,但是自己训练的模型结果很差。我一开始怀疑是数据的问题,所以我下载了SCAN中的两个文件data (wget https://iudata.blob.core.windows.net/scan/data.zip) 和 vocab (wget https://iudata.blob.core.windows.net/scan/vocab.zip) 并替换了您所提供的文件中的相同部分,但是结果没有变化。所以我也不知道哪里出了问题。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions