-
Notifications
You must be signed in to change notification settings - Fork 30
Description
您好,我下载了您的程序以及在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) 并替换了您所提供的文件中的相同部分,但是结果没有变化。所以我也不知道哪里出了问题。