图像预处理中的索引问题

2024-04-20 11:37:00 发布

您现在位置:Python中文网/ 问答频道 /正文

在我的数据中,代码已经分隔了文件名(string和number/cat.1500)。因此,在给出图片编号后,代码将自动区分狗或猫

我有1500张猫的图片,范围从(猫1到猫12294)

img_id = 3000
cat_generator = train_datagen.flow(train_imgs[img_id:img_id+1], train_labels[img_id:img_id+1],
                               batch_size=1)
cat = [next(cat_generator) for i in range(0,5)]
fig, ax = plt.subplots(1,5, figsize=(16, 6)
print('Labels:', [item[1][0] for item in cat])
l = [ax[i].imshow(cat[i][0][0]) for i in range(0,5)]

上面的代码只适用于2999以下的数字。 当我得到下面的错误时,我应该如何得到上面的3000:

---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
<ipython-input-229-dc867a5e35bd> in <module>
      5 cat = [next(cat_generator) for i in range(0,6)]
      6 fig, ax = plt.subplots(1,5, figsize=(16, 6))
----> 7 print('Labels:', [item[1][0] for item in cat])
      8 l = [ax[i].imshow(cat[i][0][0]) for i in range(0,6)]
      9 

<ipython-input-229-dc867a5e35bd> in <listcomp>(.0)
      5 cat = [next(cat_generator) for i in range(0,6)]
      6 fig, ax = plt.subplots(1,5, figsize=(16, 6))
----> 7 print('Labels:', [item[1][0] for item in cat])
      8 l = [ax[i].imshow(cat[i][0][0]) for i in range(0,6)]
      9 

IndexError: index 0 is out of bounds for axis 0 with size 0

Tags: 代码inidimgforfigrangetrain