2020/11/06训练CAE显示振动图像原图 & 编码特征图 & 重构图

训练振动图像数据集:

trainsetG testsetG
5*69=345 5*20=100

数据集路径

展示:
train 0
train 1
代码展示:

"""
Caroline 2020.08.04  使用Keras建立自编码器
2020.11.06
#首先,准备数据并将其归一化和向量化
#然后,建立一个全连接的编码器和解码器
#用卷积层搭建自编码器:当输入是图像时,使用卷积;卷积自编码器的编码器部分由卷积层和池化层构成,Maxpooling负责空域下采样,
# 解码器由卷积层和上采样层构成

#效果:训练CAE显示原图 & 编码特征图 & 重构图
"""
from __future__ import print_function
from keras.layers import Input,Dense,Convolution2D,MaxPooling2D,UpSampling2D #bechanged
from keras.models import Model
from keras.datasets import mnist
import numpy as np
from keras import utils as np_utils
np.random.seed(1337)  # for reproducibility
import time
import datetime
from scipy import misc
import imageio
import scipy
import matplotlib.pyplot as plt
import glob #用于获取文件夹和文件信息
import re # 主要用于字符串匹配
import keras

#计算时间开始
start_time = time.time()
# 时间差计算函数
def subtime(date1, date2):
    date1 = datetime.datetime.strptime(date1, "%Y-%m-%d %H:%M:%S")
    date2 = datetime.datetime.strptime(date2, "%Y-%m-%d %H:%M:%S")
    return date2 - date1

startdate = datetime.datetime.now() # 获取当前时间
startdate = startdate.strftime("%Y-%m-%d %H:%M:%S") # 当前时间转换为指定字符串格式
####  1.准备数据  ####
num_classes = 6 #类别
batch_size = 120 #批量大小
epochs = 120 #训练次数
#  ①定义导入数据的函数,读取图片及标注
def loadImages(imgpath):
    img = imageio.imread(imgpath)#imgpath:所有匹配的文件路径列表
    if img is None:
        return None
    img = img.astype('float32') # 转成浮点32位数据类型
    img /= 255 # 将图片归一化,加速模型训练速度
    #print(img[1].shape)
    return img
#  ②对图片进行维度变换
def changeDim(img):
    img = np.expand_dims(img,axis=2)  # 灰度图像为2D--change3 →(223, 28, 28) (223, 11)
    img = np.expand_dims(img,axis=0)  # 灰度图像前加一批量通道
    return img
# ③读入图像数据
def loadDataset( imgpath, pathtype):
    images = loadImages(imgpath[0]) # 一幅图片的变维方法
    images = changeDim(imag
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值