ImageDataGenerator,循環生成圖片,在重複生成圖片以前,會把全部圖片都遍歷一遍。並且若是圖片總量不是生成批量的倍數的話,在生成重複圖片的前一次的批量是不完整的。spa
import tensorflow as tf from tensorflow import keras from tensorflow.keras.preprocessing.image import ImageDataGenerator import matplotlib.pyplot as plt datagen = ImageDataGenerator( #定義生成圖片的模式,添加各類變換等,都是在範圍內隨機 rotation_range=40, #圖片旋轉的範圍 width_shift_range=0.2, #圖片水平位移的範圍 height_shift_range=0.2, #圖片垂直位移的範圍 shear_range=0.2, #圖片變傾斜的角度 zoom_range=0.2, #圖片縮放的範圍 horizontal_flip=True, #50%概率水平鏡像 fill_mode='nearest') gener = datagen.flow_from_directory( #圖片數據生成器 'D:/Datasets/dogs-vs-cats/train/test', #生成路徑。這個文件夾中應該包括各個類別的圖片,且每類圖片保存在單獨的文件夾中 target_size = (150,150), #生成圖片的尺寸 batch_size=1, #每次生成多少圖片數據 class_mode='binary') #生成圖片的標籤格式,這裏只有兩類,因此爲二元標籤,一個標量0或1 for i,j in gener:#生成的是:圖片,標籤 i/=255. print(j) plt.imshow(i[0]) plt.show()