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],需要進行轉化
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章