我正在学习本教程:
其中包含引用和使用tfp中的HiddenMarkovModel类的代码。本教程中执行此操作的代码如下所示:
import tensorflow_probability as tfp
from tensorflow_probability import distributions as tfd
hmm = tfd.HiddenMarkovModel(
initial_distribution=tfd.Categorical(
logits=batch_initial_state_logits),
transition_distribution=tfd.Categorical(probs=batch_transition_probs),
observation_distribution=tfd.Poisson(trainable_rates),
num_steps=len(observed_counts))然而,当我读到这一行时,我得到了以下错误:
AttributeError: module 'tensorflow_probability.python.distributions' has no attribute 'HiddenMarkovModel'在此处查看tfp中的发行版本文档:
https://www.tensorflow.org/probability/api_docs/python/tfp/distributions
我看到没有名为HiddenMarkovModel的类,所以我想知道我做错了什么,无法获得教程使用的这个类?这是一个官方教程,所以我不能想象它是“错误的”,并且没有HiddenMarkovModel类存在。
发布于 2019-02-12 01:10:59
目前的稳定版本0.5是在一段时间前发布的。API文档与该版本匹配。我们正在为版本0.6做准备,它有HMM。同时,您可以改为每晚安装tfp,以获得最新的好处。然后,您应该确保卸载已有的(pip uninstall tensorflow-probability),并以类似的方式安装tf-nightly来代替TensorFlow稳定。哈!感谢您使用tfp!
发布于 2021-02-22 12:42:14
正如@wpercy在他的评论中提到的那样,参考Github存储库总是一个好主意。在过去的4天里,我一直在纠结这个问题。只需参考Github代码库,自己查看层次结构即可。
例如,对于HiddenMarkovModel,在Git GUI的“转到文件”选项中搜索它,结果显示HiddenMarkovModel实际上是hidden_markov_model.py中的一个类。因此,正确的导入语句将变为from tensorflow_probability.python.distributions.hidden_markov_model import HiddenMarkovModel。
类似的方法也适用于from tensorflow_probability.python.distributions.categorical import Categorical等其他函数
https://stackoverflow.com/questions/54612633
复制相似问题