Keras中的类与函数

注意点

1.data_mode的默认值是”channel last“,在构建网络时一定要注意。


models.py

Sequential

该类用于表示一个网络模型,并继承于Model类


save_weights(filepath)  

该函数用于将模型的权重保存为一个h5文件。


image.py

ImageDataGenerator

ImageDataGenerator类继承于object,可随着图片数目的动态增加实时对图片进行预处理并生成图片序列。


flow_from_directory(directory,target_size=(256,256),color_mode='rgb',classes=None,class_mode='categories',batch_size=32,shuffle=True,seed=None,save_to_dir=None,save_prefix='',save_format='png',follow_links=False)

其中directory是路径,这个函数会将路径下的没一个文件夹视为一个分类,并对每个文件夹中的所有图片进行预处理,target_size便是预处理后的图片大小,class_mode默认为‘categories’,这样在将图片输入到网络中时会同时将对应的lable输入,而如果设置class_mode为None的话,则将只会输入图片。
要注意的是,这里的batch_size应该只是预处理时的batch_size,而与网络的batch_size无关。
shuffle是表示是否将图片打乱,
save_to_dir表示是否将处理后的图片保存。


flow(x,y=None,batch_size=32,shuffle=True,seed=None,save_to_dir=None,save_prefix='',save_format='png')

此函数也是用于对图片进行预处理并读取样本集。x为样本图片,y为lable,其余都和flow_from_directory一样,与flow_from_directory的区别是,flow_from_directory是从本地路径中读取样本,而flow是从内存中读取。


training.py

Model

Model类,继承于Container类。


predict_generator(generator,steps,max_queue_size=10,workers=1,use_multiprocessing=False,verbose=0)   

该函数对输入的样本直接进行预测,即将generator输入到网络中并得出结果。
generator是经过预处理过后的样本集。
step为分为几个batch来完成预测。