我想从我用Keras创建的训练批次中打印样本图片,如下所示:
train_batches = ImageDataGenerator(rescale=1/255, horizontal_flip=True, rotation_range=5).flow_from_directory('train', target_size=(256, 256), classes=[ 'bike', 'car', 'motorcycle', 'other', 'truck', 'van'], batch_size=12)
理想情况下,我也希望这些课程也能显示,但是现在我很高兴能够显示示例图片。我找到了this thread,但是当我使用train_batch尝试使用该代码时:
def plots(ims, figsize=(12,6), rows=3, interp=False, titles=None): if type(ims[0]) is np.ndarray: ims = np.array(ims).astype(np.uint8) if (ims.shape[-1] != 3): ims = ims.transpose((0,2,3,1)) f = plt.figure(figsize=figsize) cols = len(ims)//rows if len(ims) % 2 == 0 else len(ims)//rows + 1 for i in range(len(ims)): sp = f.add_subplot(rows, cols, i+1) sp.axis('Off') if titles is not None: sp.set_title(titles[i], fontsize=16) plt.imshow(ims[i], interpolation=None if interp else 'none') imgs, labels = next(train_batches) plots(imgs, titles=labels)
它按照应有的方式绘制类,但仅绘制黑色正方形,而不是如下图所示:就像我之前说的那样,我很高兴能够打印样本图片,而不必整批打印。 (但是这就是说,如果您知道如何更正我的代码,那么上面的代码确实有效,我将不胜感激。)
编辑:
如图所示,如果我删除了ImageDataGenerator括号中的所有内容,则应绘制它们的原图。我尝试先删除缩放比例,但没有执行任何操作。所以现在我的问题是;如何创建具有所有这些差异(翻转,重新缩放,旋转)的图像,以便可以训练实体模型(或至少尝试成为模型)?我想从我用Keras创建的训练批次中打印样本图片,如下所示:train_batches = ImageDataGenerator(rescale = 1/255,horizontal_flip = True,...
我发现了问题。问题是设置“ ims”时的类型。我知道这与重新缩放有关,并尝试了不同的方式来处理ims [i]和vmin / vmax。但是当删除astype时,我可以使用上述ImageDataGenerator的参数。