繁体   English   中英

如何从张量流概率中使用 HiddenMarkovModel?

[英]How to use HiddenMarkovModel from tensorflow probability?

我正在关注本教程:

https://github.com/tensorflow/probability/blob/master/tensorflow_probability/examples/jupyter_notebooks/Multiple_changepoint_detection_and_Bayesian_model_selection.ipynb

其中包含引用和使用 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 类。

当前的稳定版本 0.5 是不久前发布的。 API 文档与该版本匹配。 我们正在准备发布 0.6,其中有 HMM。 与此同时,您可以安装 tfp-nightly,以获得最新的好处。 然后,您应该确保卸载您拥有的pip uninstall tensorflow-probabilitypip uninstall tensorflow-probability )并类似地安装 tf-nightly 代替 TensorFlow stable。 哼! 感谢您使用 tfp!

正如@wpercy 在他的评论中提到的,参考 Github 存储库总是一个好主意。 在过去的 4 天里,我一直在解决这个问题。 只需参考 Github 存储库,然后自己查看层次结构即可。

例如,对于HiddenMarkovModel,在Git GUI的'Go to file'选项中搜索,发现HiddenMarkovModel实际上是hidden_​​markov_model.py中的一个类。 所以正确的导入语句变成from tensorflow_probability.python.distributions.hidden_markov_model import HiddenMarkovModel

同样适用于其他函数,如from tensorflow_probability.python.distributions.categorical import Categorical

查看https://github.com/tensorflow/probability/blob/master/tensorflow_probability/python/distributions/hidden_​​markov_model.py以了解更多问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM