zl程序教程

您现在的位置是:首页 >  Java

当前栏目

成功解决 ModuleNotFoundError: No module named ‘gluonts.torch.modules.distribution_output‘

2023-02-18 16:33:38 时间

pytorch-ts 是一个基于 PyTorch 和 GluonTS 后端的概率时间序列预测框架。可以使用 pip3 install 直接安装。

pip3 install pytorchts

然而安装好后导入相关的依赖库却报错如下:

import matplotlib.pyplot as plt
import pandas as pd
import torch

from gluonts.dataset.common import ListDataset
from gluonts.dataset.util import to_pandas

from pts.model.deepar import DeepAREstimator
from pts import Trainer
import warnings

warnings.filterwarnings("ignore")

Github Issues 上看到有几个人讨论,但没有给出满意的答案。

这个报错很容易分析:No module named 'gluonts.torch.modules.distribution_output',找不到这个模块,根据经验判断大概率是版本问题,新版本的 api 有些变了。去 GluonTS 官方文档检索可以发现:

pip3 install pytorchts 安装的话,gluonts 默认安装的最新版本 0.11.3,调用 distribution_output 的方式应为如下代码:

from gluonts.torch.distributions.distribution_output import DistributionOutput

所以解决方案一:将源码里的调用 distribution_output 的代码都改为新版本的方式。但这可能又会有其他问题,比较麻烦。最简单的方法就是降低 gluonts 的版本,如下:

pip install gluonts==0.9.6

然后成功解决了报错!


参考链接: