因为想用TCN进行时间序列预测,所以我打算研究一下怎么写代码。
从官网机翻来的。
这是个不成熟的坑,先挖再说。
API
https://pypi.org/project/keras-tcn/
pip install keras-tcn
中文:https://www.cnpython.com/pypi/keras-tcn
https://github.com/philipperemy/keras-tcn/tree/master/tasks
TCN优势
在大量任务上优于LSTM
并行性、灵活的接受 field 大小、稳定的梯度、训练时的低记忆要求、可变长度输入
API参数
TCN(
nb_filters=64,
kernel_size=2,
nb_stacks=1,
dilations=[1, 2, 4, 8, 16, 32],
padding=‘causal’,
use_skip_connections=True,
dropout_rate=0.0,
return_sequences=True,
activation=‘linear’,
kernel_initializer=‘he_normal’
, use_batch_norm=False, **kwargs)
nb_filters: Integer
在卷积层中使用的过滤器的数量,类似于LSTM。
kernel_size
整数,在每个卷积层中使用的内核kernel的大小。
dilations
列表。扩张的列表的一个例子是 : [1, 2, 4, 8, 16, 32, 64].
nb_stacks
整数。要使用的剩余块的堆栈( stacks of residual blocks)数量。
padding
String. The padding to use in the convolutions. ‘causal’ for a causal network (as in the original implementation) and ‘same’ for a non-causal network.
字符串。在卷积中使用的填充。
在因果网络中使用“因果”(如同最初的实现),而在非因果网络中使用“相同”。
use_skip_connections
Boolean. If we want to add skip connections from input to each residual block.
布尔。如果我们想要添加从输入到每个剩余块的跳过连接。
return_sequences
Boolean. Whether to return the last output in the output sequence, or the full sequence.
布尔。
是返回输出序列中的最后一个输出,还是返回完整序列。
dropout_rate
Float between 0 and 1. Fraction of the input units to drop.
在0和1之间浮动。要下降的输入单位的分数。
activation
The activation used in the residual blocks o = activation(x + F(x)).
剩余块中使用的激活o =激活(x + F(x))。
kernel_initializer
Initializer for the kernel weights matrix (Conv1D).
核权值矩阵(Conv1D)的初始化式。
use_batch_norm
Whether to use batch normalization in the residual layers or not.
是否在剩余层中使用批处理规范化。
kwargs
Any other arguments for configuring parent class Layer. For example “name=str”, Name of the model. Use unique names when using multiple TCN.
用于配置父类层的任何其他参数