gluonts.mx.model.wavenet 包#

class gluonts.mx.model.wavenet.WaveNet(bin_values: List[float], n_residue: int, n_skip: int, dilation_depth: int, n_stacks: int, act_type: str, cardinality: List[int], embedding_dimension: int, pred_length: int, **kwargs)[source]#

基类:mxnet.gluon.block.HybridBlock

base_net(F, inputs, one_step_prediction=False, queues=None)[source]#

网络的前向传播。

参数
  • F

  • inputs – 网络的输入:(batch_size, n_residue, sequence_length)

  • one_step_prediction – 标志,指示网络是否逐步“展开/传播”(预测阶段)。

  • queues – 包含过去计算的卷积队列。如果 one_step_prediction 为 True,则应提供此参数。

返回

Tuple – 包含网络未归一化输出的张量。形状:(batch_size, pred_length, num_bins)。一个列表,包含每一层的卷积队列。对应于层 l 的队列形状为:(batch_size, n_residue, 2^l)。

返回类型

(Tensor, List)

get_full_features(F, feat_static_cat: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol], past_observed_values: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol], past_time_feat: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol], future_time_feat: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol], future_observed_values: Optional[Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]], scale: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol])[source]#

通过重复静态特征并将其与时间特征和观测值指示符连接起来,为网络准备输入。

参数
  • F

  • feat_static_cat – 静态分类特征:(batch_size, num_cat_features)

  • 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, n_stacks)[source]#

返回感受野的长度。

is_last_layer(i)[source]#
target_feature_embedding(F, target, features)[source]#

为目标和特征提供联合嵌入。

参数
  • F

  • target ((batch_size, sequence_length)) –

  • features ((batch_size, num_features, sequence_length)) –

返回

一个张量,包含目标和特征的联合嵌入。形状:(batch_size, n_residue, sequence_length)

返回类型

张量

class gluonts.mx.model.wavenet.WaveNetEstimator(freq: str, prediction_length: int, trainer: gluonts.mx.trainer._base.Trainer = gluonts.mx.trainer._base.Trainer(add_default_callbacks=True, callbacks=None, clip_gradient=10.0, ctx=None, epochs=200, hybridize=False, init='xavier', learning_rate=0.01, num_batches_per_epoch=50, weight_decay=1e-08), cardinality: List[int] = [1], seasonality: Optional[int] = None, embedding_dimension: int = 5, num_bins: int = 1024, hybridize_prediction_net: bool = False, n_residue=24, n_skip=32, dilation_depth: Optional[int] = None, n_stacks: int = 1, train_window_length: Optional[int] = None, temperature: float = 1.0, act_type: str = 'elu', num_parallel_samples: int = 200, train_sampler: Optional[gluonts.transform.sampler.InstanceSampler] = None, validation_sampler: Optional[gluonts.transform.sampler.InstanceSampler] = None, batch_size: int = 32, negative_data: bool = False)[source]#

基类:gluonts.mx.model.estimator.GluonEstimator

采用 Wavenet 架构和量化目标的模型。

参数
  • freq – 用于训练和预测的数据频率

  • prediction_length (int) – 预测范围的长度

  • trainer – 要使用的训练器对象(默认值:Trainer())

  • cardinality – 每个分类特征的值的数量(默认值:[1])

  • embedding_dimension – 分类特征嵌入的维度(所有嵌入使用相同的维度,默认值:5)

  • num_bins – 用于信号量化的 bin 数量(默认值:1024)

  • hybridize_prediction_net – 布尔值(默认值:False)

  • n_residue – Wavenet 架构中的残差通道数(默认值:24)

  • n_skip – Wavenet 架构中的跳跃连接通道数(默认值:32)

  • dilation_depth – Wavenet 架构中的空洞卷积层数。如果设置为 None(默认值),则 dialation_depth 将被设置为使感受野长度至少等于该频率的典型季节性长度,并且至少为 2 * prediction_length。

  • n_stacks – Wavenet 架构中的空洞卷积堆栈数(默认值:1)

  • temperature – 用于从 softmax 分布采样的温度。对于 temperature = 1.0(默认值),采样根据估计概率进行。

  • act_type – 输出层之前使用的激活类型(默认值:“elu”)。可以是 ‘elu’、‘relu’、‘sigmoid’、‘tanh’、‘softrelu’、‘softsign’ 中的任何一个。

  • num_parallel_samples – 每个时间序列的评估样本数,用于增加推理期间的并行性。这是一种模型优化,不影响准确性(默认值:200)

  • train_sampler – 控制训练期间窗口的采样。

  • validation_sampler – 控制验证期间窗口的采样。

  • batch_size – 训练和预测中使用的批次大小。

create_predictor(transformation: gluonts.transform._base.Transformation, trained_network: mxnet.gluon.block.HybridBlock) gluonts.model.predictor.Predictor[source]#

创建并返回一个预测器对象。

参数
  • transformation – 应用于模型输入数据之前的转换。

  • module – 训练好的 HybridBlock 对象。

返回

一个包装了用于推理的 HybridBlock 的预测器。

返回类型

预测器

create_training_data_loader(data: gluonts.dataset.Dataset, **kwargs) Iterable[Dict[str, Any]][source]#

为训练目的创建一个数据加载器。

参数

data – 用于创建数据加载器的数据集。

返回

数据加载器,即数据批次的迭代器。

返回类型

DataLoader

create_training_network() gluonts.mx.model.wavenet._network.WaveNetTraining[source]#

创建并返回用于训练(即计算损失)的网络。

返回

根据输入数据计算损失的网络。

返回类型

HybridBlock

create_transformation() gluonts.transform._base.Transformation[source]#

创建并返回训练和推理所需的转换。

返回

在训练和推理时,将按条目应用于数据集的转换。

返回类型

Transformation

create_validation_data_loader(data: gluonts.dataset.Dataset, **kwargs) Iterable[Dict[str, Any]][source]#

为验证目的创建一个数据加载器。

参数

data – 用于创建数据加载器的数据集。

返回

数据加载器,即数据批次的迭代器。

返回类型

DataLoader

lead_time: int#
prediction_length: int#
class gluonts.mx.model.wavenet.WaveNetSampler(bin_values: List[float], num_samples: int, temperature: float = 1.0, **kwargs)[source]#

基类:gluonts.mx.model.wavenet._network.WaveNet

使用缓存以自回归方式运行 Wavenet 生成以提高速度 [PKC+16]

参数与 WaveNet 相同。此外

参数
  • pred_length – 预测范围的长度

  • num_samples – 在图计算中并行生成的样本路径数

  • temperature – 如果设置为 1.0(默认值),则根据估计概率采样;如果设置为 0.0,则选择每一步中最可能的样本。

  • post_transform – 一个可选的后处理转换,将应用于样本

get_initial_conv_queues(F, past_target, features)[source]#

构建保存中间计算结果的卷积队列。

参数
  • F

  • past_target ((batch_size, receptive_field)) –

  • features ((batch_size, num_features, receptive_field)) –

返回

一个列表,包含每一层的卷积队列。对应于层 l 的队列形状为:(batch_size, n_residue, 2^l)。

返回类型

List

hybrid_forward(F, feat_static_cat: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol], past_target: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol], past_observed_values: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol], past_time_feat: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol], future_time_feat: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol], scale: Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol]) Union[mxnet.ndarray.ndarray.NDArray, mxnet.symbol.symbol.Symbol][source]#

计算 wavenet 模型的训练损失。

参数
  • F

  • feat_static_cat – 静态分类特征:(batch_size, num_cat_features)

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

返回

预测样本,形状为 (batch_size, num_samples, pred_length)

返回类型

张量