参考:keras系列︱迁移学习:利用InceptionV3进行fine-tuning及预测、完美案例(五)
一、数据集准备
训练数据花朵图片下载:地址
图片下载好后划分数据集,分为训练集和验证集,训练集每类图片500张,验证集每类图片100张。
这是我数据集的树图:
二、训练模型
环境:Ubuntu,Anaconda2,python2.7,tensorflow,keras
# --coding:utf-8--
import os
import sys
import glob
import argparse
import matplotlib.pyplot as plt
from keras import __version__
from keras.applications.inception_v3 import InceptionV3, preprocess_input
#from keras.applications.inception_v3_matt import InceptionV3, preprocess_input
from keras.models import Model
from keras.layers import Dense, GlobalAveragePooling2D
from keras.preprocessing.image import ImageDataGenerator
from keras.optimizers import SGD
def get_nb_files(directory):
"""Get number of files by searching directory recursively"""
if not os.path.exists(directory):
return 0
cnt = 0
for r, dirs, files in os.walk(directory):
for dr in dirs:
cnt += len(glob.glob(os.path.join(r, dr + "/*")))
return cnt
#train_num = get_nb_files('/home/pandafish/AnacondaProjects/Inceptionv3/dataset_my/train') 2500
#print(train_num)
#input(