关于Keras那点儿事

记录在学习Keras中遇到的知识点,以及代码中的模块运用。

  • TimeDistributed:使用时间序列来进行一系列的张量操作,在指定的每一时间序列中都是共享权重信息的。举个例子清晰明了:
    应用于Conv2D层:
> from keras.models import Input,Model
from keras.layers import Dense,Conv2D,TimeDistributed

input_ = Input(shape=(12,32,32,3))
out = TimeDistributed(Conv2D(filters=32,kernel_size=(3,3),padding='same'))(input_)
model = Model(inputs=input_,outputs=out)
model.summary()

输入类型是N,H,W,C,即时间序列数是12,卷积操作使用TimeDistributed就相当于这12个时间序列共享一个卷积层参数信息,无论时间序列值为多少,参数总量还是一定的。此处一共有896个参数,卷积核weights有3×3×3×32=864个,卷积核bias有32个。
应用于Dense层:

#coding:utf-8
from keras.models import Input,Model
from keras.layers import Dense,Conv2D,TimeDistributed
 
input_ = Input(shape=(12,8))
out = TimeDistributed(Dense(units=10))(input_)
#out = Dense(units=10)(input_)
model = Model(inputs=input_,outputs=out)
model.summary()

此处的参数为90个(权重参数为8*10=80,偏置参数为10)序列长度一共是12个,这12个时间序列共享90个参数,整个网络输出大小为(None,12,10)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值