zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    LeetCode 226. Invert Binary Tree
    LeetCode 221. Maximal Square
    LeetCode 217. Contains Duplicate
    LeetCode 206. Reverse Linked List
    LeetCode 213. House Robber II
    LeetCode 198. House Robber
    LeetCode 188. Best Time to Buy and Sell Stock IV (stock problem)
    LeetCode 171. Excel Sheet Column Number
    LeetCode 169. Majority Element
    运维工程师常见面试题
  • 原文地址:https://www.cnblogs.com/yanghailin/p/12470647.html
Copyright © 2011-2022 走看看