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)
- 返回类型
张量
- 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]#
创建并返回训练和推理所需的转换。
- 返回
在训练和推理时,将按条目应用于数据集的转换。
- 返回类型
- 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)
- 返回类型
张量