image_reader = Image_reader(mean=mean_image)

#Instantiate caption generator
caption_model_place = '../models/caption_model.chainer'
cnn_model_place = '../data/bvlc_googlenet_caffe_chainer.pkl'
index2word_place = '../work/index2token.pkl'
caption_generator = Caption_generator(caption_model_place=caption_model_place,
                                      cnn_model_place=cnn_model_place,
                                      index2word_place=index2word_place)

#The preparation is done
#Let's ganarate caption for a image

#First, read an image as numpy array
image_file_path = '../images/test_image.jpg'
image = image_reader.read(image_file_path)

#Next, put the image into caption generator
#The output structure is
#	[caption,caption,caption,...]
#	caption = {"sentence":This is a generated sentence, "probability": The probability of the generated sentence}
captions = caption_generator.generate(image)

#For example, if you want to print all captions
for caption in captions:
    sentence = caption['sentence']
    probability = caption['probability']
    print " ".join(sentence), probability

#Let's do for another image
image_file_path = '../images/COCO_val2014_000000241747.jpg'
parser.add_argument("-b", "--beam",default=beamsize, type=int, help=u"a image that you want to generate capiton ")

args = parser.parse_args()
gpu_id=args.gpu
model_place= args.model
index2word_file = args.vocab
image_file_name = args.image
caffe_model_place = args.caffe
beamsize = args.beam


#Instantiate image_reader with GoogleNet mean image
mean_image = np.array([104, 117, 123]).reshape((3,1,1))#GoogleNet Mean
image_reader=Image_reader(mean=mean_image)

#Instantiate caption generator
caption_generator=Caption_generator(caption_model_place=model_place,cnn_model_place=caffe_model_place,index2word_place=index2word_file,beamsize=beamsize,gpu_id=gpu_id)

#Read Image
image=image_reader.read(image_file_name)

#Generate Catpion
captions=caption_generator.generate(image)

#print it
for caption in captions:
    sentence=caption['sentence']
    probability=caption['probability']
    print " ".join(sentence),probability

mean_image = np.array([104, 117, 123]).reshape((3,1,1))
image_reader=Image_reader(mean=mean_image)

#Instantiate caption generator
caption_model_place='../models/caption_model.chainer'
cnn_model_place='../data/bvlc_googlenet_caffe_chainer.pkl'
index2word_place='../work/index2token.pkl'
caption_generator=Caption_generator(caption_model_place=caption_model_place,cnn_model_place=cnn_model_place,index2word_place=index2word_place)


#The preparation is done
#Let's ganarate caption for a image

#First, read an image as numpy array
image_file_path='../images/test_image.jpg'
image=image_reader.read(image_file_path)


#Next, put the image into caption generator
#The output structure is 
#	[caption,caption,caption,...]
#	caption = {"sentence":This is a generated sentence, "probability": The probability of the generated sentence} 
captions=caption_generator.generate(image)

#For example, if you want to print all captions
for caption in captions:
    sentence=caption['sentence']
    probability=caption['probability']
    print " ".join(sentence),probability

#Let's do for another image
args = parser.parse_args()
gpu_id = args.gpu
model_place = args.model
index2word_file = args.vocab
image_file_name = args.image
caffe_model_place = args.caffe
beamsize = args.beam

#Instantiate image_reader with GoogleNet mean image
mean_image = np.array([104, 117, 123]).reshape((3, 1, 1))  #GoogleNet Mean
image_reader = Image_reader(mean=mean_image)

#Instantiate caption generator
caption_generator = Caption_generator(caption_model_place=model_place,
                                      cnn_model_place=caffe_model_place,
                                      index2word_place=index2word_file,
                                      beamsize=beamsize,
                                      gpu_id=gpu_id)

#Read Image
image = image_reader.read(image_file_name)

#Generate Catpion
captions = caption_generator.generate(image)

#print it
for caption in captions:
    sentence = caption['sentence']
    probability = caption['probability']
    print " ".join(sentence), probability