jiasenlu / NeuralBabyTalk

Pytorch code of for our CVPR 2018 paper "Neural Baby Talk"
https://arxiv.org/abs/1803.09845
MIT License
523 stars 123 forks source link

Error when training with Novel object captioning #39

Closed giangnguyen2412 closed 5 years ago

giangnguyen2412 commented 5 years ago

After preparing data for NOC training, i run python main.py --path_opt cfgs/noc_coco_res101.yml --batch_size 20 --cuda True --num_workers 20 --max_epoch 30

Also, I modify the config file. After an epoch, now the code evaluates:

image 579664: a bunch of banana sitting on top of a wooden table image 550529: a motorcycle parked on a wooden floor next to a building image 348881: a large jet is parked on the runway image 560623: a large jet sitting on the side of a building 0 100 200 Total image to be evaluated 5000 Traceback (most recent call last): File "main.py", line 355, in lang_stats = eval(opt) File "main.py", line 168, in eval lang_stats = utils.noc_eval(predictions, str(1), opt.val_split, opt) File "/home/resl/NeuralBabyTalk/NeuralBabyTalk/misc/utils.py", line 316, in noc_eval out = score_dcc(gt_template_novel, gt_template_train, pred, noc_object, split, cache_path) File "tools/sentence_gen_tools/coco_eval.py", line 109, in score_dcc gt_json_novel = read_json(gt_template_novel % (word, dset)) File "tools/sentence_gen_tools/coco_eval.py", line 29, in read_json j_file = open(t_file).read() FileNotFoundError: [Errno 2] No such file or directory: 'data/coco_noc/annotations/captions_split_set_bus_val_test_novel2014.json'

Does someone know how to fix? Thanks

giangnguyen2412 commented 5 years ago

Get the file by doing this: wget https://people.eecs.berkeley.edu/~lisa_anne/rele│ ase_DCC/annotations_DCC/captions_split_set_bus_val_test_novel2014.json

giangnguyen2412 commented 5 years ago

It is just a work-around solution, copy below line to a file named setup.sh and run bash setup.shto get all the annotations when you want to train or eval novel captioning. Remember to copy all the files to coco_noc/annotations/

`

!/bin/bash

POSIX

This was tested on a Linux system. You may run into issues if you try to do this on another system (e.g, MAC OS does not have "wget")

TODO: Download imagenet images

declare -a dcc_data=("captions_no_caption_rm_eightCluster_train2014.json" "captions_split_set_bottle_val_test_novel2014.json" "captions_split_set_bottle_val_test_train2014.json" "captions_split_set_bottle_val_val_novel2014.json" "captions_split_set_bottle_val_val_train2014.json" "captions_split_set_bus_val_test_novel2014.json" "captions_split_set_bus_val_test_train2014.json" "captions_split_set_bus_val_val_novel2014.json" "captions_split_set_bus_val_val_train2014.json" "captions_split_set_couch_val_test_novel2014.json" "captions_split_set_couch_val_test_train2014.json" "captions_split_set_couch_val_val_novel2014.json" "captions_split_set_couch_val_val_train2014.json" "captions_split_set_microwave_val_test_novel2014.json" "captions_split_set_microwave_val_test_train2014.json" "captions_split_set_microwave_val_val_novel2014.json" "captions_split_set_microwave_val_val_train2014.json" "captions_split_set_pizza_val_test_novel2014.json" "captions_split_set_pizza_val_test_train2014.json" "captions_split_set_pizza_val_val_novel2014.json" "captions_split_set_pizza_val_val_train2014.json" "captions_split_set_racket_val_test_novel2014.json" "captions_split_set_racket_val_test_train2014.json" "captions_split_set_racket_val_val_novel2014.json" "captions_split_set_racket_val_val_train2014.json" "captions_split_set_suitcase_val_test_novel2014.json" "captions_split_set_suitcase_val_test_train2014.json" "captions_split_set_suitcase_val_val_novel2014.json" "captions_split_set_suitcase_val_val_train2014.json" "captions_split_set_zebra_val_test_novel2014.json" "captions_split_set_zebra_val_test_train2014.json" "captions_split_set_zebra_val_val_novel2014.json" "captions_split_set_zebra_val_val_train2014.json" "captions_val_test2014.json" "captions_val_val2014.json")

for i in "${dcc_data[@]}" do echo "Downloading: " $i wget https://people.eecs.berkeley.edu/~lisa_anne/release_DCC/annotations_DCC/$i done `

atg93 commented 4 years ago

Hi, the website brings 'Resource not found' error. Is there other way to download captions_split_set_bus_val_test_novel2014.json ?

townim-faisal commented 4 years ago

@luulinh90s can you tell me how do you prepared data for NOC training? Speciallly, how do you get the coco_noc_detection.h5 file? I do not found this file in the providing link.

YuanEZhou commented 3 years ago

Hi @giangnguyen2412 , the website brings 'Resource not found' error. Is there other way to download captions_split_set_bus_val_test_novel2014.json ?

giangnguyen2412 commented 3 years ago

I haven't checked this thread for a while so I may not be sure. You can check out my fork and see if it can help?