很久没有发公众号消息了,前段时间被各种事情所占据,因此没有时间静下心来好好学习,所以也没能好好发干货了,因为现在主要学习方向是深度学习用于图像处理,因此开始学习Keras了,我将从今天开始不定期法自己的学习笔记,欢迎大家交流。
今天主要是Keras的model部分,接下来就是一些学习过程中的记录了。
第一部分:keras的模型
这些模型有很多的一样的属性与方法(可以直接import调用):
Model.layers是组成一个模型的各种层,其中包括全连接层,池化层,卷积层等等;
Model.input是模型的一组输入张量;
Model.output是模型的一组张量输出;
Model.summary()可以输出模型的一个summary介绍;
Model.get_config()会返回一个字典类型变量,包括模型的组成。
Model.get_weights()会以numpy数组形式返回一组权重张量;
Model.set_weights()可以用于给模型设定权重以numpy数组的形式,需要注意的是shape必须一致;
Model.to_json()会以JSONstring的形式返回一个关于模型结构的表示。
Model.to_yaml()会以YAMLstring的形式返回一个关于模型结构的表示。
Model.save_weights(文件存储路径)可以以HDF5的文件类型存储模型权重。
Model.load_weights(文件路径,by_name=False)可以加载存储的模型权重Ps:模型结构不能变,并且以HDF5文件类型存储。
注意:HDF5文件必须有相应的包才能访问,必须安装python-hdfs库(但是好像不用import)。文件路径为相对路径在相应py文件所在位置的相应路径,例如Model.save_weights(‘file.h5’)就将该file.h5文件存于与py文件相同的路径下了。
通过call的方式可以创建自己的子类模型,例子在官网model部分。在子类中有些方法与属性是不能用的如:model.inputs model.outputs, model.to_yam()model.to_json() .get_config() .save(),虽然缺失一些功能,但用子类的方式可以让模型建立更加灵活。
领取专属 10元无门槛券
私享最新 技术干货