特征微调有助于提高深度学习的精度,而将卷积基(就是预先训练好的卷积模型)的前面大部分层冻结,只微调(此时的学习率也应该相应的调低)顶部更抽象的层---可以理解为更细节的特征
这样可以在一定程度上提高模型的识别精度,我的实验结果比原有的精度提高了4个点左右,从90%提高到94%
下面是全部的代码,很简单.
不过有个疑问:训练出来的验证精度达不到书上说的97%,有解决的同学请留言告知一下,不慎感激!!!
#即可单独安装keras,也可以用tensorflow自带的keras
try:
from keras.applications import VGG16
from keras.preprocessing.image import ImageDataGenerator
from keras import models
from keras import layers
from keras import optimizers
except ModuleNotFoundError:
import tensorflow as tf
VGG16 = tf.keras.applications.VGG16
ImageDataGenerator = tf.keras.preprocessing.image.ImageDataGenerator
models = tf.keras.models
layers = tf.keras.layers
optimizers = tf.keras.optimizers
import os,sys
sys.path.append( os.pardir ) #为了找到上级目录common,import里面的工具
from common.file_arrange import get_dirs #自定义的小工具
import numpy as np
import matplotlib.pyplot as plt
def get_co