理解 keras 中的 "Layer" 和 "Tensor"

本文深入探讨了Keras框架中Layer与Tensor的基本概念,详细解析了如何使用Sequential与Functional API构建神经网络模型,包括使用Concatenate与concatenate函数的区别及Lambda函数的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

keras 中有两个基本的概念:LayerTensor

Layer :是模型的组成单位,用于构建神经网络框架 在 keras 中用 大写的 module 表示,用于搭建纯模型框架,涉及到计算时使用属性 input 或 output 调出其 Tensor 如以下代码,多用于简单的 Sequential 结构(导入模块部分省略,python=3.7, keras=2.2)

n_in = 512
n_out = 2
model_1 = Sequential([Dense(n_out, input_shape = (n_in,))])
model_2 = Sequential([Dense(n_out, input_dim = n_in)])
model = Sequential()
model.add(Concatenate([model_1, model_2]))
model.compile(loss='categorical_crossentropy', optimizer='SGD')

上述代码使用了大写的 Concatenate function 表示一个 Layer,这个 function 的参数是元素为 Layer 的 list;
输出的结果是可以构筑 model 的 Layer,这样一个完整的 神经网络 model 完成了
如果要使用小写的 concatenate function,这个 function 里面的参数是元素为 Tensor 的 list

  • Sequential function 返回模型的结构
model_1 = Sequential([Dense(n_out)])
model_1 #assert is <keras.engine.sequential.Sequentia
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值