alex_bn_lee

导航

【612】深度学习模型相关问题

基本概念

参考:keras使用中fit_generator的一些问题

参考:keras.utils.Sequence生成数据

参考:手工编写继承KERAS.UTILS.SEQUENCE类的图像生成器

基本操作

  • 打乱训练数据,同时保证训练数据与标签数据的打乱模式一样

    • random.Random(1).shuffle(training_data)

    • random.Random(1).shuffle(label_data)

    • 可以保证他们打乱的顺序是一致的,参数可以随便写  

  • numpy.expand_dims(arr, axis=2)

    • 增加 arr 的维度,适用于那种灰度图增加维度,或者神经网络输入维度固定,数据本身维度不够

    • 另外就是 arr 可以是 Image 格式的数据,因此就方便很多,reshape 需要时 numpy.array 才可以

图像处理

参考:PIL Tutorial

参考:Image.fromarray的用法(实现array到image的转换)

参考:Python PIL Image.new()用法及代码示例

参考:Python图像处理库PIL的ImageOps模块介绍

  • keras.preprocessing.image.load_image()

    • 通过路径读取图片文件,返回的格式为 PIL Image

    • 默认为 RGB 格式,返回值形如:(160, 160, 3)

    • 灰度图的话需要设置 color_mode="grayscale",返回值形如:(160, 160)

    • PIL Image 格式的数据直接赋值给 numpy.array 数组,即可以直接转为 numpy.array

  • Image.open()

    • 通过路径读取图片文件,返回的格式为 PIL Image

    • 通过 numpy.array(img) 可以转为 numpy.array 格式
  • cv2.imread()

    • 通过路径读取图片文件,返回值为 numpy.array

  • PIL.ImageOps.autoconstrast(img)  

    • 参考:Python图像处理库PIL的ImageOps模块介绍
    • 可以将 Image 格式的数据,直接扩展到 0~255

    • 例如,原始值为 0,1,2,会分别扩展为 0,127,255

    • 对于标签数据来说,本身分不清数字,扩展后可以清晰显示了

posted on 2021-07-14 21:10  McDelfino  阅读(61)  评论(0编辑  收藏  举报