当前位置: 首页 > news >正文

tensorflow入门 自定义模型

前面说了自定义的层,接下来自定义模型,我们以下图为例子

 这个模型没啥意义,单纯是为了写代码实现这个模型

首先呢,我们看有几个部分,dense不需要我们实现了,我们就实现Res,为了实现那个*3,我们注意这个res可能需要多个res堆叠。

class ResBlock(keras.layers.Layer):def __init__(self, n_layers, n_neurons, **kwargs):super().__init__(**kwargs)self.hidden =[keras.layers.Dense(n_neurons,activation='elu',kernel_initializer='he_normal')for _ in range(n_layers)]def call(self, inputs):Z = inputsfor layer in self.hidden:Z = layer(Z)return inputs + Z

这样我们就能实现一个可以循环的Res了,call是必须的,因为在计算的时候需要它

如果我们写得再详细一点,可能要加入built,如果需要保存和加载模型,我们需要get_congit和save_congit,总之,基本的样子就是如此。

为了防止搞错,解释以下为什么没有使用built,是为了偷懒。

下面我们构建模型的时候,会指定输入的维度,其实再通用的情况下,我们根本不知道输入的维度,built会自动推断输入维度,所有本来应该写个built的,但是睡觉时间到了。

然后我们基于上面的自定义层,实现左边的模型

def ResModel(keras.Model):def __init__(self, out, **kwargs):super().__init__(*kwargs)self.hidden1 = keras,layers,Dense(30, activation='elu', kernel_initializer='he_normal')self.block1 = ResBlock(2,10)self.block2 = ResBlock(2,20)self.out = keras,layers,Dense(out)def call(self, inputs):Z = self.hidden1(inputs)for _ in range(4):Z = self.block1(Z)Z = self.block2(Z)return self.out(Z)

我觉得在此以及无需多言了。睡觉睡觉。

http://www.lryc.cn/news/263589.html

相关文章:

  • 虚拟机启动 I/O error in “xfs_read_agi+0x95“
  • 【MYSQL】-库的操作
  • 网络协议小记
  • STM32-I2C通讯-AHT20温湿度检测
  • 【机器学习】043_准确率、精确率、召回率
  • 【Qt开发流程】之文件目录、文件、输入和输出
  • CSS的基本选择器及高级选择器(附详细示例以及效果图)
  • 股票价格预测 | Python实现基于Stacked-LSTM的股票预测模型,可预测未来(keras)
  • 数据可视化---离群值展示
  • LeetCode Hot100 51.N皇后
  • 机器学习 | 贝叶斯方法
  • 缓存的定义及重要知识点
  • TrustZone之顶层软件架构
  • SpringBoot Whitelabel Error Page 报错--【已解决】
  • 02.Git常用基本操作
  • 黑盒测试中关键截图如何打点
  • 画图之C4架构图idea和vscode环境搭建篇
  • 安卓小练习-校园闲置交易APP(SQLite+SimpleCursorAdapter适配器)
  • Pycharm 如何更改成中文版| Python循环语句| for 和 else 的搭配使用
  • 智合同是怎么审合同的?
  • 使用Httpclient来替代客户端的jsonp跨域解决方案
  • 测试工具Jmeter:设置中文界面
  • K8s攻击案例:RBAC配置不当导致集群接管
  • 运行hive的beelin2时候going to print operations logs printed operations logs
  • 从 MySQL 到 DolphinDB,Debezium + Kafka 数据同步实战
  • 六.聚合函数
  • Eclipse_03_如何加快index速度
  • scrapy的入门和使用
  • yolov5单目测距+速度测量+目标跟踪(算法介绍和代码)
  • flink 读取 apache paimon表,查看source的延迟时间 消费堆积情况