首页 > 其他分享 >读取mnist灰度图片变成nparry并和已有的数据集连接在一起

读取mnist灰度图片变成nparry并和已有的数据集连接在一起

时间:2022-12-05 20:46:34浏览次数:40  
标签:img keras shape nparry 灰度 test import mnist

读入图片并处理

把图片读入,变成nparray之后,经过标准化处理直接和原来的mnist数据连在一起即可

import csv
import random
import numpy as np
import tensorflow as tf
from skimage.exposure import rescale_intensity
from tensorflow.keras import backend as K
from tensorflow.keras.applications.imagenet_utils import preprocess_input
from tensorflow.keras.models import Model
from tensorflow.keras.preprocessing import image
# from skimage.exposure import rescale_intensity
import os
import cv2
from PIL import Image
import math
# import matplotlib as mpl
# import matplotlib.pyplot as plt
from PIL import Image

def preprocess_image(img_path, target_size=(28, 28)):
    img2 = Image.open(img_path) # 读取图片
    input_img_data = np.array(img2) # 变成nparray

    return input_img_data # 返回

# datasetPath为存储路径
def generateData_png(datasetPath):
    fileList = []
    #图像路径存储到fileList
    for file in sorted(os.listdir(datasetPath)):
        if file.endswith(".png"):
            fileList.append(file)
    test = []

	# 将图片变成 nparray 存到test里面
    for i in range(len(fileList)):
        path = os.path.join(datasetPath, fileList[i])
        test.append(preprocess_image(path))

    test = np.array(test) # 变成nparray
    print(test.shape)
    return test

# 模型名称
model_name = "mnist_tiny_model"
# 加载模型
model = tf.keras.models.load_model("mnist_tiny_model.h5")

# 除以255
img_shape = 28, 28, 1
(x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data()
x_train = x_train.reshape(x_train.shape[0], *img_shape).astype('float32') / 255
x_test = x_test.reshape(x_test.shape[0], *img_shape).astype('float32') / 255

# 生成的图片同样操作
data1 = generateData_png(r"./datapath") # datapath表示生成图片的路径
data1 = data1.reshape(data1.shape[0], *img_shape).astype('float32') / 255

# 加入生成的图片形成最终的数据
data_= np.vstack((x_test, data1))

标签:img,keras,shape,nparry,灰度,test,import,mnist
From: https://www.cnblogs.com/christopherJames/p/16953426.html

相关文章

  • 微服务部署:蓝绿部署、滚动部署、灰度发布等部署方案对比与总结
    在项目迭代的过程中,不可避免需要”上线“。上线对应着部署,或者重新部署;部署对应着修改;修改则意味着风险。目前有很多用于部署的技术,有的简单,有的复杂......
  • 一行代码搞定整站灰度主题
    最近看到很多网站都是灰色的,这个是如何实现的呢?其实做法特别简单,css3里边有个滤镜属性,这个和photoshop里边的滤镜是一样的。关于滤镜属性就不在这里赘述了,大家可以点这里......
  • Spring Cloud GateWay基于nacos如何去做灰度发布
    如果想直接查看修改部分请跳转动手-点击跳转本文基于ReactiveLoadBalancerClientFilter使用RoundRobinLoadBalancer灰度发布灰度发布,又称为金丝雀发布,是一种新旧版本......
  • RocketMQ 全链路灰度探索与实践
    本文作者:肖京,SpringCloudAlibabaPMC,阿里云智能技术专家。01 全链路灰度背景介绍发布新版本时,为了有效、谨慎地验证新版本代码逻辑的正确性,通常会采用灰度发布,从而达到减......
  • RocketMQ 全链路灰度探索与实践
    本文作者:肖京,SpringCloudAlibabaPMC,阿里云智能技术专家。01全链路灰度背景介绍发布新版本时,为了有效、谨慎地验证新版本代码逻辑的正确性,通常会采用灰度发布,从而达......
  • filter 灰度处理:公祭日,一行代码让页面变成黑白色调
    我们这里通过打开Google浏览器调试模式来实现快速预览。首先在Elements里面点击body标签,在右侧出现的功能栏里找到style属性,具体点击位置如下图所示:这里我们将......
  • 原生Ingress灰度发布能力不够?我们是这么干的
    灰度发布是一种常见的服务滚动升级或A/B测试策略。在新版本服务正式发布前,可以部署少量的新版本服务和上个版本共存,用部分生产流量测试新版本的功能和特性。如果新版本反......
  • 构建基于 Ingress 的全链路灰度能力
    作者:涂鸦背景随着云原生技术不断普及,越来越多的业务应用开始向云原生架构转变,借助容器管理平台Kubernetes的不可变基础设施、弹性扩缩容和高扩展性,助力业务迅速完成数......
  • 构建基于 Ingress 的全链路灰度能力
    作者:涂鸦背景随着云原生技术不断普及,越来越多的业务应用开始向云原生架构转变,借助容器管理平台Kubernetes的不可变基础设施、弹性扩缩容和高扩展性,助力业务迅速完成数字化......
  • 06-2-不容闪失的灰度发布设计【双元】(1)
                         ......