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))

static get_receptive_field(dilation_depth: int, num_stacks: int) int[source]#
损失(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))