一、学习内容:
通过keras
高级API
进行自己测试集的模型预测
二、测试须知:
1. 通过训练集和验证集得到进行测试的模型
2. 鄙人的模型只保存的是weights
(权重文件),因而加载模型时候可能命令会不同,不多啰嗦。
三、预测前的准备
1. 目录
保证你的文件和目录在同一文件夹下。如图所示:
2. 数据集文件夹格式
- 数据集分为训练集、验证集、测试集三部分存放于
Datasets
文件夹下- 三个数据集下对应的各个图片所属的类别的文件夹
四、对测试集的预测
代码如下(示例):
# !/usr/bin/env python3
# -*- coding: utf-8 -*-
# @Time : 2021/3/10 0010 18:31
# @Author : Eliys.Li
import keras
from keras import Model, Input, Sequential
from keras.activations import relu, hard_sigmoid
from keras.models import load_model
from keras.layers import Conv2D, BatchNormalization, add, AveragePooling2D, Flatten, Dense, MaxPooling2D, ZeroPadding2D, \
GlobalAveragePooling2D, Multiply, concatenate, dot, Lambda, Dropout
from keras.preprocessing import image
from keras.utils import plot_model
import tensorflow as tf
from keras import backend as K
from keras_preprocessing.image import ImageDataGenerator
from keras.preprocessing.image import load_img, img_to_array
import numpy as np
import pickle
import math
import cv2
from sklearn.metrics import confusion_matrix
from sklearn import metrics
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
IM_WIDTH, IM_HEIGHT = 224, 224
test_dir = 'Datasets/test/'
# 训练次数和每次读取图片的数量
nb_epoch = 2000
batch_size = 32
# 测试集的图片数量
nb_test_samples= 3147
# 测试集图片总类别数目
nb_classes = 791
nb_epoch = int(nb_epoch)
batch_size = int(batch_size)
# 对读取进来的图片进行的操作
test_datagen = ImageDataGenerator(
rescale=1. / 255,
samplewise_std_normalization=True