终于构建出了第一个神经网络,Keras真的很方便。
之前不知道Keras这么方便,在构建神经网络的过程中绕了很多弯路,最开始学的TensorFlow,后来才知道Keras。
TensorFlow和Keras的关系,就像c语言和python的关系,所以Keras是真的好用。
搞不清楚数据的标准化和归一化的关系,想对原始数据做归一化,却误把数据做了标准化,导致用model.predict预测出来的值全是0.0,在网上搜了好久但是没搜到答案,后来自己又把程序读了一遍,突然灵光一现好像是数据归一化出了问题,于是把数据预处理部分的标准化改成了归一化,修改过来之后才能正常预测出来值,才得到应有的数据趋势。
标准化:
(x-mean(x))/std(x) 这是使用z-score方法规范化
归一化:
(x-min(x))/(max(x)-min(x)) 这是常用的最小最大规范化方法
补充知识:keras加载已经训练好的模型文件,进行预测时却发现预测结果几乎为同一类(本人预测时几乎均为为第0类)**
原因:在进行keras训练时候,使用了keras内置的数据读取方式,但是在进行预测时候,使用了自定义的数据读取方式,本人为图片读取。
解决办法查看如下代码:
##############训练:
train_gen = ImageDataGenerator(rotation_range=10,
width_shift_range=0.2,
shear_range=0.2,