keras模型
在keras中主要有两种模型,顺序模型,以及模型类(类的内部有函数)

model.layers 是层的列表,他们组成了模型model.inputs 是模型输入的张量model.outputs 是模型输出的张量model.summary() 打印模型的概要,还有另外一种写法utils.print_summarymodel.get_config() 返回模型配置的字典,通过以下方式重新加载配置
config = model.get_config()
model = Model.from_config(config)
# or, for Sequential:
model = Sequential.from_config(config)model.get_weights() 以Numpy数组的形式返回模型中所有权重张量的列表model.set_weights(weights) 通过一个numpy数组设置模型权重值,这个数组的结构与get_weights()返回的数组列表结构相同(比如都是3*4的矩阵)。model.to_json() 以JSON字符串的形式返回模型的表示形式。注意,表示不包含权重,只包含结构。您也可以通过以下方式用JSON字符串重载相同的模型(使用重新初始化的权重):
from keras.models import model_from_json
json_string = model.to_json()
model = model_from_json(json_string)model.to_yaml()以YAML字符串的形式返回模型的表示形式。注意,表示不包含权重,只包含结构。您可以通过以下方式用YAML字符串重载相同的模型(使用重新初始化的权重):
from keras.models import model_from_yaml
yaml_string = model.to_yaml()
model = model_from_yaml(yaml_string)model.save_weights(filepath) 将模型的权重保存为HDF5 文件model.load_weights(filepath, by_name=False) 从HDF5文件(由save_weights创建)重载模型的权重。默认情况下,架构应该保持不变。要将权重加载到不同的体系结构中(与某些层共享),使用by_name=True可以只加载具有相同名称的那些层。

模型继承
除了这两种类型的模型,通过继承Modle类并且实现你自己的方法调用,您可以创建自己的完全自定制的模型 (模型类是在Keras 2.2.0中引入的)。

下面是模型类实现的一个简单的多层感知模型

import keras
class SimpleMLP(keras.Model):def __init__(self, use_bn=False, use_dp=False, num_classes=10):
super(SimpleMLP, self).__init__(name='mlp')
self.use_bn = use_bn
self.use_dp = use_dp
self.num_classes = num_classesself.dense1 = keras.layers.Dense(32, activation='relu')
self.dense2 = keras.layers.Dense(num_classes, activation='softmax')
if self.use_dp:
self.dp = keras.layers.Dropout(0.5)
if self.use_bn:
self.bn = keras.layers.BatchNormalization(axis=-1)def call(self, inputs):
x = self.dense1(inputs)
if self.use_dp:
x = self.dp(x)
if self.use_bn:
x = self.bn(x)
return self.dense2(x)model = SimpleMLP()
model.compile(...)
model.fit(...)

layers在__init__() 中定义,在call中调用,在call函数中,你可以通过调用self.add_loss(loss_tensor)自定义累计损失

在模型继承中,模型是通过python代码定义的,以下方法和属性在模型继承中是不能使用的。

model.inputs 和 model.outputs
model.to_yaml() 和 model.to_json()
model.get_config() 和 model.save()

转载于:https://www.cnblogs.com/sea-stream/p/10988122.html

