Keras函數記錄

預處理

直接從文件生成圖片數據

  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() 
相關文章
相關標籤/搜索