[英]How to correctly use tensorflow_probability to sampling from random variables' function?
[英]How to use HiddenMarkovModel from tensorflow probability?
我正在关注本教程:
其中包含引用和使用 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-probability
( pip 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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.