原文网址:https://blog.youkuaiyun.com/eagelangel/article/details/50759993
原文存在几个小问题:本文在此基础上做了一下修改,方便大家调试程序
首先基于theano和TensorFlow的输入格式不一样,同时由于keras版本不同,在进行模型compile和fit时,所需要的格式也不一样;本文keras的backend为:TensorFlow,需要注意的部分,已用红色进行标注
code:
from __future__ import print_function
import numpy
numpy.random.seed(1337) # for reproducibility
from PIL import Image
from keras.models import Sequential
from keras.layers.core import Dense, Dropout, Activation, Flatten
from keras.layers.convolutional import Convolution2D, MaxPooling2D
from keras.optimizers import SGD
from keras.utils import np_utils
# There are 40 different classes
nb_classes = 40
nb_epoch = 40
batch_size = 40
# input image dimensions
img_rows, img_cols = 57, 47
# number of convolutional filters to use
nb_filters1, nb_filters2 = 5, 10
# size of pooling area for max pooling
nb_pool = 2
# convolution kernel size
nb_conv = 3
def load_data(dataset_path):
img = Image.open(dataset_path)
img_ndarray = numpy.asarray(img, dtype='float64')/256
#400pictures,size:57*47=2679
&nbs