PSLQA icon indicating copy to clipboard operation
PSLQA copied to clipboard

example usage

Open Liu0329 opened this issue 6 years ago • 5 comments
trafficstars

Hi Aditya, Thanks for the great work ! Could you provide an example usage for VQA ? python main.py vqa -pslcode <rules-file> -datadir <psl_test_data_dir> -parentDir <pslDataRootDir> -qaData <qaData> -option infer What are the datas in psl_test_data_dir, pslDataRootDir, qaData ?

Liu0329 avatar Jan 23 '19 03:01 Liu0329

There are some gaps in the README with the current code. I will attempt to update the README when I find time. But overall pslDataRootDir and psl_test_data_dir should be structured the same as "expt2_aaai18" directory. And qaData should point to a json file structured similar to https://github.com/adityaSomak/PSLQA/blob/master/pslplus/data/vqa_demo/expt2_aaai18/OpenEnded_mscoco_val2014_questions.json.

adityaSomak avatar Jan 23 '19 03:01 adityaSomak

In the directory of pslplus, I run python2 main.py vqa -pslcode data/vqa_demo/vqa_rules.txt -datadir data -parentDir data/vqa_demo/expt2_aaai18 -qadata data/vqa_demo/expt2_aaai18/OpenEnded_mscoco_val2014_questions.json -option infer Then I got

Traceback (most recent call last):
  File "main.py", line 6, in <module>
    if sys.argv[1] == "vqa":
  File "/PATH/code/PSLQA/pslplus/models/vqamodel.py", line 228, in run
    pslCodeFile = argsdict['pslcode']  # "vqa_psl.txt"
TypeError: list indices must be integers, not str

The argsdict turns out to be a list but not a dict.

UPDATE I see, something is missing in function 'run' in vqamodel.py. I uncomment the lines, but still 'startFrom', etc are missing.

Liu0329 avatar Jan 24 '19 02:01 Liu0329

Hi Liu, actually for the VQA demo, you need to run test_pslqa.py which is already in the vqa_demo folder. The command was provided in REAME.md. But I missed backticks, so the command was not displaying properly: python2.7 test_pslqa <qatestdir> <pslDataRootDir> <answerFile> -stage 2/3 -split test/dev <startFrom>

Directory Structure: qatestdir: Expects generated Json files from DenseCaptioning software for each image under the subdirectory densecap/ pslDataRootDir: Stage 1 output will be stored here. Stage 2 output will be stored under psl subdirectory. answerFile: List of possible answers - one in each line. COMPOUND_NOUN_VOCAB_DIR: Expects the file stats_conceptNet_vocab/allEnglishPhrasesin_cn5.5.txt in it. These are the compound nouns from ConceptNet5.5 SIZE_COLOR_DICT_DIR: Expects the file allSizeAdjectives.txt, for all size adjectives and adverbs.

adityaSomak avatar Jan 24 '19 03:01 adityaSomak

Sorry, still confusing. For the demo, can you just give an exact example command to run ? That would make everything clear.

Liu0329 avatar Jan 24 '19 06:01 Liu0329

I have already updated the README with an example. python2.7 test_pslqa vqa_demo/expt2_aaai18/densecap vqa_demo/expt2_aaai18/ <answerFile> -stage 3 -split dev 0

  • Here for answerFile you need to download and parse the answers from VQA-training json file, write the top 1000 most-frequent answers (and its prior confidence score such as normalized frequency) in the following format word1\tConfidence1\n word2\tConfidence2\n ...

adityaSomak avatar Jan 24 '19 07:01 adityaSomak