Как изменить образец изображения в демоверсии MS-COCO (подписи к изображениям)
Я работаю над субтитрами к изображениям, и я нашел этот замечательный учебник по MS-COCO. MS_COCO Демонстрация подписи к изображению
Во всяком случае, я запустил демо, и все прошло хорошо. За исключением случаев, когда я пытаюсь изменить образец изображения (я хочу запустить другие изображения), я получаю эту ошибку:
KeyError Traceback (most recent call last)
<ipython-input-126-68bce2986aae> in <module>()
1 # load and display image
----> 2 I = io.imread('%s/images/%s/%s'%(dataDir,dataType,img['000000014226.jpg']))
3
4 plt.axis('off')
5 plt.imshow(I)
KeyError: '000000014226.jpg'
Я знаю, что код, ответственный за эту ошибку:
# load and display image
I = io.imread('%s/images/%s/%s'%(dataDir,dataType,img['000000014226.jpg']))
# use url to load image
# I = io.imread(img['coco_url']) # originally they used to run this
plt.axis('off')
plt.imshow(I)
plt.show()
Я убедился, что я в каталоге val2017. Так в чем здесь проблема? Есть идеи. Большое спасибо!
1 ответ
Из демо-кода код для получения случайного изображения от "person", "dog" или "skateboard":
catIds = coco.getCatIds(catNms=['person','dog','skateboard']);
imgIds = coco.getImgIds(catIds=catIds );
imgIds = coco.getImgIds(imgIds = [324158])
img = coco.loadImgs(imgIds[np.random.randint(0,len(imgIds))])[0]
Я не совсем уверен, как вы отредактировали приведенный выше код и получили 14226.jpg, но, возможно, вы не изменили эту конкретную часть кода выше? Может быть, это привело к тому, что они не смогли найти изображение?
Кроме того, я не уверен, работает ли вложение скрипта в каталог val2017, потому что я думаю, что инструкции должны поместить изображения (val2017) в папку с именем "images", а аннотации - в папку "annotations". Я поместил свои собственные скрипты (используя локальный текстовый редактор, лично не использующий ipython) в каталог PythonAPI.