gluonts.torch.model.wavenet.module 模块#
- class gluonts.torch.model.wavenet.module.CausalDilatedResidualLayer(num_residual_channels: int, num_skip_channels: int, dilation: int, kernel_size: int, return_dense_output: bool)[source]#
基类:
torch.nn.modules.module.Module
- forward(x: torch.Tensor) Tuple[torch.Tensor, torch.Tensor] [source]#
定义每次调用的计算。
应由所有子类覆盖。
注意
虽然前向传播的实现需要在该函数中定义,但之后应该调用
Module
实例而不是直接调用此函数,因为前者会处理已注册的钩子,而后者则会静默忽略它们。
- training: bool#
- class gluonts.torch.model.wavenet.module.WaveNet(pred_length: int, bin_values: List[float], num_residual_channels: int, num_skip_channels: int, dilation_depth: int, num_stacks: int, num_feat_dynamic_real: int = 1, num_feat_static_real: int = 1, cardinality: List[int] = [1], embedding_dimension: int = 5, num_parallel_samples: int = 100, temperature: float = 1.0, use_log_scale_feature: bool = True)[source]#
基类:
torch.nn.modules.module.Module
WaveNet 模型。
- 参数
pred_length – 预测长度。
bin_values – 间隔值列表。
num_residual_channels – 残差通道数。
num_skip_channels – 跳跃连接通道数。
dilation_depth – 扩张卷积的深度。
num_stacks – 扩张堆栈的数量。
num_feat_dynamic_real – 动态实数特征的数量,默认为 1
可选 – 动态实数特征的数量,默认为 1
num_feat_static_real – 静态实数特征的数量,默认为 1
可选 – 静态实数特征的数量,默认为 1
cardinality – 静态类别特征的基数列表,默认为 [1]
可选 – 静态类别特征的基数列表,默认为 [1]
embedding_dimension – 类别特征嵌入的维度,默认为 5
可选 – 类别特征嵌入的维度,默认为 5
num_parallel_samples – 推断期间生成的并行样本数量。此参数仅在推断模式下使用,默认为 100
可选 – 推断期间生成的并行样本数量。此参数仅在推断模式下使用,默认为 100
temperature – 用于从输出 softmax 分布中采样的温度,默认为 1.0
可选 – 用于从输出 softmax 分布中采样的温度,默认为 1.0
- base_net(inputs: torch.Tensor, queues: Optional[List[torch.Tensor]] = None) Tuple[torch.Tensor, List[torch.Tensor]] [source]#
WaveNet 的前向传播。
- 参数
inputs – 输入张量 形状: (batch_size, num_residual_channels, sequence_length)
queues – 包含过去计算的卷积队列。这可以加快预测速度,并且必须在预测模式下提供。详见 [Paine 等人, 2016],默认为 None
可选 – 包含过去计算的卷积队列。这可以加快预测速度,并且必须在预测模式下提供。详见 [Paine 等人, 2016],默认为 None
等. ([Paine 等人) – arXiv 预印本 arXiv:1611.09482 (2016)。
算法。" (2016] “快速 wavenet 生成) – arXiv 预印本 arXiv:1611.09482 (2016)。
- 返回值
包含网络未归一化输出的张量,形状为
(batch_size, pred_length, num_bins),以及包含每个层对应的卷积队列的列表。
卷积队列 for each layer. The queue corresponding to
层 `l` 的形状为 ((batch_size, num_residual_channels, 2^l).)
- forward(feat_static_cat: torch.Tensor, feat_static_real: torch.Tensor, past_target: torch.Tensor, past_observed_values: torch.Tensor, past_time_feat: torch.Tensor, future_time_feat: torch.Tensor, scale: torch.Tensor, prediction_length: Optional[int] = None, num_parallel_samples: Optional[int] = None, temperature: Optional[float] = None) torch.Tensor [source]#
从 WaveNet 模型生成预测。
- 参数
feat_static_cat – 静态类别特征: (batch_size, num_cat_features)
feat_static_real – 静态实数值特征: (batch_size, num_feat_static_real)
past_target – 过去的目标: (batch_size, receptive_field)
past_observed_values – 过去目标的观察值指示器: (batch_size, receptive_field)
past_time_feat – 过去的时间特征: (batch_size, num_time_features, receptive_field)
future_time_feat – 未来时间特征: (batch_size, num_time_features, pred_length)
scale – 时间序列的比例因子: (batch_size, 1)
prediction_length – 要生成的样本的时间长度。如果未提供,使用
self.prediction_length
。num_parallel_samples – 要生成的样本数量。如果未提供,使用
self.num_parallel_samples
。temperature – 生成样本时使用的温度。如果未提供,使用
self.temperature
。
- 返回类型
预测结果,形状为 (batch_size, num_parallel_samples, pred_length)
- get_full_features(feat_static_cat: torch.Tensor, feat_static_real: torch.Tensor, past_observed_values: torch.Tensor, past_time_feat: torch.Tensor, future_time_feat: torch.Tensor, future_observed_values: Optional[torch.Tensor], scale: torch.Tensor) torch.Tensor [source]#
通过重复静态特征并将其与时间特征和观察值指示器拼接,为网络准备输入。
- 参数
feat_static_cat – 静态类别特征: (batch_size, num_cat_features)
feat_static_real – 静态实数值特征: (batch_size, num_feat_static_real)
past_observed_values – 过去目标的观察值指示器: (batch_size, receptive_field)
past_time_feat – 过去的时间特征: (batch_size, num_time_features, receptive_field)
future_time_feat – 未来时间特征: (batch_size, num_time_features, pred_length)
future_observed_values – 未来目标的观察值指示器: (batch_size, pred_length)。如果未提供(例如,在推断期间),这将设置为全一。
scale – 时间序列的比例因子: (batch_size, 1)
- 返回值
包含所有准备好传递给网络的特征的张量。
网络。
形状 ((batch_size, num_features, receptive_field + pred_length))
- 损失(feat_static_cat: torch.Tensor, feat_static_real: torch.Tensor, past_target: torch.Tensor, past_observed_values: torch.Tensor, past_time_feat: torch.Tensor, future_time_feat: torch.Tensor, future_target: torch.Tensor, future_observed_values: torch.Tensor, scale: torch.Tensor) torch.Tensor [source]#
loss(feat_static_cat: torch.Tensor, feat_static_real: torch.Tensor, past_target: torch.Tensor, past_observed_values: torch.Tensor, past_time_feat: torch.Tensor, future_time_feat: torch.Tensor, future_target: torch.Tensor, future_observed_values: torch.Tensor, scale: torch.Tensor) torch.Tensor [source]#
- 参数
feat_static_cat – 静态类别特征: (batch_size, num_cat_features)
feat_static_real – 静态实数值特征: (batch_size, num_feat_static_real)
past_target – 过去的目标: (batch_size, receptive_field)
past_observed_values – 过去目标的观察值指示器: (batch_size, receptive_field)
past_time_feat – 过去的时间特征: (batch_size, num_time_features, receptive_field)
future_time_feat – 未来时间特征: (batch_size, num_time_features, pred_length)
计算 wavenet 模型的训练损失。
future_observed_values – 未来目标的观察值指示器: (batch_size, pred_length)。如果未提供(例如,在推断期间),这将设置为全一。
scale – 时间序列的比例因子: (batch_size, 1)
- 返回类型
future_target – 计算损失的目标: (batch_size, pred_length)
- 损失张量,形状为 (batch_size, pred_length)
target_feature_embedding(target: torch.Tensor, features: torch.Tensor) torch.Tensor [source]#
- 参数
提供目标和特征的联合嵌入。
target – 完整目标,形状为 (batch_size, sequence_length)
- 返回值
features – 完整特征,形状为 (batch_size, num_features, sequence_length)
包含目标和特征联合嵌入的张量。
- 形状 ((batch_size, n_residue, sequence_length))