keras ImageDataGenerator 數據增強的數據顯示查看


import skimage.io as io
import os,sys
from skimage import data_dir
import numpy as np
import matplotlib.pyplot as plt
import cv2

from tensorflow.keras.preprocessing.image import ImageDataGenerator, array_to_img, img_to_array, load_img

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,# 開啟水平翻轉
                            fill_mode='nearest' # 填充策略
                            )

path="/data_2/everyday/0312/others/pic/";     
dirs=os.listdir(path)

#保存本地
# for file in dirs:
#     img = load_img(path+file)
#     x = img_to_array(img)
#     x = x.reshape((1,) + x.shape)  # 這是一個numpy數組,形狀為 (1,150, 150,3)
#     i = 0
#     for batch in datagen.flow(x, batch_size=1,
#                           save_to_dir='/data_2/everyday/0312/others/pic-aug'):
#        i += 1
#        if i > 50:             # 數據擴充倍數,此處為數據擴充50倍
#         break             #  否則生成器會退出循環


for file in dirs:
    img = load_img(path + file)
    x = img_to_array(img)
    x = x.reshape((1,) + x.shape)  # 這是一個numpy數組,形狀為 (1,150, 150,3)
    i = 0
    for batch in datagen.flow(x,batch_size=1):
        # cv2.imshow("src",x[0][:,:,::-1])
        # cv2.waitKey(0)
        plt.figure(i)
        imgplot = plt.imshow(array_to_img(batch[0]))
        plt.show()
        i += 1
        if 0 == i % 10:
            break

不知道為啥用cv顯示原圖全是白的。。。。這樣可以src = cv2.cvtColor(np.asarray(array_to_img(x[0])), cv2.COLOR_RGB2BGR)

keras fit 中的 verbose

verbose:日志顯示
verbose = 0 為不在標准輸出流輸出日志信息
verbose = 1 為輸出進度條記錄
verbose = 2 為每個epoch輸出一行記錄
注意: 默認為 1


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM