After I decide to use python2 to run, I use pycharm to create a new python2 virtual environment and run:
git clone https://github.com/tohinz/multiple-objects-gan
cd multiple-objects-gan
vim requirements.txt to del pkg-resources==0.0.0 to prevent errors.
pip install -r requirements.txt
cd models/
wget -c https://www2.informatik.uni-hamburg.de/wtm/software/multiple-objects-gan/model-ms-coco-attngan.zip
unzip model-ms-coco-attngan.zip
cd ../code/coco/attngan/
edit coco_eval.yml change to
DATA_DIR: '/home/sam/code/python/pytorch/image_caption/dataset/coco2014'
IMG_DIR: "/home/sam/code/python/pytorch/image_caption/dataset/coco2014/val2014"
mkdir -p DAMSMencoders/coco/
wget -c https://www.dropbox.com/s/zj3z0lvkfd8vaga/image_encoder100.pth?dl=0 -O DAMSMencoders/coco/image_encoder100.pth
wget -c https://www.dropbox.com/s/jo325z064a7x07k/text_encoder100.pth?dl=0 -O DAMSMencoders/coco/text_encoder100.pth
python2 main.py --cfg cfg/coco_eval.yml
After I run above instructions I got errors:
(py2_t1) sam@sam-ub1804:~/PycharmProjects/py2_t1/multiple-objects-gan/code/coco/attngan$ python2 main.py --cfg cfg/coco_eval.yml
Using config:
{'B_VALIDATION': True,
'CONFIG_NAME': 'attn2',
'CUDA': True,
'DATASET_NAME': 'coco',
'DATA_DIR': '/home/sam/code/python/pytorch/image_caption/dataset/coco2014',
'GAN': {'B_ATTENTION': True,
'B_DCGAN': False,
'CONDITION_DIM': 100,
'DF_DIM': 96,
'GF_DIM': 48,
'R_NUM': 3,
'Z_DIM': 100},
'GPU_ID': '0',
'IMG_DIR': '/home/sam/code/python/pytorch/image_caption/dataset/coco2014/val2014',
'RNN_TYPE': 'LSTM',
'TEXT': {'CAPTIONS_PER_IMAGE': 5, 'EMBEDDING_DIM': 256, 'WORDS_NUM': 20},
'TRAIN': {'BATCH_SIZE': 50,
'B_NET_D': False,
'DISCRIMINATOR_LR': 0.0002,
'ENCODER_LR': 0.0002,
'FLAG': False,
'GENERATOR_LR': 0.0002,
'MAX_EPOCH': 600,
'NET_E': 'DAMSMencoders/coco/text_encoder100.pth',
'NET_G': '../../../models/model-ms-coco-attngan-0100.pth',
'RNN_GRAD_CLIP': 0.25,
'SMOOTH': {'GAMMA1': 5.0,
'GAMMA2': 5.0,
'GAMMA3': 10.0,
'LAMBDA': 1.0},
'SNAPSHOT_INTERVAL': 2000},
'TREE': {'BASE_SIZE': 64, 'BRANCH_NUM': 3},
'WORKERS': 1}
bboxes: (40470, 3, 4)
labels: (40470, 3, 1)
Save to: /home/sam/code/python/pytorch/image_caption/dataset/coco2014/captions.pickle
Traceback (most recent call last):
File "main.py", line 134, in <module>
assert dataset
AssertionError
(py2_t1) sam@sam-ub1804:~/PycharmProjects/py2_t1/multiple-objects-gan/code/coco/attngan$
If I comment line 134 of main.py in code/coco/attngan directory and run the same instruction again, it shows:
(py2_t1) sam@sam-ub1804:~/PycharmProjects/py2_t1/multiple-objects-gan/code/coco/attngan$ python2 main.py --cfg cfg/coco_eval.yml
Using config:
{'B_VALIDATION': True,
'CONFIG_NAME': 'attn2',
'CUDA': True,
'DATASET_NAME': 'coco',
'DATA_DIR': '/home/sam/code/python/pytorch/image_caption/dataset/coco2014',
'GAN': {'B_ATTENTION': True,
'B_DCGAN': False,
'CONDITION_DIM': 100,
'DF_DIM': 96,
'GF_DIM': 48,
'R_NUM': 3,
'Z_DIM': 100},
'GPU_ID': '0',
'IMG_DIR': '/home/sam/code/python/pytorch/image_caption/dataset/coco2014/val2014',
'RNN_TYPE': 'LSTM',
'TEXT': {'CAPTIONS_PER_IMAGE': 5, 'EMBEDDING_DIM': 256, 'WORDS_NUM': 20},
'TRAIN': {'BATCH_SIZE': 50,
'B_NET_D': False,
'DISCRIMINATOR_LR': 0.0002,
'ENCODER_LR': 0.0002,
'FLAG': False,
'GENERATOR_LR': 0.0002,
'MAX_EPOCH': 600,
'NET_E': 'DAMSMencoders/coco/text_encoder100.pth',
'NET_G': '../../../models/model-ms-coco-attngan-0100.pth',
'RNN_GRAD_CLIP': 0.25,
'SMOOTH': {'GAMMA1': 5.0,
'GAMMA2': 5.0,
'GAMMA3': 10.0,
'LAMBDA': 1.0},
'SNAPSHOT_INTERVAL': 2000},
'TREE': {'BASE_SIZE': 64, 'BRANCH_NUM': 3},
'WORKERS': 1}
bboxes: (40470, 3, 4)
labels: (40470, 3, 1)
Load from: /home/sam/code/python/pytorch/image_caption/dataset/coco2014/captions.pickle
/home/sam/anaconda3/envs/py2_t1/lib/python2.7/site-packages/torch/nn/modules/rnn.py:38: UserWarning: dropout option adds dropout after all but last recurrent layer, so non-zero dropout expects num_layers greater than 1, but got dropout=0.5 and num_layers=1
"num_layers={}".format(dropout, num_layers))
Traceback (most recent call last):
File "main.py", line 158, in <module>
algo.sample(split_dir, num_samples=25, draw_bbox=True)
File "/home/sam/PycharmProjects/py2_t1/multiple-objects-gan/code/coco/attngan/trainer.py", line 489, in sample
text_encoder.load_state_dict(state_dict)
File "/home/sam/anaconda3/envs/py2_t1/lib/python2.7/site-packages/torch/nn/modules/module.py", line 719, in load_state_dict
self.__class__.__name__, "\n\t".join(error_msgs)))
RuntimeError: Error(s) in loading state_dict for RNN_ENCODER:
size mismatch for encoder.weight: copying a param of torch.Size([1, 300]) from checkpoint, where the shape is torch.Size([27297, 300]) in current model.
(py2_t1) sam@sam-ub1804:~/PycharmProjects/py2_t1/multiple-objects-gan/code/coco/attngan$
How could I solve these problems?
Thank you~
After I decide to use python2 to run, I use pycharm to create a new python2 virtual environment and run:
After I run above instructions I got errors:
If I comment line 134 of main.py in code/coco/attngan directory and run the same instruction again, it shows:
How could I solve these problems?
Thank you~