TF24——TF描述循环计算层
TF24——TF描述循环计算层
TF描述循环计算层
tf.keras.layers.SimpleRNN(记忆体个数,activation='激活函数',return_sequence=是否每个时刻输出ht到下一层)
activation='激活函数'(不写,默认使用tanh)
return_sequence=True 各时间步输出ht
return_sequences=False 仅最后时间步输出ht(默认)
一般,最后一层的循环核用False,仅在最后一个时间步输出ht,中间层循环核用True,每个时间步都把ht输出给下一层
-
例:SimpleRNN(3,return_sequences=True)
这句话定义了一个具有三个记忆体的循环核,这个循环核会在每个时间步输出ht
return_sequences =True
循环核各时刻会把ht推送到下一层,循环核在每个时间步输出ht,可以用这张图表示

return_sequences =False
循环核仅在最后一个时刻把ht推送到下一层,从图上可以看到,中间的时间步循环核,没有输出ht,只有最后一个时间步循环核输出ht

注意:API对于送入循环层的数据维度是有要求的,要求送入循环层的数据是三维的
入RNN时,x_train维度:
[送入样本数,循环核时间展开步数,每个时间步输入特征个数]
例:

一共要送入RNN层两组数据,每组数据经过一个时间步就会得到输出结果,每个时间步送入三个数值,输入循环层的数据维度就是[2,1,3]

这个例子中只有一组数据,分四个时间步送入循环层,每个时间步送入两个数值,输入循环层的数据维度就是[1,4,2]