Я хотел создать больше изображений, используя Keras, как вы можете видеть в здесь , используя этот код (почти такой же, как source> Random Rotations ):
# Random Rotations
from keras.datasets import mnist
from keras.preprocessing.image import ImageDataGenerator
from matplotlib import pyplot
from keras import backend as K
datagen = ImageDataGenerator(rotation_range=90)
# fit parameters from data
datagen.fit(cats["images"])
print(np.asarray(cats["label"]).shape) #output=(12464,)
print(np.asarray(cats["images"]).shape) #output=(12464, 60, 60, 1)
# configure batch size and retrieve one batch of images
for X_batch, y_batch in datagen.flow(cats["images"], cats["label"], batch_size=9):
# create a grid of 3x3 images
for i in range(0, 9):
pyplot.subplot(330 + 1 + i)
pyplot.imshow(X_batch[i].reshape(28, 28), cmap=pyplot.get_cmap('gray'))
# show the plot
pyplot.show()
break
Но я получаю следующую ошибку:
ValueError: x
(тензор изображений) и y
(метки) должны иметь одинаковую длину.Найдено: x.shape = (60, 60, 1), y.shape = (12464,)
Это может помочь при дальнейших проверках:
Я полагаю, что с библиотекой должно быть что-то не так, как если бы я изменил форму своего изображения на 60x60 вместо 60x60x1, я получу:
ValueError: Ввод в .fit()
должен иметьранг 4. Получил массив с формой: (12464, 60, 60)