keras 模型简介相关推荐

  1. DL框架之Keras:深度学习框架Keras框架的简介、安装(Python库)、相关概念、Keras模型使用、使用方法之详细攻略

    DL框架之Keras:深度学习框架Keras框架的简介.安装(Python库).相关概念.Keras模型使用.使用方法之详细攻略 目录 Keras的简介 1.Keras的特点 2.Keras四大特性 ...

  2. ONNX系列二 --- 使用ONNX使Keras模型可移植

    目录 Keras简介 快速浏览模型 安装和导入转换器 将Keras模型转换为ONNX 摘要和后续步骤 参考文献 下载源547.1 KB 系列文章列表如下: ONNX系列一 --- 带有ONNX的便携式 ...

  3. 通俗易懂的Go协程的引入及GMP模型简介

    本文根据Golang深入理解GPM模型加之自己的理解整理而来 Go协程的引入及GMP模型 一.协程的由来 1. 单进程操作系统 2. 多线程/多进程操作系统 3. 引入协程 二.golang对协程的处 ...

  4. resnet keras 结构_Wandb用起来,一行Python代码实现Keras模型可视化

    大数据文摘出品 来源:wandb 编译:邢畅.宁静 在训练神经网络的过程中,我们可能会希望可视化网络的性能和中间的结构,很多可视化代码的冗长复杂使得我们望而却步,有没有一行代码就能解决可视化的所有问题 ...

  5. 主题模型简介(Topic Models)

    主题模型简介(Topic Models) 要想更好地管理当今爆炸式的电子文档档案,需要使用新的技术或工具来处理自动组织.搜索.索引和浏览大型电子文档集合.在当今机器学习和统计学研究的基础上,利用层次概 ...

  6. keras 模型用于预测时的注意事项

    keras 模型用于预测时的注意事项 为什么训练误差比测试误差高很多? 一个Keras的模型有两个模式:训练模式和测试模式.一些正则机制,如Dropout,L1/L2正则项在测试模式下将不被启用. 另 ...

  7. 点击率预估的几个经典模型简介

     点击率预估的几个经典模型简介 2016-02-22 00:32 点击率预估是大数据技术应用的最经典问题之一,在计算广告,推荐系统,金融征信等等很多领域拥有广泛的应用.本文不打算对这个话题做个全面 ...

  8. Sklearn,TensorFlow,keras模型保存与读取

    一.sklearn模型保存与读取  1.保存 1 from sklearn.externals import joblib 2 from sklearn import svm 3 X = [[0, 0 ...

  9. keras保存模型_onnx+tensorrt部署keras模型

    由于项目需要,最近捣鼓了一波如何让用tensorrt部署训练好的模型来达到更快的推理速度,期间花费了大量的时间在知乎和各种网页上去搜索别人的方案,但始终没有找到我想要的条理相对清晰的记录贴(也许只是我 ...

最新文章

  1. ARKIT/ARCore对比分析(一)
  2. 点击率预估模型汇总_CIKM20MiNet:阿里|跨域点击率预估混合兴趣模型
  3. 顶会ACL这十年:百度披荆斩棘,中国NLP乘风破浪
  4. Android华容道之一步一步实现-6-还原状态检测
  5. Dataset之Facades:Facades数据集的简介、安装、使用方法之详细攻略
  6. Xampp中的apache,tomcat无法启动的问题
  7. java 二叉树的高度_Java实现二叉树的建立、计算高度与递归输出操作示例
  8. mysqlbinlog查看日志_一个分布式 MySQL Binlog 存储系统的架构设计
  9. idea创建springcloud主工程和springboot子项目
  10. Windows 系统补丁管理策略
  11. java 的 provider_Java里的Provider是什么?
  12. 朗读评价语言集锦_运用朗读评价语
  13. HDU1272 小希的迷宫【并查集】
  14. 数据库连接池和线程池比较
  15. libevhtp介绍与demo构建
  16. [bzoj 1855][SCOI2010]股票交易
  17. 2022高教杯思路合集!!全国大学生数学建模竞赛
  18. docker pull报错:Timeout exceeded while awaiting headers解决思路
  19. 上海调高公积金贷款上限 首次购房每户可贷50万
  20. os.listdir()详解

热门文章

  1. Android adb shell 命令
  2. python变量存为matlab,详解如何在python中读写和存储matlab的数据文件(*.mat)
  3. python能做回归吗_有大神会看Python多元回归的结果吗?本人做出来了,但是不会看.....
  4. 学python需要安装什么软件-学武汉Python培训课程需要安装什么软件?分享这10款...
  5. python在财务上的应用-财会人必看:这个工具,30分钟可以把人家一天的工作都给干完!...
  6. 自学python的书籍逐级推荐-近300本Python书籍到底哪家强,用Python告诉你
  7. python pip-python的pip安装以及使用教程
  8. python切片语法-python切片语法
  9. python学生管理系统界面-Python实现GUI学生信息管理系统
  10. python处理表格数据-Python数据处理(二):处理 Excel 数据