学习
实践
活动
专区
工具
TVP
写文章

机器学习之Keras(1)

很久没有发公众号消息了,前段时间被各种事情所占据,因此没有时间静下心来好好学习,所以也没能好好发干货了,因为现在主要学习方向是深度学习用于图像处理,因此开始学习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(),虽然缺失一些功能,但用子类的方式可以让模型建立更加灵活。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181021G194VG00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

关注

腾讯云开发者公众号
10元无门槛代金券
洞察腾讯核心技术
剖析业界实践案例
腾讯云开发者公众号二维码

扫码关注腾讯云开发者

领取腾讯云代金券