VGG16模型训练+测试

tf.keras.applications 中有一些预定义好的经典卷积神经网络结构,如 VGG16 、 VGG19 、 ResNet 、 MobileNet、InceptionV3 等。我们可以直接调用这些经典的卷积神经网络结构(甚至载入预训练的参数),而无需手动定义网络结构。

导入需要的包

from keras.models import Model
from keras.layers import Dense, Flatten
from skimage import io, transform
import glob
import os
import numpy as np
from sklearn.model_selection import train_test_split
from keras.utils import np_utils
from keras.applications.vgg16 import VGG16
from keras.models import load_model

一个图像数据shape为[样本数N, 通道数C, 高度H, 宽度W],将其最后两个维度flatten,得到的是[N, C, H*W],标准的Batch Normalization就是在通道Channel这个维度上进行移动,对所有样本的所有值求均值和方差,有几个通道,得到的就是几个均值和方差。

path = r'./data/'  # 数据存放路径(分类成文件夹,每个文件夹下的图片为一类)

w = 150
h = 150
c = 3
number_classification = 5#分类数

 读取数据 ,Tensorflow定义的tensor的shape为[n,c,h,w],而我们直接读取文件格式是[n,h,w,c],需要进行转化
 

猜你喜欢

转载自blog.csdn.net/qq_38900441/article/details/105017687