tensorflow入门 自定义模型

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

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

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

python 复制代码
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 = inputs
        for layer in self.hidden:
            Z = layer(Z)
        return inputs + Z

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

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

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

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

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

python 复制代码
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)

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

相关推荐
瑞华丽PLM1 分钟前
PLM系统中的BOM管理演进:从数据孤岛到全生命周期协同
大数据·人工智能·plm·国产plm·瑞华丽plm·瑞华丽
咚咚王者6 分钟前
人工智能之核心基础 机器学习 第十六章 模型优化
人工智能·机器学习
电商API_180079052477 分钟前
1688商品详情采集API全解析:技术原理、实操指南与业务落地
大数据·前端·人工智能·网络爬虫
向上的车轮13 分钟前
麦肯锡《智能体、机器人与我们:AI时代的技能协作》
人工智能·机器人
叫我:松哥15 分钟前
基于Flask框架开发的二手房数据分析与推荐管理平台,集成大数据分析、机器学习预测和智能推荐技术
大数据·python·深度学习·机器学习·数据分析·flask
2501_9458374321 分钟前
数字经济的 “安全基石”—— 云服务器零信任架构如何筑牢数据安全防线
人工智能
2501_9421917722 分钟前
【深度学习应用】香蕉镰刀菌症状识别与分类:基于YOLO13-C3k2-MBRConv5模型的实现与分析
人工智能·深度学习·分类
Coder_Boy_23 分钟前
基于SpringAI的在线考试系统-DDD(领域驱动设计)核心概念及落地架构全总结
java·大数据·人工智能·spring boot·架构·ddd·tdd
AI小怪兽23 分钟前
YOLO26:面向实时目标检测的关键架构增强与性能基准测试
人工智能·yolo·目标检测·计算机视觉·目标跟踪·架构
weixin_4404016929 分钟前
Win11 系统 Anaconda 下载+conda命令+Jupyter Notebook+VS Code
ide·python·jupyter·conda