Python 导出张量流概率';s隐马尔可夫模型

Python 导出张量流概率';s隐马尔可夫模型,python,tensorflow,tensorflow-probability,Python,Tensorflow,Tensorflow Probability,我想导出HMM模型,因为每次训练都需要时间。我的方法是将所有矩阵保存在文件中。我想知道有没有tensorflow的方法?也可以将它与API导出到C++等其他语言。< p>您可以通过调用变量> /Cuth>属性>代码> TFP。比如: 将tensorflow导入为tf 导入tensorflow_概率作为tfp hmm=tfp.distributions.HiddenMarkovModel( 初始分布=tfp.distributions.Categorical(logits=tf.Variable(

我想导出HMM模型,因为每次训练都需要时间。我的方法是将所有矩阵保存在文件中。我想知道有没有tensorflow的方法?也可以将它与API导出到C++等其他语言。

< p>您可以通过调用<代码>变量> /Cuth>属性>代码> TFP。比如:

将tensorflow导入为tf
导入tensorflow_概率作为tfp
hmm=tfp.distributions.HiddenMarkovModel(
初始分布=tfp.distributions.Categorical(logits=tf.Variable([0,0]),
转换分布=tfp.distributions.Categorical(logits=tf.Variable([[0,0]]]]*2)),
观察分布=tfp分布。正态(tf变量([0,0]),
tfp.util.TransformedVariable([1,1],tfp.bijectors.Softplus(low=1e-3)),
步骤数=10)
x=hmm.sample(100)
opt=tf.optimizers.Adam(0.01)
@功能
定义一个步骤():
将tf.GradientTape()作为t:
nll=-hmm.log\u prob(x)
梯度=t.梯度(nll,hmm.可训练的变量)
选择应用梯度(zip(梯度,hmm,可训练的变量))
对于范围(10)内的uu:
一步
Foo类(tf.模块):
定义初始化(self,hmm):
自我。_-hmm=hmm
@函数(输入\u签名=[tf.TensorSpec.from\u tensor(x)])
def log_prob(自身,x):
返回self.\uhmm.log\uprob(x)
tf.saved_model.save(Foo(hmm),“/tmp/tf.model”)
q=tf.saved_model.load('/tmp/tf.model')
q、 对数概率(x)